Você está na página 1de 10

Software Testing Life Cycle

Software Testing Life Cycle


STLC (Software Testing Life Cycle) is an integral component of SDLC (Software Development
Life Cycle). Testing has become a distinct phenomenon during and after the development of
software. No software is released to the customer without a comprehensive testing by QC or
testing team in the organization. The Scope and Methodology may vary from product to product,
customer to customer, and organization to organization.
The Software Testing Life Cycle, (STLC), is the road map to a product success. QALAB
consists of a set of phases that define what testing activities to do and when to do them. It also
enables communication and synchronization between the various groups that have input to the
overall testing process. Software testing life cycle identifies what test activities to carry out and
when (what is the best time) to accomplish those test activities. Even though testing differs
between organizations, there is a testing life cycle.
Software Testing Life Cycle consists of six (generic) phases:
1. Test Planning,
2. Test Analysis,
3. Test Design,
4. Construction and verification,
5. Testing Cycles,
6. Final Testing and Implementation and Post Implementation.

Software testing has its own life cycle that intersects with every stage of the SDLC. The basic
requirements in software testing life cycle is to control/deal with software testing Manual,
Automated and Performance.
Test Planning

This is the phase where Project Manager has to decide what things need to be tested, do I have
the appropriate budget etc. Naturally proper planning at this stage would greatly reduce the risk
of low quality software. This planning will be an ongoing process with no end point.
1 / 10
Software Testing Life Cycle
Activities at this stage would include preparation of high level test plan. The Software Test Plan
(STP) is designed to prescribe the scope, approach, resources, and schedule of all testing
activities. The plan must identify the items to be tested, the features to be tested, the types of
testing to be performed, the personnel responsible for testing, the resources and schedule
required to complete testing, and the risks associated with the plan.). Almost all of the activities
done during this stage are included in this software test plan and revolve around a test plan.
Test Analysis
Once test plan is made and decided upon, next step is to delve little more into the project and
decide what types of testing should be carried out at different stages of SDLC, do we need or
plan to automate, if yes then when the appropriate time to automate is, what type of specific
documentation I need for testing.
Proper and regular meetings should be held between testing teams, project managers, and
development teams, Business Analysts to check the progress of things which will give a fair
idea of the movement of the project and ensure the completeness of the test plan created in the
planning phase, which will further help in enhancing the right testing strategy created earlier.
We will start creating test case formats and test cases itself. In this stage we need to develop
Functional validation matrix based on Business Requirements to ensure that all system
requirements are covered by one or more test cases, identify which test cases to automate,
begin review of documentation, i.e. Functional Design, Business Requirements, Product
Specifications, Product Externals etc. We also have to define areas for Stress and Performance
testing.
Test Design
Test plans and cases which were developed in the analysis phase are revised. Functional
validation matrix is also revised and finalized. In this stage risk assessment criteria is
developed. If you have thought of automation then you have to select which test cases to
automate and begin writing scripts for them. Test data is prepared. Standards for unit testing
and pass / fail criteria are defined here. Schedule for testing is revised (if necessary) & finalized
and test environment is prepared.
2 / 10
Software Testing Life Cycle
Construction and verification
In this phase we have to complete all the test plans, test cases, complete the scripting of the
automated test cases, Stress and Performance testing plans needs to be completed. We have
to support the development team in their unit testing phase. And obviously bug reporting would
be done as when the bugs are found. Integration tests are performed and errors (if any) are
reported.
Testing Cycles
In this phase we have to complete testing cycles until test cases are executed without errors or
a predefined condition is reached. Run test cases --> Report Bugs --> revise test cases (if
needed) --> add new test cases (if needed) --> bug fixing --> retesting (test cycle 2, test cycle
3.).
Final Testing and Implementation
In this we have to execute remaining stress and performance test cases, documentation for
testing is completed / updated, provide and complete different matrices for testing. Acceptance,
load and recovery testing will also be conducted and the application needs to be verified under
production conditions.
Post Implementation
In this phase, the testing process is evaluated and lessons learnt from that testing process are
documented. Line of attack to prevent similar problems in future projects is identified. Create
plans to improve the processes. The recording of new errors and enhancements is an ongoing
process. Cleaning up of test environment is done and test machines are restored to base lines
in this stage.
3 / 10
Software Testing Life Cycle
Areas to consider during the Software Testing Lifecycle.
Planning and Control
Implementing an effective planning and control solution for your testing activities will promote
efficiency, improve communications and organizational structure. Better planning and control
means fewer mistakes.
Manual Testing
Despite the proliferation of automated solutions, manual testing still accounts for more than half
of all testing. Imagine what life would be like if you could cut the time you spent on manual
testing by half. With Original Software this dream is now reality with the revolutionary Test
Drive-Assist, a solution specifically designed to assist manual testing.
Test Data Management (TDM)
Test Data Management (TDM) is fundamental to the success of your data strategy; after all,
data drives the entire testing procedure. With bad data comes poor testing, results you cannot
trust, and a whole lot of wasted time, money and effort. It pays to get the data management
right.
Software Test Automation
Effectively deployed software automation solutions can have a significantly positive affect on
functional and regression testing timescales. With code free technology and self- updating
scripts, you can be assured that your testing assets will be re-usable, easy to use, easy to
manage, and virtually maintenance free. Unlike some other tools we could mention.
4 / 10
Software Testing Life Cycle
Load Testing
Replicating the behavior on an application under stress can help avoid machine overloads,
unnecessary infrastructure investments and the implementation of enhancements that fail to
scale up. An effective load test will provide assurances that your application or website will cope
with heavy simultaneous usage without crashing.
Results, Reporting & Corporate Governance
For many corporate compliance mandates, and for general testing best practice, it is key that
your company develops its own IT best practice methodology. A QA plan that formalizes how
you company handles change to software systems. This means that for every system change
you must be able to show what was tested, when it was tested, how, by whom, what were the
results, how many defects were there, and how they were rectified before going live.
Software Testing Life Cycle Flow
The Steps are to be followed from the start of testing of software to the end of the testing are as
follows:
1. Before the dynamic testing, there is a static testing. Static testing includes review of
documents required for the software development.
This includes following activities:
(a) All the documents related to customer requirements and business rules that are required for
software design and development should be handed over to QA. These documents should be
complete and dually signed by client and representative of the company.
(b) QA reviews these documents. The reviewing of documents includes comprehensive and
thorough study of the documents. If any discrepancy is found then it should be noted and raised
5 / 10
Software Testing Life Cycle
in the review meeting with the Development team.
(c) After this there should be a formal meeting between the QA and development team
regarding these documents, the agenda of this meeting mainly includes what is missing in the
document, QA queries to be answered by Development/Project Team and/or clarification
required for any confusions.
2. After the Software development or build of a module, QA starts dynamic testing. If during the
development the requirement has been changed on customer demand or due to any other
reason, then that should be documented and a copy of this revised document is given to the QA
and also discussed as explained in point 1 above.
3. Development and testing environment should be made clear to the QA by the Development
team. It includes the following activities:

