0% found this document useful (0 votes)
7 views16 pages

Software Testing.

The document provides a comprehensive overview of software testing fundamentals, including its importance in the software development lifecycle (SDLC) and the software testing lifecycle (STLC). It covers various types of testing, testing techniques, and the roles and skills required for careers in software testing. Additionally, it highlights the advantages and limitations of software testing, emphasizing its critical role in ensuring software quality and reliability.

Uploaded by

riyakhairnar17
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views16 pages

Software Testing.

The document provides a comprehensive overview of software testing fundamentals, including its importance in the software development lifecycle (SDLC) and the software testing lifecycle (STLC). It covers various types of testing, testing techniques, and the roles and skills required for careers in software testing. Additionally, it highlights the advantages and limitations of software testing, emphasizing its critical role in ensuring software quality and reliability.

Uploaded by

riyakhairnar17
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

📘 Scholarship Exam – Study Material

Domain: Software Testing Fundamentals

Introduction to Software Testing

Software Testing is the process of evaluating a software application to ensure that it meets
specified requirements and functions correctly. It involves identifying errors, bugs, or missing
requirements in a system.

Testing is an essential phase in the software development lifecycle (SDLC). It ensures that the
software is reliable, secure, and performs as expected before it is delivered to users.

Without proper testing, software may fail, causing financial loss, security issues, and poor user
experience.

Objectives of Software Testing

The primary goals of software testing are:

 To identify defects and errors


 To ensure software quality
 To verify functionality
 To validate user requirements
 To improve performance and reliability

Testing helps ensure that the final product is free from major issues and is ready for deployment.

Software Development Life Cycle (SDLC)

Software testing is part of SDLC, which includes:

1. Requirement Analysis
2. Design
3. Development
4. Testing
5. Deployment
6. Maintenance

Testing is mainly performed after development but may also be integrated into earlier stages.
Software Testing Life Cycle (STLC)

STLC defines the phases involved in testing:

 Requirement Analysis
 Test Planning
 Test Case Development
 Test Execution
 Defect Reporting
 Test Closure

Each phase ensures a systematic approach to testing.

Types of Software Testing


1. Manual Testing

Testing performed by humans without automation tools.

2. Automation Testing

Testing performed using software tools and scripts.

3. Functional Testing

Verifies that the system works according to requirements.

4. Non-Functional Testing

Tests performance, usability, and reliability.

Levels of Testing
Unit Testing

Testing individual components or modules.

Integration Testing

Testing combined modules.


System Testing

Testing the complete system.

Acceptance Testing

Testing done by users or clients.

Testing Techniques
Black Box Testing

Testing without knowledge of internal code.

White Box Testing

Testing with knowledge of internal code.

Grey Box Testing

Combination of both approaches.

Test Cases and Test Scenarios

A test case is a set of conditions used to test a feature.

Components of Test Case:

 Test ID
 Description
 Input data
 Expected result
 Actual result

Test scenarios describe what needs to be tested.

Defects and Bug Life Cycle

A defect is an error in the software.


Bug Life Cycle:

 New
 Assigned
 Open
 Fixed
 Retested
 Closed

Proper defect management ensures quality.

Verification vs Validation
Verification

Checking whether the product is built correctly.

Validation

Checking whether the right product is built.

Manual Testing Process

Steps involved:

 Understand requirements
 Create test cases
 Execute test cases
 Report bugs
 Retest fixes

Manual testing is important for usability and exploratory testing.

Automation Testing

Automation uses tools to execute test cases.

Benefits:

 Faster execution
 Reusability
 Accuracy

Tools:

 Selenium
 TestNG
 JUnit

Performance Testing

Tests system performance under load.

Types:

 Load testing
 Stress testing
 Scalability testing

Security Testing

Ensures system is protected from threats.

Focus Areas:

 Authentication
 Authorization
 Data protection

Usability Testing

Checks how user-friendly the software is.

Key Aspects:

 Ease of use
 Interface design
 User experience
Regression Testing

Ensures new changes do not affect existing functionality.

Performed after bug fixes or updates.

Test Documentation

Important documents include:

 Test plan
 Test cases
 Test reports

Documentation ensures clarity and traceability.

Software Testing Tools

Common tools used in testing:

 Selenium (automation)
 JIRA (bug tracking)
 LoadRunner (performance testing)

Advantages of Software Testing

 Improves quality
 Reduces risk
 Ensures reliability
 Enhances user satisfaction

