Interview Questions, Answers and Tutorials

STLC – Software Testing Life Cycle

STLC – Software Testing Life Cycle


There is a systematic cycle to software testing, although it varies from organization to organization


Software Testing Life Cycle: Software testing life cycle or STLC refers to a comprehensive group of testing related actions specifying details of every action along with the specification of the best time to perform such actions. There can not be a standardized testing process across various organizations, however every organization involved in software development business, defines & follows some sort of testing life cycle.


STLC by & large comprises of following Six Sequential Phases: 
1) Planning of Tests
2) Analysis of Tests
3) Designing of Tests
4) Creation & Verification of Tests
5) Execution of Testing Cycles
6) Performance Testing, Documentation

7) Actions after Implementation 

Every company follows its own software testing life cycle to suit its own requirements, culture & available resources. The software testing life cycle can’t be viewed in isolation, rather it interacts with the every phase of Software Development Life Cycle (SDLC). Prime focus of the software testing life cycle is on managing & controlling all activities of software testing. Testing might be manual testing or an automated testing using some tool.


1) Planning of Tests: In this phase a senior person like the project manager plans & identifies all the areas where testing efforts need to be applied, while operating within the boundaries of constraints like resources & budget. Unless judicious planning is done in the beginning, the result can be catastrophic with emergence of a poor quality product, dissatisfying the ultimate customer. Planning is not limited just to the initial phase, rather it is a continuous exercise extending till the end. 
During the planning stage, the team of senior level persons comes out with an outline of Testing Plan at High Level. The High Level Test Plan comprehensively describes the following:

  • Scope of Testing : Defining the areas to be tested, identification of features to be covered during testing 
  • Identification of Approaches for Testing: Identification of approaches including types of testing
  • Defining Risks: Identification of different types of risks involved with the decided plan
  • Identification of resources : Identification of resources like man, materials & machines which need to be deployed during Testing
  • Time schedule: For performing the decided testing is aimed to deliver the end product as per the commitment made to the customer.

    Involvement of software testers begins in the planning phase of the software development life cycle. During the design phase, testers work with developers in determining what aspects of a design are testable and with what parameters those tests will work.

2) Analysis of Tests: Based upon the High Level Test Plan Document, further nitty-gritty’s covering the following are worked out.

  • Identification of Types of Testing to be performed during various stages of Software Development Life Cycle.
  • Identification of extent to which automation needs to be done. 
  • Identification of the time at which automation is to be carried out. 
  • Identification of documentation required for automated testing

The Software project can’t be successful unless there is frequent interaction among various teams involved in Coding & Testing with the active involvement of the Project Managers, Business Analysts or even the customer. Any deficiencies in the decided test plans come to the surface, during such meetings of cross-functional teams. This provides an opportunity to have a rethinking & refining the strategies decided for testing.

Based upon the customer requirements a detailed matrix for functional validation is prepared to cover the following areas:

  • Ensure that each & every business requirement is getting covered through some test case or the other.
  • Identification of the test cases best suited to the automated testing
  • Identification of the areas to covered for performance testing and stress testing
  • Carry out detailed review of documentation covering areas like Customer Requirements, Product Features & Specifications and Functional Design etc.

3) Designing of Tests: This phase involves the following:

  • Further polishing of various Test Cases, Test Plans
  • Revision & finalization of Matrix for Functional Validation.
  • Finalization of risk assessment methodologies. 
  • In case line of automation is to be adopted, identification of test cases suitable for automation.
  • Creation of scripts for Test cases decided for automation. 
  • Preparation of test data.
  • Establishing Unit testing Standards including defining acceptance criteria 
  • Revision & finalization of testing environment.

4) Construction and verification: This phase involves the following:

  • Finalization of test plans and test cases
  • Completion of script creation for test cased decided for automation.
  • Completion of test plans for Performance testing & Stress testing.
  • Providing technical support to the code developers in their effort directed towards unit testing.
  • Bug logging in bug repository & preparation of detailed bug report. 
  • Performing Integration testing followed by reporting of defects detected if any.



