So you are ready to enter the testing phase of a project, but which performance testing steps should you take to ensure your software is ready to perform under less-than-ideal circumstances? That’s where STLC comes in. The Software Testing Life Cycle (STLC) is a type of performance testing life cycle designed to accurately measure the quality of software. This article will act as a step-by-step guide to STLC in software testing, by describing—in detail—the seven STLC phases of software testing.
A Brief Overview: What is the STLC Life Cycle?
The STLC method is a chronological sequence of different testing activities designed to assess the following capabilities of a software:
In short, the STLC process is an integral part of software performance testing and helps determine the overall readiness of a system to perform.
One important thing to note is the difference between SDLC and STLC. STLC is a part of the larger Software Development Life Cycle (SDLC) process. The SDLC process is a standardized methodology for defining all of the phases involved with software development. The STLC process is a part of this methodology, responsible for defining the steps and activities used to determine and improve the quality of the product. Let’s take a look at each of these phases below.
7 STLC Phases of the STLC Life Cycle
The typical performance testing life cycle has seven software testing phases that fall into a specific chronology:
- Risk Assessment
Risk assessment is the first stage of performance testing. In this stage, the main goal is to determine what types of test should be performed on an individual piece of the system, application, or software under review. Risk assessment is used to achieve the following:
- Helps testers understand the full scope of testing needed
- Ensures that all potential risks or errors are identified
- Allows for specific testing to be prioritized in accordance with the potential risks identified
- Fosters greater communication among developers, testers, and stakeholders as they review functionalities, work flows, and application architecture
Requirement Gathering and Analysis
After the individual components of the software have been reviewed, it’s time to define the metrics that need to be tested. Here are a few examples of possible metrics used in the requirement gathering and analysis stage:
- Number of users
- Error rate
- Memory usage
- Page response time
The second phase of STLC includes collaborative analysis amongst the testers and other stakeholders, including non-technical end users. The point of this analysis is to explore the expectations of all involved parties and hone in on what the ideal performance looks like.
Performance Test Planning
After risks have been assessed, and requirements have been defined, it’s time to plan out the actual execution of testing. In the performance test planning phase, all involved parties lay out a framework for testing requirements and determine how testing should be performed to unearth desired metrics. This includes deciding:
- When the tests will be conducted
- How long they should take
- Who is responsible for performing each test
After the testing framework has been decided, the team needs to iron out the final details associated with risk assessment, and put it in writing. This includes:
- Documenting the identified risks from the first stage
- Recording assumptions about the identified risks
- Documenting issues each risk might cause
- Identifying cross-dependencies within the architecture
Once all of this is completed, all involved parties should sign off on the final performance testing plan to signify that they are in agreement and tests should move forward.
Performance Test Design
With a concrete testing plan in place, it’s time to create the actual performance tests. This performance test design phase includes:
- Writing the code designed to mimic predicted user-behavior and real-life situations that the software is likely to encounter
- Generating a simulation of traffic based on that code
- Writing down the steps of predicted user behavior for the simulation to recreate, and setting parameters to ensure that the timing of each behavior correctly mimics real-world scenarios
- Using the simulation to test the system’s performance against the programmed scenario.
In addition to test design and scripting, workload modeling is designed to determine which metrics are needed to structure each specific test scenario. Although this varies depending on the type of software that is being tested, these metrics often include:
- The number of users to be simulated in the test
- How many users per hour will be tested
- The approximate amount of requests per second
- Approximate targeted response time
- Approximate end-to-end response time
Performance Test Execution
Now that the planning stages have all reached completion, it is time to perform the actual test. In accordance with STLC practices, testers must complete the following:
- Re-check the tests before they are run to confirm that everything is aligned with the plan
- Confirm that all hardware elements are fully functioning
- Confirm that the test environment is stable
As the test proceeds, the performance testing professional should continue to monitor the system throughout the duration of thes test to ensure that the simulation is running as intended and track the progress of the testing results.
Test Cycle Closure: Results Analysis, Reporting, and Next Steps
After the performance test has successfully been completed, it is time for the team to create a comprehensive analysis and report their findings. Here is what should be included in the final performance test report:
- A clear description of the results and explanation of their significance, written so that even non-technical stakeholders can understand
- Descriptions of each identified error or defect to help guide root-cause analysis
After the report has been created and reviewed, the testing and developing teams then work together to identify the causes of each error and devise a plan to fix the problems. After the root-cause analysis has been completed, the original test should be repeated to see if the devised solutions are successful.
Foulk Consulting: Tried and True Performance Testing
Consider Foulk Consulting for all of your performance testing needs. With 20 years of experience in the IT industry, we have performance testing down to a science. Our diverse team delivers a wide variety of solutions including full-fledged performance testing, ongoing consulting, and more. Reach out to us today to discover how our certified performance testing professionals can help your team devise the perfect performance testing solution for your business.