Limitations of Software Testing

 Time-consuming
 Costly
 Cannot guarantee 100% bug-free software
Careers in Software Testing
Job Roles:

 Software Tester
 QA Engineer
 Test Analyst
 Automation Tester

Skills Required:

 Analytical thinking
 Attention to detail
 Basic programming
 Understanding of SDLC

Real-Life Example

An e-commerce website is tested before launch to ensure:

 Products display correctly


 Payment works properly
 No errors occur during checkout

Testing ensures smooth user experience.

Revision Summary

 Software testing ensures quality


 Includes manual and automation testing
 Test cases define testing steps
 Bug life cycle tracks defects
 Testing improves reliability

Conclusion

Software testing is a critical process in software development. It ensures that applications


function correctly, securely, and efficiently.

With the growing demand for quality software, testing has become an essential skill and a
promising career option.
📘 Scholarship Exam – MCQ Questions
Domain: Software Testing Fundamentals

1–15: Basics of Software Testing

1. What is software testing?


a) Writing code
b) Evaluating software quality ✅
c) Designing UI
d) Installing software
2. Software testing helps to:
a) Increase bugs
b) Find defects ✅
c) Delete code
d) Build hardware
3. Testing is part of:
a) SDLC ✅
b) Hardware cycle
c) Manufacturing
d) Networking
4. Main goal of testing is:
a) Delay project
b) Ensure quality ✅
c) Increase cost
d) Reduce users
5. Software testing identifies:
a) Features
b) Bugs ✅
c) Design
d) Tools
6. Testing improves:
a) Errors
b) Reliability ✅
c) Failures
d) Risks
7. Testing is done:
a) Before development
b) After development mainly ✅
c) Never
d) Only once
8. Testing ensures:
a) System failure
b) Proper functioning ✅
c) Data loss
d) Errors
9. Software testing is:
a) Optional
b) Essential ✅
c) Unnecessary
d) Rare
10. Testing checks:
a) Code only
b) Requirements and functionality ✅
c) Hardware
d) Network
11. Testing helps in:
a) Quality assurance ✅
b) Cooking
c) Driving
d) Painting
12. Testing reduces:
a) Quality
b) Risks ✅
c) Output
d) Speed
13. Software testing ensures:
a) Poor performance
b) Better performance ✅
c) No testing
d) No users
14. Testing is required for:
a) Small apps only
b) All software ✅
c) Hardware only
d) Networks only
15. Testing ensures software is:
a) Faulty
b) Reliable ✅
c) Broken
d) Slow

16–30: SDLC & STLC

16. SDLC stands for:


a) Software Development Life Cycle ✅
b) System Data Life Cycle
c) Software Design Level Code
d) System Development Layer Code
17. First phase of SDLC is:
a) Testing
b) Requirement Analysis ✅
c) Deployment
d) Maintenance
18. STLC stands for:
a) Software Testing Life Cycle ✅
b) System Testing Level Code
c) Software Task Life Cycle
d) System Task Logic Code
19. STLC includes:
a) Testing phases ✅
b) Coding
c) Designing
d) Networking
20. Test planning is part of:
a) SDLC
b) STLC ✅
c) Coding
d) Deployment
21. Test execution means:
a) Writing code
b) Running test cases ✅
c) Designing UI
d) Installing software
22. Test closure means:
a) Start testing
b) End testing process ✅
c) Code writing
d) Deployment
23. Requirement analysis in STLC is:
a) Coding
b) Understanding requirements ✅
c) Deployment
d) Maintenance
24. Test case development is:
a) Writing test steps ✅
b) Coding
c) Designing
d) Deployment
25. Defect reporting is:
a) Ignoring bugs
b) Reporting bugs ✅
c) Fixing bugs
d) Creating bugs
26. Maintenance phase comes:
a) First
b) Last ✅
c) Middle
d) Before testing
27. Deployment means:
a) Coding
b) Releasing software ✅
c) Testing
d) Designing
28. SDLC includes:
a) Development
b) Testing
c) Deployment
d) All of the above ✅
29. STLC focuses on:
a) Development
b) Testing process ✅
c) Coding
d) Networking
30. Testing phase occurs:
a) Before coding
b) After development ✅
c) After deployment
d) Before design

31–45: Types & Levels of Testing

31. Manual testing is done by:


