Software Development Life Cycle, or Software Development Process, defines the steps/ stages/ phases in the building of software.
There are various kinds of software development models like:
SDLC IN SUMMARY
Software Testing Life Cycle (STLC) defines the steps/ stages/ phases in testing of software. However, there is no fixed standard STLC in the world and it basically varies as per the following:
Note that the STLC phases mentioned above do not necessarily have to
be in the order listed; some phases can sometimes run in parallel (For
instance, Test Designing and Test Execution). And, in extreme cases, the
phases might also be reversed (For instance, when there is Cursing
prior to Testing).
Interestingly, no matter how well-defined a Software Testing Life Cycle you have in your project or organization, there are chances that you will invariably witness the following widely-popular cycle:
There are various kinds of software development models like:
- Waterfall model
- Spiral model
- Iterative and incremental development (like ‘Unified Process’ and ‘Rational Unified Process’)
- Agile development (like ‘Extreme Programming’ and ‘Scrum’)
SDLC IN SUMMARY
- Project Planning
- Requirements Development
- Estimation
- Scheduling
- Design
- Coding
- Test Build/Deployment
- Unit Testing
- Integration Testing
- User Documentation
- System Testing
- Acceptance Testing
- Production Build/Deployment
- Release
- Maintenance
- Project Planning
- Prepare
- Review
- Rework
- Baseline
- Requirements Development [Business Requirements and Software/Product Requirements]
- Develop
- Review
- Rework
- Baseline
- Estimation [Size / Effort / Cost]
- <same as the activities/tasks mentioned for Project Planning>
- Scheduling
- <same as the activities/tasks mentioned for Project Planning>
- Designing [ High Level Design and Detail Design]
- <same as the activities/tasks mentioned for Requirements Development>
- Coding
- Code
- Review
- Rework
- Commit
- Recode [if necessary] >> Review >> Rework >> Commit
- Test Builds Preparation/Deployment
- Build/Deployment Plan
- Prepare
- Review
- Rework
- Baseline
- Revise [if necessary] >> Review >> Rework >> Baseline
- Build/Deploy
- Build/Deployment Plan
- Unit Testing
- Test Plan
- Prepare
- Review
- Rework
- Baseline
- Revise [if necessary] >> Review >> Rework >> Baseline
- Test Cases/Scripts
- Prepare
- Review
- Rework
- Baseline
- Execute
- Revise [if necessary] >> Review >> Rework >> Baseline >> Execute
- Test Plan
- Integration Testing
- <same as the activities/tasks mentioned for unit testing>
- User Documentation
- Prepare
- Review
- Rework
- Baseline
- Revise [if necessary] >> Review >> Rework >> Baseline
- System Testing
- <same as the activities/tasks mentioned for Unit Testing>
- Acceptance Testing[ Internal Acceptance Test and External Acceptance Test]
- <same as the activities/tasks mentioned for Unit Testing>
- Production Build/Deployment
- <same as the activities/tasks mentioned for Test Build/Deployment>
- Release
- Prepare
- Review
- Rework
- Release
- Maintenance
- Recode [Enhance software / Fix bugs]
- Retest
- Redeploy
- Rerelease
- The life cycle mentioned here is NOT set in stone and each phase does not necessarily have to be implemented in the order mentioned.
- Though SDLC uses the term ‘Development’, it does not focus just on the coding tasks done by developers but incorporates the tasks of all stakeholders, including testers.
Software Testing Life Cycle (STLC) defines the steps/ stages/ phases in testing of software. However, there is no fixed standard STLC in the world and it basically varies as per the following:
- Software Development Life Cycle
- Whims of the Management
Phase | Activity | Deliverables | Necessity |
Requirements/ Design Review | You review the software requirements/ design (Well, if they exist.) |
|
Curiosity |
Test Planning | Once you have gathered a general idea of what needs to be tested, you ‘plan’ for the tests. |
|
Farsightedness |
Test Designing | You design/ detail your tests on the basis of detailed requirements/design of the software (sometimes, on the basis of your imagination). |
|
Creativity |
Test Environment Setup | You setup the test environment (server/ client/ network, etc) with the goal of replicating the end-users’ environment. |
|
Rich company |
Test Execution | You execute your Test Cases/ Scripts in the Test Environment to see whether they pass. |
|
Patience |
Test Reporting | You prepare various reports for various stakeholders. |
|
Diplomacy |
Interestingly, no matter how well-defined a Software Testing Life Cycle you have in your project or organization, there are chances that you will invariably witness the following widely-popular cycle:
- Testing
- Cursing
Comments
Post a Comment