Rajalakshmi G
5 min readJun 18, 2021

--

SDLC vs STLC

What is Software Development Life Cycle (SDLC)

Software Development Life Cycle (SDLC) aims to produce a high-quality system that meets or exceeds customer expectations, works effectively and efficiently in the current and planned information technology infrastructure, and is inexpensive to maintain and cost-effective to enhance.

Why SDLC?

  • provides visibility of a project plan to all the involved stakeholders
  • helps us to avoid project risks
  • allows us to track and control the project
  • doesn’t conclude until all the requirements have been achieved

What is Software Testing Life Cycle (STLC)?

Software Testing Life Cycle (STLC) identifies what test activities to carry out and when to accomplish those test activities. Even though testing differs between organizations, there is a testing life cycle.

What are the different phases of SDLC?

Stage1: Requirement Gathering:

Requirement Analysis is the most important and necessary stage in SDLC.

The senior members of the team perform it with inputs from all the stakeholders and domain experts or SMEs in the industry.

Planning for the quality assurance requirements and identifications of the risks associated with the projects is also done at this stage.

Stage 2: Analysis

  • Gather, analyze, and validate the information.
  • A Software Requirement Specification (SRS) document, which specifies the software, hardware, functional, and network requirements of the system is prepared at the end of this phase.

Stage3: Designing the Software

The next phase is about bringing down all the knowledge of requirements, analysis, and design of the software project. This phase is the product of the last two, like inputs from the customer and requirement gathering.

Stage 4: Coding

Once the system design phase is over, the next phase is coding. In this phase, developers start to build the entire system by writing code using the chosen programming language. In the coding phase, tasks are divided into units or modules and assigned to the various developers. It is the longest phase of the Software Development Life Cycle process.

In this phase, the Developer needs to follow certain predefined coding guidelines. They also need to use programming tools like compiler, interpreters, debugger to generate and implement the code.

Stage5: Testing

After the code is generated, it is tested against the requirements to make sure that the products are solving the needs addressed and gathered during the requirements stage.

During this stage, unit testing, integration testing, system testing, acceptance testing are done.

Stage6: Deployment

Once the software is certified, and no bugs or errors are stated, then it is deployed.

Then based on the assessment, the software may be released as it is or with suggested enhancement in the object segment.

After the software is deployed, then its maintenance begins.

What are the different phases of STLC?

Stage 1:Requirement Analysis

Requirement Analysis in which the test team studies the requirements from a testing point of view to identify testable requirements and the QA team may interact with various stakeholders to understand requirements in detail. Requirements could be either functional or non-functional. Automation feasibility for the testing project is also done in this stage.

Stage 2:Test Planning

Test Planning in STLC is a phase in which a Senior QA manager determines the test plan strategy along with efforts and cost estimates for the project. Moreover, the resources, test environment, test limitations and the testing schedule are also determined. The Test Plan gets prepared and finalized in the same phase.

Test Planning Activities

  • Preparation of test plan/strategy document for various types of testing
  • Test tool selection
  • Test effort estimation
  • Resource planning and determining roles and responsibilities.
  • Training requirement

Stage 3:Test Design

The Test design phase involves the creation, verification, and rework of test cases & test scripts after the test plan is ready. Initially, the Test data is identified then created and reviewed, and then reworked based on the preconditions. Then the QA team starts the development process of test cases for individual units.

Test Case Design Activities

  • Create test cases, automation scripts (if applicable)
  • Review and baseline test cases and scripts
  • Create test data (If Test Environment is available)

Stage 4:Test Environment

Test Environment Setup decides the software and hardware conditions under which a work product is tested. It is one of the critical aspects of the testing process and can be done in parallel with the Test Case Development Phase. The test team may not be involved in this activity if the development team provides the test environment. The test team is required to do a readiness check (smoke testing) of the given environment.

Test Environment Setup Activities

  • Understand the required architecture, environment setup and prepare hardware and software requirement list for the Test Environment.
  • Setup test environment and test data
  • Perform a smoke test on the build

Stage 5:Test Execution

Test Execution Phase is carried out by the testers in which testing of the software build is done based on test plans and test cases prepared. The process consists of test script execution, test script maintenance, and bug reporting. If bugs are reported then it is reverted back to the development team for correction and retesting will be performed.

Test Execution Activities

  • Execute tests as per plan
  • Document test results, and log defects for failed cases
  • Map defects to test cases in RTM
  • Retest the Defect fixes
  • Track the defects to closure

Stage 6:Test Closure

Test Cycle Closure phase is the completion of test execution which involves several activities like test completion reporting, collection of test completion matrices, and test results. Testing team members meet, discuss and analyze testing artifacts to identify strategies that have to be implemented in the future, taking lessons from the current test cycle. The idea is to remove process bottlenecks for future test cycles.

Test Closure Activities

  • Evaluate cycle completion criteria based on Time, Test coverage, Cost, Software, Critical Business Objectives, Quality
  • Prepare test metrics based on the above parameters.
  • Document the learning out of the project
  • Prepare Test closure report
  • Qualitative and quantitative reporting of quality of the work product to the customer.
  • Test result analysis to find out the defect distribution by type and severity.

--

--