📘 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