a) Machines
b) Humans ✅
c) Robots
d) AI
32. Automation testing uses:
a) Humans
b) Tools and scripts ✅
c) Paper
d) Hardware
33. Functional testing checks:
a) Performance
b) Functionality ✅
c) Speed
d) Storage
34. Non-functional testing checks:
a) Features
b) Performance and usability ✅
c) Code
d) Data
35. Unit testing tests:
a) Entire system
b) Small components ✅
c) Network
d) UI
36. Integration testing tests:
a) Single module
b) Combined modules ✅
c) Entire system
d) UI
37. System testing tests:
a) Whole system ✅
b) Small parts
c) Code
d) Network
38. Acceptance testing is done by:
a) Developers
b) Users/clients ✅
c) Machines
d) Tools
39. Regression testing checks:
a) New features
b) Old functionality after changes ✅
c) Performance
d) UI
40. Performance testing checks:
a) Design
b) Speed and load ✅
c) Code
d) UI
41. Security testing checks:
a) Speed
b) Protection from threats ✅
c) UI
d) Code
42. Usability testing checks:
a) Speed
b) User-friendliness ✅
c) Code
d) Security
43. Load testing checks:
a) Data
b) System under load ✅
c) Code
d) UI
44. Stress testing checks:
a) Normal load
b) Extreme conditions ✅
c) UI
d) Code
45. Scalability testing checks:
a) Growth handling ✅
b) UI
c) Code
d) Data

46–60: Testing Techniques & Defects

46. Black box testing means:


a) With code knowledge
b) Without code knowledge ✅
c) Coding
d) Designing
47. White box testing means:
a) Without code
b) With code knowledge ✅
c) UI testing
d) Data testing
48. Grey box testing is:
a) No knowledge
b) Partial knowledge ✅
c) Full knowledge
d) No testing
49. Test case includes:
a) Input
b) Expected output
c) Both a & b ✅
d) None
50. Test scenario defines:
a) How to test
b) What to test ✅
c) Where to test
d) When to test
51. Bug is:
a) Feature
b) Defect ✅
c) Tool
d) Code
52. Defect life cycle tracks:
a) Code
b) Bug status ✅
c) Data
d) UI
53. First stage of bug life cycle:
a) Closed
b) New ✅
c) Fixed
d) Retested
54. After fixing bug comes:
a) Closed
b) Retested ✅
c) New
d) Open
55. Final stage is:
a) Open
b) Closed ✅
c) Fixed
d) Assigned
56. Verification means:
a) Right product
b) Built correctly ✅
c) Testing
d) Coding
57. Validation means:
a) Built correctly
b) Right product ✅
c) Coding
d) Designing
58. Test case result can be:
a) Pass or Fail ✅
b) Only pass
c) Only fail
d) None
59. Bug fixing is done by:
a) Tester
b) Developer ✅
c) User
d) Manager
60. Retesting means:
a) Testing again after fix ✅
b) New test
c) No test
d) Final test

61–75: Tools, Careers & Concepts

61. Selenium is used for:


a) Manual testing
b) Automation testing ✅
c) Coding
d) UI
62. JIRA is used for:
a) Coding
b) Bug tracking ✅
c) UI design
d) Deployment
63. LoadRunner is used for:
a) UI
b) Performance testing ✅
c) Coding
d) Data
64. Test plan defines:
a) Strategy ✅
b) Code
c) UI
d) Data
65. Test report shows:
a) Results ✅
b) Code
c) UI
d) Data
66. Automation testing is:
a) Slow
b) Fast ✅
c) Manual
d) Hard
67. Testing limitation is:
a) Free
b) Costly ✅
c) Easy
d) Fast
68. Testing cannot ensure:
a) Quality
b) 100% bug-free software ✅
c) Reliability
d) Performance
69. QA stands for:
a) Quality Assurance ✅
b) Quick Access
c) Query Analysis
d) Quality Action
70. Software tester role is:
a) Coding
b) Testing software ✅
c) Designing
d) Driving
71. QA engineer ensures:
a) Speed
b) Quality ✅
c) Data
d) UI
72. Test analyst analyzes:
a) Bugs and tests ✅
b) Code
c) UI
d) Data
73. Automation tester uses:
a) Tools ✅
b) Paper
c) Manual work
d) None
74. Software testing career requires:
a) Cooking
b) Analytical skills ✅
c) Driving
d) Farming
75. Testing future is:
a) Declining
b) Growing ✅
c) Ending
d) Static

You might also like