Testing should start early in the life cycle of development. comment
Submitted by Sonal on October 31, 2007 - 5:58am.
Hi,
As a QA Manager, impress upon the project development teams of your organization on “Testing should start early in the life cycle of development"?
The one point can be that to ensure the product meets the specifications and standards.
Thanks








Basically you have to explain to your team why its justified to start testing early
Its said, "Quality is built in, not added on." Studies have shown that most of the system errors detected during the testing phase originate in the early analysis phase. Therefore, software testing should start early in the system development process.
Defects detected later in the software lifecycle are lot costlier to fix then if fixed early in the lifecycle.
Using the V-Model of testing, once the requirements are baselined, System testing plan ( or UAT ) and test cases should be prepared. This will also help in uncovering the gaps in requirements process.
As you move forward and complete the Design, you should complete the Integration testing cases and also to some extent Unit test cases.
Even if the project is in the requirement's stage, testing a project's requirements can be a useful and cost-effective way to prevent defects later on.
Early testing has following advantages:
a. Early preparation of test environment, thereby preventing any delays and unknown risks will have enough time to deal with.
b. If you complete test cases early you will have a baseline. If there are changes later , problem will be easy to detect by comparing it with baseline.
c. You will have time to Quantify the problem's scope.
d. You may find that few items may not be tested , since they may not be impacted. This input can cut down on your Testing phase.
e. There is usually tendency to squeeze the testing time. This may impact Quality. But if you start testing early , you may not need to squeeze your time.
- Login or register to post comments
Submitted by csqa on October 31, 2007 - 5:13pm.Background:
I totally agree on the above comment. I am also adding few points based on my experience.
Many projects were failing due to improper planning – this causes the testing team to work under pressure and sometimes to perform blind execution. In certain cases there is no such time to perform regression testing and to do a round of exploratory testing or even adhoc testing too - which lacks in the identification of unintended faults present in the application (A SMART tester can identify this, but due to unavoidable circumstances the team does not have the enough potential to cover this at the last moment). In most of the cases due to the delay in the development cycle the testing cannot start at the mentioned schedule and due to the frequent change in requirements and of poor documentation the team is not in a position to reach their target on time.
To avoid this last minute ride, if the process and documentation is maintained properly in a well defined development cycle – the testing team can plan and start the activities at the earliest to avoid the bottlenecks that usually happens
There are many reasons behind that. One reason is if the testing activity initiated in late stage then the milestones cannot be achieved and also chances for the management to loose the revenue for the delays caused – may be due to the improper planning and testing schedule.
One of the achievements that I had in my testing experience is by utilizing the RUP framework for one of the project activity I carried out 2 months before - Rental System ®.
The project was one of the crucial for the management which I worked for. There are lots of small projects out of that they have considered the project Rental System ®
Being noted as high profile project and expectations for the end-user the project is considered to built in multiple schedules and follows the well defined RUP [Rational Unified Approach] process.
Concept:
Inception:
This is the phase where the initial effort for the project starts – forming a group and organizing the effort needed to target the project. In this phase the following teams form to define the business requirements and to collect the following items:
This stage is referred as Lifecycle Objective Milestone
Elaboration:
In this phase much of the architectural design will be carried out and the project team forms various JAD [Joint Application Development] sessions to cover up all the business needs. This will help all the team to be in sync while gathering the business case
In this phase the testing will be involved. Test Manager or Lead will be involved in this stage to gather the requirements for testing and high level understanding about the application can be derived.
This will help them to cover the
Construction:
In this phase the coding will begin – all the requirements will be fully documented and ready for development. In this stage the development team needs to identify the high priority requirement that needs to be considered at initial stage. Sometimes depending on the applications status and business needs the Business team may have a chance revise the subsequent documents further to avoid the conflicts that they defined as initial scope – this will be revised and a follow-up will be made to the teams upon modification
If harness is defined during this period, the testing team will have a chance to execute the high level cases defined for the development pre-release testing. It will help the development team in identifying the errors at the early stage. It will act as a building block for the testing team to focus on the next set of activity they should be aware when it comes for actual testing.
At this stage the testing team will involve in preparing
Transition:
In this phase the development will be completed (atleast 80%) and the testing can begin – the following are the activity carried out
a) Test Case Execution
b) Incident Logging
c) Impact Analysis for defects slipped
d) Test Report Generation
e) Automation Script Execution
f) Defect Retesting and Regression testing
g) Traceability Coverage
This will help the business or management to get it certified from the testing group about the product readiness – upon getting certified from QA the application will move further towards ACCEPTANE TESTING.
Conclusion:
If you consider the above procedure – all the stages defined in the RUP is well-organized and upon following that definitely the quality of the application/product or project can be improved
Benefits:
Ø No need to prepare test plan during execution
Ø No need to redefine the test strategy during execution stage
- Login or register to post comments
Submitted by vinu015 on November 13, 2007 - 12:04pm.vino015 that is a very detailed example and I am sure this will benefit many people. Also thanks for sharing your experience.
My note to CSQA aspirants is to read this thread carefully and I am sure you can answer similar questions with ease now.
- Login or register to post comments
Submitted by admin on November 14, 2007 - 3:40am.