Role of Software Tester in Software Development Life Cycle( SDLC) - SDLC vs STLC

What is Software Development Life Cycle - SDLC

In software engineering, software development life cycle is a conceptual model used in project management , a process is a splitting of software development work into distinct phases (or stages) containing activities with the intent of better planning and management.  The methodology may include the pre-definition of specific deliverables and artifacts that are created and completed by a project team to develop or maintain an application. Common methodologies include waterfall, prototyping, iterative and incremental development, spiral development, rapid application development, extreme programming and various types of agile methodology. 

What is Software Testing Life cycle  - STLC

The process of testing a software in a well planned and systematic way is known as software testing life cycle(STLC), a process is a splitting of software testing work into distinct phases (or stages) containing activities with the intent of better planning and management. Normally STLC activities are performed against SDLC phases

The most famous SDLC methodology is Water fall and V& V Model, so in this article we will focus on these modes

Water Fall Model

Waterfall Model was first Process Model to be introduced. It is also referred to as a linear-sequential life cycle model. It is very simple to understand and use. In a waterfall model, each phase must be completed before the next phase can begin and there is no overlapping in the phases.  Waterfall model is the earliest SDLC approach that was used for software development .  The waterfall Model illustrates the software development process in a linear sequential flow; hence it is also referred to as a linear-sequential life cycle model. This means that any phase in the development process begins only if the previous phase is complete. In waterfall model phases do not overlap.

What is V  &V Model

The V-model represents a software development process which may be considered an extension of the waterfall model. Instead of moving down in a linear way, the process steps are bent upwards after the coding phase, to form the typical V shape. The V-Model demonstrates the relationships between each phase of the development life cycle and its associated phase of testing.(wiki)


 Software Testing Activities in Software Development Life Cycle 

For every software development activity there is a corresponding testing activity.

  • Each test level has test objectives specific to that level.
  • The analysis and design of tests for a given test level should begin during the corresponding development activity.
  • Testers should be involved in reviewing documents as soon as drafts are available in the development life cycle.

Requirements Review
Review the available requirements, its initial phase of requirements. So you can have requirements in any form ARS, SRS
Define the scope of testing 
Define the out of scope
Identify  Product risk  and Issues
Initialize the test planning ( identify test types, test environment details, Automation feasibility)
Test Planning
Review the SRS , System structure and design. The initial steps is after your review you should have finalized SRS document
Create Test Plan (Test levels, types, strategy ,entry exit criteria)
Finalize the In Scope , out of Scope items
Provide Test Estimates which will be the part of development plan
Create the test environment requirements and setup your test environment. Identify all test date and every thing you need in upcoming phases
Schedule Testing Activities with roles and responsibilities
Define risks and mitigation plan
Define automation feasibility if required and plan the activities accordingly
Review and get approved your test plan by the QA Manager and PM
Create your teams task list with responsibilities
Test Designing
Create Test Design document
Create Requirement Traceability Document
Identify test conditions and test scenarios
Create detailed test cases
Do the peer review
Prioritize and Categorize you test cases into Smoke Test, Sanity Test, Integration Test, System Test, Shipment Assurance Test
Get review with team and approval on your test cases from the developement
Test Execution
Install received builds on your test environment
Create test execution plan, your main reference is your test plan.
Start execution of your test cases accordingly to the priority and categorization
Create and update your defect logs
Update your execution logs
Update the traceability matrices
Create quality metrics to measure the quality of release's
Manage your execution plan
Test Closure
Evaluate execution results
Evaluate exit criteria  you defined in your test plan
Evaluate Product risk /Issue
Create quality metrics to measure the quality of release
Prepare Test closure report
Review your deliverables
Create sign - of  certificate