Testing Phases
§ Requirement Analysis Testing
§ Design Testing
§ Unit Testing
§ Integration Testing
§ System Testing
§ Acceptance Testing
4.1 Requirement Analysis Testing
Objective
- The objective of Requirement AnalysisTesting is to ensure software quality by eradicating errors as earlier as possible in the developement process
- If the errors noticed at the end of the software life cycle are more costly compared to that of early ones, and there by validating each of the Outputs.
The objective can be acheived by three basic issues:
- Correctness
- Completeness
- Consistency
Types of requirements
- Functional Requirements
- Data Requirements
- Look and Feel requirements
- Usability requirements
- Performance Requirements
- Operational requirements
- Maintainability requirements
- Security requirements
- Scalability requirements
Difficulties in conducting requirements analysis:
- Analyst not prepared
- Customer has no time/interest
- Incorrect customer personnel involved
- Insufficient time allotted in project schedule
What constitutes “good” requirements?
Clear → Unambiguous terminology
Concise → No unnecessary narrative or non-relevant facts
Consistent→ Requirements that are similar are stated in similar terms.
Requirements do not conflict with each other.
Complete → All functionality needed to satisfy the goals of the system is
Specified to a level of detail sufficient for design to take place
Testing related activities during Requirement phase
- Creation and finalization of testing templates
- Creation of over-all Test Plan and Test Strategy
- Capturing Acceptance criteria and preparation of Acceptance Test Plan
- Capturing Performance criteria of the software requirements
4.2 Design Testing
Objective
- The objective of the design phase testing is to generate a complete specifications for implementing a system using a set of tools and languages
Design objective is fulfilled by five issues
- Consistency
- Completeness
- Correctness
- Feasibility
- Tractability
Testing activities in Design phase
- Develop Test cases to ensure that product is on par with Requirement Specification document.
- Verify Test Cases & test scripts by peer reviews.
- Preparation of traceability matrix from system requirements
4.3 Unit Testing
Objective
- In Unit testing user is supposed to check each and every micro function.
- All field level validations are expected to test at the stage of testing.
- In most of the cases Developer will do this.
The objective can be achieved by the following issues
- Correctness
- Completeness
- Early Testing
- Debugging
4.4 Integration Testing:
Objective
- The primary objective of integration testing is to discover errors in the interfaces between Modules/Sub-Systems (Host & Client Interfaces).
- Minimizing the errors which include internal and external Interface errors
Approach:
Top-Down Approach

The integration process is performed in a series of 5 steps
- The main control module is used as a test driver, and stubs are substituted for all modules directly subordinate to the main control module.
- Depending on the integration approach selected (depth or breadth-first) subordinate stubs are replaced at a time with actual modules.
- Tests are conducted as each module is module is integrated.
- One completion of each set of tests, another stub is replaced with the real-module.
- Regression testing may be conducted to ensure that new errors have not been introduced.
Advantages
- We can verify the major controls early in the testing Process
Disadvantage:
- Stubs are required. Very difficult to develop stubs
Bottom-Up Approach.

A bottom-up integration strategy may be implemented with the following steps:
- Low level modules are combined into clusters (Some times called builds) that perform a specific software sub function.
- A driver (control program for testing) is written to coordinate test case input and output.
- The cluster is tested.
- Drivers are removed and clusters are combined upward in the program structure
Advantages
- Easy to Develop the drivers than stubs
Disadvantage:
- The need of test drivers
- Late detection of interface problems
An integration testing is conducted, the tester should identify critical modules. A critical module has one or more of the following characteristics:
- Address several software requirements.
- Has a high-level of control. (resides relatively high in the program structure)
- Complex & Error-Phone.
- Have definite performance requirements.
Testing activities in Integration Testing Phase
- This testing is conducted in parallel with integration of various applications (or components)
- Testing the product with its external and internal interfaces without using drivers and stubs.
- Incremental approach while integrating the interfaces.
4.5 System Testing:
- The primary objective of system testing is to discover errors when the system is tested as a hole.
- System testing is also called as End-End Testing.
- User is expected to test from Login-To-Logout by covering various business functionalities.
The following Tests will be conducted in System testing
- Recovery Testing.
- Security Testing.
- Load & Stress Testing.
- Functional Testing
Testing activities in System testing phase
- System test is done for validating the product with respect to client requirements
- Testing can be in multiple rounds
- Defect found during system test should be logged into Defect Tracking System for the purpose of tracking.
- Test logs and defects are captured and maintained.
- Review of all the test documents
Approach: IDO Model
- Identifying the End-End/Business Life Cycles.
- Design the test and data.
- Optimize the End-End/Business Life Cycles.
4.6 Acceptance Testing:
- The primary objective of acceptance testing is to get the acceptance from the client.
- Testing the system behavior against customer’s requirements
- Customers undertake typical tasks to check their requirements
- Done at the customer’s premises on the user environment
Acceptance Testing Types
Alpha Testing
§ Testing the application on the developer’s premises itself in a controlled environment.
§ Generally, the Quality Assurance cell is the body that is responsible for conducting the test.
§ On successful completion of this phase, the software is ready to migrate outside the developer’s premises.
Beta Testing
§ It is carried out at one or more user’s premises using their infrastructure in an uncontrolled manner.
§ It is the customer or his representative that conducts the test, with/without the developer around. As and bugs are uncovered, the developer is notified about the same.
§ This phase enables the developer to modify the code so as to alleviate any remaining bugs before the final ‘official’ release.
Approach: BE
§ Building a team with real-time user, functional users and developers.
§ Execution of business Test Cases.
When should we start writing Test Cases/ Testing?
V Model is the most suitable way to start writing Test Cases and conduct Testing.
SDLC Phase | Requirements Freeze | Requirements Build |
Business Requirements Docs | Acceptance Test Cases | Acceptance Testing |
Software Requirements Docs | System Test Cases | System testing |
Design Requirements Docs | Integration test Cases | Integration Testing |
Code | Unit Test Cases | Unit Testing |
No comments:
Post a Comment