5) Execution of Testing Cycles: This phase involves the following:

  • Completion of test cycles by executing all the test cases till a predefined stage reaches or a stage of no detection of any more errors reach. 
  • This is an iterative process involving execution of Test Cases, Detection of Bugs, Bug Reporting, Modification of test cases if felt necessary, Fixing of bugs by the developers & finally repeating the testing cycles.

6) Performance Testing, Documentation & Actions after Implementation: This phase involves the following:

  • Execution of test cases pertaining to performance testing & stress testing.
  • Revision & finalization of test documentation 
  • Performing Acceptance testing, load testing followed by recovery testing
  • Verification of the software application by simulating conditions of actual usage.

7) Actions after Implementation: 
This phase involves the following:

  • Evaluation of the entire process of testing. 
  • Documentation of TGR (Things Gone Right) & TGW (Things Gone Wrong) reports. Identification of approaches to be followed in the event of occurrence of similar defects & problems in the future.
  • Creation of comprehensive plans with a view to refine the process of Testing.
  • Identification & fixing of newly cropped up errors on continuous basis.

Winding up of the test environment & restoration of all test equipment to the original base line conditions.

Life Cycle of Software Testing ( STLC )

Phase

Activities

Outcome
Planning of Tests ($) Creation of a Test Plan of High Level Refined Test Plans & Specifications
Analysis of Tests ($) Creation of fully descriptive Test Plan

($) Creation of Matrix for Functional Validation

($) Creation of Test Cases

Refined Test Plans, Test Cases & Matrix for Functional Validation
Designing of Tests  ($) Revision of Test Cases
($) Selection of Test Cases fit for automation
Refined Test Cases, Input Data Sets & Documents for Assessment of Risk
Creation & Verification of Tests ($) Creation of scripts suitable for Test Cases for automation Detailed Procedures for Testing, Testing Scripts, Test Reports & Bug-Reports
Execution of Testing Cycles ($) Completion of Cycles of Testing  Detailed Test Reports & Bug-Reports.
Performance Testing, Documentation ($) Execution of Test Cases related to performance tests & Stress Testing
($) Detailed documentation
Test Reports, Documentation on various metrics used during testing
Actions after Implementation ($) Evaluation of all Processes of Testing Detailed Plans for improving the process of testing

Answer Here…

409 thoughts on “STLC – Software Testing Life Cycle

  1. Definitely believe that which you said. Your favorite reason appeared to be on the web the easiest thing to be aware of. I say to you, I definitely get irked while people think about worries that they just do not know about. You managed to hit the nail upon the top and also defined out the whole thing without having side effect , people could take a signal. Will likely be back to get more. Thanks
    Tangki Panel
    Tangki Fiberglass
    Jual Septic Tank

  2. Thank you so much for sharing such an amazing post with informative information with us. It’s helpful for everyone, keep updating such a wonderful blog you are shared.
    Thank you so much for sharing such an amazing post with informative information with us. It’s helpful for everyone, keep updating such a wonderful blog you are shared.

  3. Good Post! Thank you so much for sharing this pretty post, it was so good to read and useful to improve my knowledge as updated one, keep blogging…This is a great inspiring article.I am pretty much pleased with your good work. You put really very helpful information. Keep it up. Keep blogging. Looking to reading your next post..

    Best Python Training in Chennai | Python Certification Training Centers in Chennai | Python Exams in Chennai | Python Exam Center in Chennai

  4. Thanks for sharing an informative blog keep rocking bring more details.I like the helpful info you provide in your articles. I’ll bookmark your weblog and check again here regularly. I am quite sure I will learn much new stuff right here! Good luck for the next!
    mobile application development training online
    mobile app development course
    mobile application development course
    learn mobile application development
    mobile app development training
    app development training
    mobile application development training
    mobile app development course online
    online mobile application development

  5. This is the perfect webpage for everyone who hopes to understand this topic. You know a whole lot its almost tough to argue with you (not that I personally would want to…HaHa). You definitely put a brand new spin on a topic that’s been written about for ages. Excellent stuff, just wonderful!

Comments are closed.