Course Title: Performance, Load, and Stress Testing
Issues and Solutions for Environmental Testing
Course #: STR09
Duration: 2 days
Description:
- Setting performance goals and objectives
- Testing system performance, response time, and throughput
- Testing the ability to handle load and stress and identify bottlenecks
- Evaluating whether system resources are being utilized efficiently
- Testing system robustness and capability to recover from errors
- Testing across different configurations or versions
- Testing systems for scalability ("Gee, it worked in the lab ...")
- Automating performance, load, and stress testing
Powerful Techniques for Testing System Characteristics
You have made a heroic effort to test a system under unreasonable deadlines with only limited test staff and equipment. You scrupulously ensure the features work as expected, and system performance seems fine in the test lab. So you release the system. A few days later, you receive a call from a senior user. You are expecting words of appreciation, but he only moans about what you’ve done to him.
The features do work, but response time is slow in live operation. Or the system can not handle peak loads and stresses. Or the system isn't robust and cannot routinely recover from errors. Whether you've already been there or you don’t want to go there, this course is for you! It goes beyond the basics of feature testing to ensure that your software works in its "live" production environment before users discover problems.
In the Real World
This practical, hands-on course delivers testing skills participants can immediately apply back on the job. Using a challenging, real-world case study, you will encounter the same issues, decisions, and comparable experiences of testing as in their own work environment. In this course, you are appointed team leader on a project to test the performance, load, and stress characteristics of a mission-critical system. The application uses a mix of Web, client/server, database, wireless, and telephone technology. The managers who appointed you expect an in-depth presentation on how you’ll proceed. Working through a series of exercises in small teams, you develop a workable strategy for the project.
Audience:
System testers, system designers, system tuners, software engineers, quality assurance professionals, and project leaders who are involved in systems testing can benefit from this course. A working knowledge of system testing and quality assurance fundamentals is assumed, but specific technical background (e.g., UNIX, TCP/IP) is not required.
Topics:Fundamentals
The problem we are trying to solve
The imperative to test
The performance testing track record
Basic terms and definitions
The Performance Management Lifecycle
Understanding how performance testing fits the development process
Getting started
Project overview
Key decisions in testing
Avoiding surprises
Justifying the effort
The initial impact assessment
Preparing for the performance test
- Gather background information on the situation
- Validate the test project need and feasibility
- Develop an understanding of the situation
- Develop the overall test approach
- Plan the measurement and load strategy
- Plan the test automation and testware
Specifying the Performance Requirements
Modeling the architecture
Understand measurement
Response times
Understanding load
The initial impact assessment
Outsourcing
Techniques for Performance Testing
Types of performance and robustness testing
- Selecting the types of testing for a project
- Types of measurement
Understanding Load and Risk
The need for focus
Major risk factors
Understanding load factors
Test Automation
What problems can load tools help solve?
What do load tools do?
Comparing feature and load testing tools
Limitations and common misuses of automated test tools
Wrap-up
What actions to take
- Success factors
- Next steps