SDLC Test Phases

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

SDLC Test Phases

SDLC or the Software Development Life Cycle, is the process or framework of tasks required
to develop a system. Although the methodology is commonly used for software development
projects, it can also be extended to the creation of other complex systems. It tracks the project
from the initial concept through a post-implementation analysis and maintenance phase. A
commonly overlooked area of SDLC with new engineers is understanding the SDLC test
phases and resulting deliverables from each phase of the testing process.

What Are the SDLC Phases?


SDLC is broken up into phases that may vary based on the variant of SDLC being implemented on
the project team. Although the SDLC test phases are not part of the higher-level project phase
model from phase 1 to the end of the project, the testing phase adopts deliverables produced in
earlier portions of the SDLC life cycle in order to accomplish the goals of the phase.
Phase 1 Requirements Gathering and Analysis
Phase 2 System Design
Phase 3 System Development
Phase 4 System Testing
Phase 5 Operations and Maintenance

SDLC Testing Phase


The SDLC Testing phase is notionally designed to be carried out after system development is
complete. The testing phase measures the actual versus expected outcome of the system. Unlike
quality control measures which are designed to evaluate a developed work product and include
audits to assess cost of correcting defects, the goal of testing is to find defects through the
execution of the system or software package.

What is the SDLC Testing Life Cycle?


SDLC testing isnt just accomplished through ad-hoc means. The testing process has its own life
cycle to include: Test Analysis, Test Planning, Test Design, and Test Execution.
SDLC Test Analysis Phase In the SDLC test analysis phase, the testing team has to gain an
intimate understanding of the projects requirements. All insights gained during this phase help
design the testing suite.
SDLC Test Design Phase During the design phase, test cases are created based on the stated
project requirements and use cases. This phase is commonly short-changed by project teams
who fall under time or budget constraints, but is one of the most critical in the testing life cycle.
SDLC Test Execution Phase The testing team runs or executes the test cases against
the software or system. The results are recorded and then measured against the
expect results. Shortcomings can be used to identify either corrective or future work
based on the project teams goals and requirements.

What Are the Types of SDLC Testing?


Depending on the organization and software engineering model (or variant) being employed,
there are a number of testing terms, types, and definitions that you will run across. Some of the
most common include:
Acceptance Testing This type of testing can be thought of as equivalent to a mid-term or
final exam. The goal of the acceptance test is to confirm the system or software meets the
customer defined requirements and is ready for a major milestone to be released.
Alpha Testing Conducted after the majority of the software functionality is complete but
before end-users are going to be involved. Typically accomplished by part of the project team but
can be outsourced. Accomplished in close coordination with the project team.
Beta Testing Conducted after project code is complete. For commercial software projects is
commonly distributed to the public for free and to generate buzz for the final product.
Black Box Testing Tests conducted without any knowledge of the code architecture, language,
or structure. Requires explicit requirements definition or specification documents to be carried
out.
Functional Testing This type of testing will take two or more modules and seek out defects
when they conduct their intended work. Ultimate goal is to ensure the module performs functions
as laid out in the project specification.
Independent Verification and Validation (IV&V) - The system or software is exercised in
order to ensure it meets user expectations and project requirements. The testing organization or
group should not be part of the software development team to ensure the test results are
impartial.
Load Testing Load testing helps determine how well the product handles heavy demand for
system resources. This can be in terms of heavy website traffic, CPU, or memory utilization.
Performance Testing Uses automated tools that are designed to test and tweak system
performance. Measures how quickly a system can receive a given set of inputs or events.
Regression Testing Checks to see if bug fixes have been implemented successfully. Also
checks for the presence of new bugs or flaws that could have been created from correcting the
original errors and ensures no baseline functionality has been lost.
Security Testing More and more common in system or software testing circles. Consists
of testing the network and database software to guard against accidental miss-use,
hackers, or known computer malware attack.
System Integration Testing Typically conducted when integrating a commercial off the shelf
(COTS) system into a custom or unique project.

What is a SDLC Test Plan?


SDLC project test plans describe the overall objectives, approach, scope, and focus of the
software testing effort. Typically, the larger the project, the more formally documented the testing
plan. No matter what the size of the test plan; however, the process of preparing the document
helps the team think through the required steps to validate the acceptability of the product.
When completed, outsiders should be able to understand both the How and the Why of the
product validation. The plan should not be so complex that it cannot be understood by those

outside of the testing group, but also not as simplistic as to not convey the importance of testing
the system.

You might also like