Sunday, November 30, 2008

Software Testing Life Cycle -STLC


Software Test Life Cycle:
Software testing life cycle identifies what test activities to carry out to accomplish quality assurance process in a software development project.
There are different kinds of software development life cycle such as Waterfall, Spiral, Agile, and many others. Software testing has its own life cycle that intersects with every stage of the SDLC either it is Waterfall, Spiral or Agile. However, SDLC varies form one to another based on size of project, test team, test in Scope/out of scope, and code release date (how frequently). So, knowledge about some of the major phase in STLC, quality assurance activities during phases and role of a tester, makes you as a tester always ready to accomplish your task with a mark. This picture describes one of widely used STLC phases.
Generally STLC for a single test cycle consists of phases: 1) Planning, 2) Analysis, 3) Design, 4) Initial Testing 5) Testing Cycles, 6) Final Testing and Implementation and 7) Post release
Planning :
High level test plan
Identify review process, Metrics
Bug reporting procedures
Acceptance criteria for QA
schedule
Analysis Phase:
Develop Test Case format , Validation Matrix
Develop, and plan Test Cycles matrices and time lines
Begin writing Test Cases based on Functional Validation matrix
Map baseline data to test cases to business requirements
Identify Automation, Manual and Types of testing ,
Test environment, automation system setup.
Design :
Test -plan(ning) review and verify.
Review matrix (coverage).
Continue working on Test Cases.(update, new )
Finalize test case selection for each cycle for manual run and automation.
Initial Testing
Complete all plans, Test Case, scripting
Unit test (Automated?)
Test Cycle:
Test Cycle 1, run first set of test
Report bugs - Triage(bug verification)- Bug fixes - Regression
Add test cases as required
Test Cycle 2, 3 ...
Final Testing and Implementation :
Code Freeze
Run Test cases for including performance level .
Communicate defect tracking metrics.
Regression
Documents.
Post Release
evaluation meeting - lesson learned
Prepare final Defect Report and metrics. Develop strategies to prevent similar problems in future project.
Milestones for improvements
Environment clean-up.clean (tag and archive tests and data for that release) restore test machines to baseline for next test cycle

2 comments:

williambritto said...

Really interesting post about software testing lifecycle. It's really informative post. Software testing services companies playing a important role in development process. Keep sharing more content about this.

Jessica John said...

Nice informative post about software testing life cycle. Software testing is important because if there are any bugs or errors in the software, they can be identified early and fixed before the software product is delivered. Checkout the detailed information about digital assurance services.