Showing posts with label STLC. Show all posts
Showing posts with label STLC. Show all posts

Tuesday, March 26, 2013

Test closure

After completion of all the test execution cycles and user acceptance test, the test lead prepares the final test summary report containing all the deliverables.

Defect reporting

After the test execution is done, the testing team prepares a defect summary sheet.

What is a defect?

In general with specific to a project, anything that varies from the actual requirement/functionality is a defect.

Defect Reporting Format

As per the IEEE 829 format a defect report must contain the following

a. Defect Id
b. Description
c. Module
d. Test case name
e. Reproducible
f. Status
g. Severity
h. Priority
i. Reported by
j. Reported on
k. Assign to
l. Build number
m. Fixed by
n. Resolved by
o. Resolved on
p. Resolution type
q. Approved by

Test execution

Once the test case authoring is done and reviewed thoroughly, testing team concentrates on build release from development side/client and test execution on that build.

Test Execution levels:

Once the testing team receives a new build different levels of executions are done.

Level 1 (Smoke Test/Build Verification test/Tester acceptance test/sanity test:

After receiving the initial build, test engineers verify if the basic functionality of the build to estimate the stability for complete testing. In smoke testing only a few test cases from the actual test case suite are selected for execution. If the test engineers find that the build is unstable they reject the build for testing.

Level 2(comprehensive testing)

Once the smoke testing is done and the build is stable, comprehensive testing is done on the build. In this one cycle of execution covering all the test cases is performed. Defects log report is prepared after the execution and sent to development team for fix.

Level 3(Regression Test)

After comprehensive testing is done the initial build and defects are reported. The development team fixes the defects and sends a new build (with defects fixed) to the testing team. The testing team performs regression testing on the new build to verify if the defects are fixes and if any new defects are found because of the previous fixed defects.

Test design

Test design involves authoring of test cases. What is a Test case?

IEEE Standard 610 (1990) defines test case as follows:

“(1) A set of test inputs, execution conditions, and expected results developed for a particular objective, such as to exercise a particular program path or to verify compliance with a specific requirement.

“(2) (IEEE Std 829-1983) Documentation specifying inputs, predicted results, and a set of execution conditions for a test item.”
Test Case Design Techniques

Black box Design Techniques:

a. Equivalence Class Partitioning
b. Boundary Value Analysis
c. Decision Table Testing
d. State Transition Testing
e. Use Case Testing
f. Error Guessing Technique


White Box Design Techniques:

a. Control Flow Testing
b. Data Flow Testing
c. Decision Coverage
d. Statement coverage

 
Key Points to be followed in Designing

A Test case should
    a. Start with the word verify or check
    b. Contain a maximum of 15 steps
    c. Specify what the tester has to perform
    d. Give consistent results irrespective of testers
    e. Be divided into positive and negative scenarios
    f. Has a name and number
    g. Should be reusable
    h. Should be simple and easy to understand

 
Test Case Format

As per the IEEE format a test case should contain the following
a. Test case Id
b. Requirement ID
c. Test Case priority
d. Test Case Authoring Status
e. Authoring Date
f. Test Case Title
g. Pre-Condition
h. Test Data
i. Test Steps
j. Expected Result
k. Actual result
l. Execution status
m. Defect Id
n. Defect Severity
o. Execution Date

In general it can be as follows

Ex: A Test Case to open Note pad



Step no Steps to perform Expected Result Actual Result
1 Click on ‘Start’ Menu on the Left hand bottom of the screen A window containing ‘all programs’ is displayed Same as Expected
2 Click on ‘Run’ A run window is opened with label ‘open’ Run window is successfully opened
3 Enter ‘Notepad’ in the text box and click on ok button Notepad is opened with File, Edit, Format, View and help menu Note pad is successfully opened

Test planning

After test initiation by the project manager, the responsible test lead receives the test strategy and prepares a master test plan based on the test strategy document.

What is Test plan?

Test Plan describes the intended scope, approach, resources and schedule of testing activities.

Test Plan mainly describes the following
a. What to test - Scope for testing
b. How to test – In which Test environment it has to be tested
c. When to test – When to start/stop testing
d. Who to test – Responsible engineers for testing


Components in Test Plan Document:

As per IEEE format the test plan contains the following

a. Test Plan Id
b. Project Id
c. Introduction
d. Test items
e. Features to be tested
f. Features not be tested
g. Test approach
h. Entry criteria
i. Suspension criteria
j. Exit criteria
k. Test environment
l. Test deliverables
m. Staffing and training needs
n. Responsibilities
o. Schedule
p. Risks and mitigation
q. Approvals

Test initiation

Project Manager who is responsible to manage the project prepares a Test Strategy in this phase.

What is Test Strategy?

In general, strategy means making plans to achieve a goal.

The test strategy document focuses mainly on the following

a. Different types of testing that would be followed in the testing life cycle.
b. identifying risk issues etc, earlier so that progress can be evaluated more precisely
c. how testing is to be carried out and where special prominence on different aspects of the system has to be given so that best possible use of resource and time can be made use of. 


This test strategy also forms an important basis for an structured approach to testing which makes the testing process manageable.

Components in Test Strategy Document:

As per the IEEE standard Test strategy document contains the following

a. Scope and Objective
b. Business Issues
c. Test Approach
d. Roles and Responsibilities
e. Communication and Status Reporting
f. test deliverables
g. test automation and testing tools
h. Defect Reporting and Tracking
I. Testing measurements and metrics
j. Change and configuration management
k. Risks and assumptions
l. Training plan
m. test factors
n. Test Factors vs. Testing Techniques

Software Testing Life Cycle

Software Testing Life Cycle (STLC) refers to the steps involved in testing a software from release or in parallel to the development process. There are different stages and the activities to be done in each stage to bring out the quality product or software. 

The different stages are as below

~ Test initiation
~ Test planning
~ Test design
~ Test execution
~ Defect reporting and management
~ Test closure

AI in Software Testing: How Artificial Intelligence Is Transforming QA

For years, software testing has lived under pressure: more features, faster releases, fewer bugs, smaller teams. Traditional QA has done her...