Monday, May 16, 2011

Test Plan

       Test plan template may vary company to company based upon their application and testing process. Here i mentioned the common template which is used by Multi national companies.

Project Name

Test Plan

Document Change History

Version Number      Date            Contributor                           Description
V1.0                      12.04.2011     Perinbarajan.I       What changes like additions and
                                                                                 deletions were made for this version



Table of Contents

1.Introduction
1.1 Scope
1.1.1 In Scope
1.1.2 Out of Scope
1.2 Quality Objective
1.2.1 Primary Objective
1.2.2 Secondary Objective
1.3 Roles and Responsibilities
1.3.1 Developer
1.3.2 Adopter
1.3.3 Testing Process Management Team
1.4 Assumptions for Test Execution
1.5 Constraints for Test Execution
1.6 Definitions

2.Test Methodology
2.1 Purpose
2.1.1 Overview
2.1.2 Usability Testing
2.1.3 Unit Testing (Multiple)
2.1.4 Iteration/Regression Testing
2.1.5 Final release Testing
2.1.6 Testing completeness Criteria
2.2 Test Levels
2.2.1 Build Tests
2.2.2 Milestone Tests
2.2.3 Release Tests
2.3 Bug Regression
2.4 Bug Triage
2.5 Suspension Criteria and Resumption Requirements
2.6 Test Completeness
2.6.1 Standard Conditions:
2.6.2 Bug Reporting & Triage Conditions:

3.Test Deliverables
3.1 Deliverables Matrix
3.2 Documents
3.2.1 Test Approach Document
3.2.2 Test Plan
3.2.3 Test Schedule
3.2.4 Test Specifications
3.2.5 Requirements Traceability Matrix
3.3 Defect Tracking & Debugging
3.3.1 Testing Workflow
3.3.2 Defect reporting using G FORGE
3.4 Reports
3.4.1 Testing status reports
3.4.2 Phase Completion Reports
3.4.3 Test Final Report - Sign-Off
3.5 Responsibility Matrix

4.Resource & Environment Needs
4.1 Testing Tools
4.1.1 Tracking Tools
4.2 Test Environment
4.2.1 Hardware
4.2.2 Software
4.3 Bug Severity and Priority Definition
4.3.1 Severity List
4.3.2 Priority List
4.4 Bug Reporting

5.Terms/Acronyms

Monday, May 9, 2011

Responsibilities of Test manager/Lead

1.Understand the testing effort by analyzing the requirements of project.
2.Estimate and obtain management support for the time,resources and budget required to perform the testing.
3.Organize the testing kick-off meeting
4.Define the Strategy
5.Build a testing team of professionals with appropriate skills, attitudes and motivation.
6.Identify Training requirements and forward it to the Project Manager (Technical and Soft skills).
7.Develop the test plan for the tasks, dependencies and participants required to mitigate the risks to system quality and obtain stakeholder support for this plan.
8.Arrange the Hardware and software requirement for the Test Setup.
9.Assign task to all Testing Team members and ensure that all of them have sufficient work in the project.
10.Ensure content and structure of all Testing documents / artifacts is documented and maintained.
11.Document, implement, monitor, and enforce all processes for testing as per standards defined by the organization.
12.Check / Review the Test Cases documents.
13.Keep track of the new requirements / change in requirements of the Project.
14.Escalate the issues about project requirements (Software, Hardware, Resources) to Project Manager / Sr. Test Manager.
15.Organize the status meetings and send the Status Report (Daily, Weekly etc.) to the Client.
16.Attend the regular client call and discuss the weekly status with the client.
17.Communication with the Client (If required).
18.Act as the single point of contact between Development and Testers.
19.Track and prepare the report of testing activities like test testing results, test case coverage, required resources, defects discovered and their status, performance baselines etc.
20.Review various reports prepared by Test engineers.
21.Ensure the timely delivery of different testing milestones.
22.Prepares / updates the metrics dashboard at the end of a phase or at the completion of project.

Difference between high level and low level test cases?

High level testacases are those which covers major functionality in the application(i.e. Retrieve,update display,cancel(functionality related test cases), database test cases.)

Low level test cases are those related to user interface(UI) in the application.

What is Concurrency Testing

Concurrency Testing(also commonly known as muti user testing) is used to know the effects of accessing the application,code module or database by different users at the same time.

It helps in identifying and measuring the problems in response time, levels of locking and deadlocking in the application.

Ex. Loadrunner is widely used for this type of testing,Vugen(Virtual user generator) is used to add the number of concurrent users and how the users need to be added like gradual rampup or spike stepped.

Entry and Exit criteria in software testing

The entry criteria is the process that must be present when a system begins like,

SRS
FRS
usecase
Test case
Test plan


The exit criteria ensures whether testing is complted and the application is ready for release like,

Test summary
Metrics
Defect analysis report

Bucket testing

Bucket testing(also known as A/B Testing) is mostly used to study the impact of various product designes in website metrics, two simultaneous versions were run in a single or set of webpages to measure the difference in click rates,interface and traffic.

Different Types of Severity

User interface Defects - low
Boundary related defects - Medium
Error handling defects - Medium
Calculation defects - High
Interpreting Data defects - High
Hardware Failure and Problems - High
Compatibility and intersystem defect - High
Control flow defects - High
Load conditions(Memory leakages under load testing) - High