STLC is a common interview topic. To make interview preparation easier for you, we've put the most common questions (and answers) together, in one place.
It’s important for a software tester to know the Software Testing Life Cycle and its phases so they can perform testing as a sequential and strategic process. No wonder the topic regularly appears in interview questions for the position of Software Tester. To help you best prepare for your interview, read on to find answers to the kinds of questions you might be asked.
What is a Software Testing Life Cycle (STLC)?
STLC means a software testing process divided into specific phases which are executed sequentially with the aimed of improving the quality of system under test.
What are the phases of STLC?
The phases can differ slightly, depending on the software development model used, system architecture and the nature of the project. Most commonly, the following phases of STLC are the most commonly recognised:
- Requirements Analysis
- Test Planning
- Test Design
- Test Environment Setup
- Test Execution
- Test Closure
What is the difference between SDLC and STLC?
Software Development Life Cycle (SDLC) is a process of software development, presented as a set of sequential phases such as:
- Analysis and Design
- Implementation (Coding)
- Deployment and Maintenance (in some sources called ‘Evolution,’ to emphasize the importance of Retrospective analysis and Lessons Learned practices which become a background for another software development cycle)
So it can be said that the Software Testing Life Cycle is a part of the Software Development Life Cycle, and represents testing activities held within it. A rule of thumb is to have a testing activity for every development activity, and to start it as early as possible. For instance, test design for each test level should start in parallel with the corresponding development activity.
What activities are performed in each phase of STLC?
Requirements Analysis – The requirements are gathered, examined and tested. Issues in Software Requirements Specifications (SRS) are detected. Automation feasibility is evaluated.
Test Planning – In this phase, the test objectives are defined, test strategy and test plan created and test effort estimated. Tools and resources are then determined.
Test Design – This phase implies the designing of test cases, creation of automation test scripts and preparation of test data.
Test Environment Setup – During this phase, the environment and test data are setup and a smoke test is usually run to confirm that the environment is ready. This phase is sometimes excluded from STLC, being performed separately but in some cases, it is not distinguished as a separate phase and is considered part of Test Design.
Test Implementation – This is when the actual testing takes place. Functional and non-functional types of testing are executed, test cases and test scripts are run, bugs logged and test results reported. Regression testing, bugs verification and closure also belong to this phase.
Test Closure – During this phase, we prepare test summary report and gather test metrics and report them to stakeholders. We also archive the project documents and hold Lessons Learned sessions to improve efficiency of future projects.
What types of SRS (Software Requirement Specifications) issues can be detected during the review of requirements?
Anything that doesn’t conform to the criteria of good requirements, such as the following:
- Testable (verifiable)
- Clear and concise
What is the purpose of the test closure phase?
Test closure activities have several goals, such as to:
- Ensure the completion of testing
- Gather and handover test artifacts
- Hold retrospective meetings and come up with Lessons Learned
How would you define that testing is sufficient and it’s time to enter the Test Closure phase?
The exit criteria is defined at the test planning stage and can include the following items which can signify the end of testing activities:
- Sufficient coverage of requirements by test cases is achieved
- All test cases planned for the phase have been executed
- All critical and high priority bugs are fixed and verified
- High risk areas are addressed and properly tested
- Acceptance testing is passed
At which phase is the test environment prepared?
If it is to be focused on separately, this phase is usually prepared during Test Environment Setup. If not, this activity usually falls into the Test Design phase.
Which phase of STLC includes bugs closure activities?
The Test Execution phase is where the actual testing activities are performed.
How do you map STLC to SDLC? Specify what testing activities are held in each phase of SDLC.
As previously mentioned, it is recommended that testing activity starts as early as possible in the corresponding SDLC phase. In real life, though, it does not always happen this way.
|Phase of SDLC||Phase of STLC||Testing Activities|
|Planning||Requirements Analysis||Analyze and test the requirements
Evaluate automation feasibility
|Analysis and Design||Test Planning||Create test plan
Evaluate tools and resources
Estimate test effort
|Implementation||Test Design and Environment Setup||Create test cases and test scripts
Prepare test environment
Setup test data
Perform a smoke test
|Testing||Test Execution||Execute test cases and test scripts
Perform different types of testing
Do regression testing
Verify bug fixes
|Deployment and Maintenance||Test Closure||Prepare test reports
Provide test metrics to stakeholders
Hold Lessons Learned sessions and come up with action items for future cycles
Archive test artifacts and results
These are probably the most important and most frequently asked interview questions on STLC. For further reading, take a look at this post on STLC phases and find answers to some Basic Software Testing interview questions.