Wednesday 22 January 2014

Software Testing Life Cycle (STLC) is one of the phases of the SDLC.


Testing department will deals with this STLC Concept.
STLC describes the validation approach of a project /product based on client requirements and expectations.
The phases involved in STLC is

*      Test Initiation: Once the testing department receives the project, the test manager analyzes the application functionalities along with the risk factors (resources, technology, schedule and support) and efforts estimation then finally prepares the test strategy document using BRS , FRS documents.
         The test strategy document is a high level document prepared by Test manager at the initial stages of testing. The document contains testing approach, available resources in terms of tools and standards to be followed during testing.

*      Test Planning: After the preparation of test strategy document, the test lead will prepares test plan document based on the released build from development team.
          The test plan document is a dynamic document (changes according to the released build). It contains information regarding testing approach, test environment, Test engineer names and their responsibilities, risks and mitigations, entry and exit criteria, features to be tested, features not to be tested etc… in detail. The Test plan document is explained in detail later.

*      Test case Design: Once test plan document gets approval from high level team the testing team starts designing test cases with the help of internal training sessions (KT’s).
           With the help of BRS , FRS, Use case documents and test scenarios (provided by test lead) test engineer’s starts designing test cases using test case design techniques and stored in the standard test case design templates of the organization. The template is explained later in detail.

Rules of designing test cases
Ø  Should be simple, easy and understandable.
Ø  Naming convention should be followed.
Ø  Every test case should have the high possibility of identifying defects.
Ø  No duplicate/Redundant.
Ø  Test cases should be consistent.   

Types of Test Cases: Based on the purpose they designed test cases are categorized into 4.
GUI Test cases: Designed to verify the Look –n- feel of the application.
Usability Test cases: Designed to verify the user friendliness of the application to perform operations.
Validation Test cases: Designed to validate the input components. Also called as field level validation test cases
Functionality Test cases: Designed to verify the application behavior based on user operations.

Note: While validating the functionality,
If the test cases are designed to validate the positive flow of events is known as Positive test cases.
If the test cases are designed to validate the negative flow of events is known as Negative test cases.

*      Test Execution: Once done with designing, the written test cases are interchanged among them for cross checking, and then Test Lead will give permission to Test engineers for test cases execution.

Execution is performed in different levels.

Level0 (Sanity/ Smoke Test): Initially, whenever the build is deployed at test environment, Test engineers will perform sanity test to check for the build stability
If stable à moves to next level of execution
Not stable à Rejects the build and requests for the patch files, then moves to the next level of execution.
Level1 (Real/ Comprehensive Testing): In general test cases are gathered based on the application functionalities and forms Test suites. Now these test suites are executed, According to the obtained result the test engineer manages the result status with the following words
Passed: When expected result matches with the actual result.
Failed: When expected result does not matches with the actual result.
Blocked: Due to parent functionality failure not possible to execute the test suite.
Not completed: When some of the steps in test cases need to execute.
Level2 (Re-testing & Regression Testing):  If there are defects identified , those are reported to the development team, After getting the defects fixed the development team releases the modified build to the testing team. The testing team will perform re-testing and regression testing to make sure the defects is resolved and no other areas of the applications are affected due to defect fixing work.
Level3 (Final Regression Testing): This is called end-to-end testing. As a final testing, all the major functionalities are tested before release of the application.

*      Defect reporting and Defect Tracking:  During execution, if the test engineers identify any deviation then they prepare defect profile according to the organization standards and reports to the development team are known as Defect reporting.
Defect reporting can be done either manually or by automation tools.
Finally after reporting, the test engineers have to make sure those defects are resolved is known as defect tracking.

Defect reporting can be done in 2 ways.
Test engineers with below 2 yrs of experience have to send those defects to their test lead.
Test engineers with above 2 yrs of experience can directly report to the development team along with the test lead.

Defect report template is explained later in detail.

*      Test Closure: Based on the exit criteria mentioned in the test plan document, the testing team closes the testing process by wrapping all the resource files and setup environment used in testing and sending to the maintenance team.  
Every phase of STLC is very important …each phase will be explaining with real time examples tomorrow posts. 

No comments:

Post a Comment