(a) Server to hit for Testing


(b) Installation of latest build on the test server.
(c) Modules/Screens to test.
(d) Test duration as decided by test manager and project manager mutually based on scope
of work and team strength.
(e) Demo of the software on test server by development team to the QC members.
4. After this Test cases and test scenarios are prepared and then the Test execution by QC.
5 .A comprehensive Report of Bugs is prepared by the Testers and a review/verification by
QC/QA/Testing Head takes place. Before handing over this report to Development Team there
is a thorough review of Bugs List by Test Manager and in case of any clarification required on a
bug submitted, the Testing Head discusses the bugs with the assigned tester.
6 .Release of bug report by QC Team to Development Team.
7. Discussion/simulation of bugs by QC with development team if development team requires
and time required for fixing the bugs should be made clear by Development team at this stage.
6 / 10
Software Testing Life Cycle
8 .Feedback from Development team on reported bugs with the stipulated time frame required
to fix all bugs.
9. Any changes in the software being made in respect to fix these bugs should be made clear to
the QA team by the Development team.
10. Testing team then Retests or verifies the bugs fixed by the development team.
11. Submitting the retesting bug report to the Test manager and after this the step 5 to step 10
are followed until the product has reached a stage where it can be released to customer.
12. Criteria for ending the testing should be defined by management or Test Manager Like
when all major bugs are reported and fixed. Major bugs mean the bugs that affect the Business
of the Client.
Terminologies in STLC
1. Test Strategy:
Test Strategy is a Document, developed by the Project manager, which contains what type of
technique to follow and which module to test.
2. Test Plan:
Test plan is a Document, developed by the Test Lead, which contains "What to Test, How to
Test", "When to Test", "Who to Test".
3. Test Scenario:
A name given to Test Cases is called Test Scenario. This Test Scenario was done by the Test
Engineer.
7 / 10
Software Testing Life Cycle
4. Test Cases:
It is also document and it specifies a Testable condition to validate functionality. These Test
Cases are deal by the Test Engineer.
Sample testing cycle followed in any organization .
1. Requirements analysis:
Testing should begin in the requirements phase of the software development life cycle.
During the design phase, testers work with developers in determining what aspects of a design
are testable and with what parameters those tests work.
2. Test planning:
Test strategy, test plan, test bed creation. Since many activities will be carried out during
testing, a plan is needed.
3. Test development:
Test procedures, test scenarios, test cases, test datasets, test scripts to use in testing software.
4. Test execution:
Testers execute the software based on the plans and tests and report any errors found to the
development team.
8 / 10
Software Testing Life Cycle
5. Test reporting:
Once testing is completed, testers generate metrics and make final reports on their test effort
and whether or not the software tested is ready for release.
6. Test result analysis:
Or Defect Analysis, is done by the development team usually along with the client, in order to
decide what defects should be treated, fixed, rejected (i.e. found software working properly) or
deferred to be dealt with later.
7. Defect Retesting:
Once a defect has been dealt with by the development team, it is retested by the testing team.
8. Regression testing:
It is common to have a small test program built of a subset of tests, for each integration of new,
modified, or fixed software, in order to ensure that the latest delivery has not ruined anything,
and that the software product as a whole is still working correctly.
9. Test Closure: Once the test meets the exit criteria, the activities such as capturing the key
outputs, lessons learned, results, logs, documents related to the project are archived and used
as a reference for future projects.
Summary and Conclusion
9 / 10
Software Testing Life Cycle
Successfully developed and tested software will eventually become part of a product and enter
a maintenance phase, during which the software will undergo modification to correct errors and
to comply with changes to requirements. Like the initial development, modifications will follow a
software development lifecycle, but not necessarily using the same lifecycle model as the initial
development.
Hence throughout the Software Testing Lifecycle (STL), quality assurance checks need to be
carried out to ensure our new or upgraded application is error and risk free. Different stages of
the STL require very different QA checks.
Regardless of what stage we are at, whether it be at the initial planning stage or at the final
reporting and auditing stage, we can be confident that Original Software will have a solution for
us.

10 / 10

Você também pode gostar