CMU-SE 303 - Software Testing - 2020F - Lecture Slides - 5
CMU-SE 303 - Software Testing - 2020F - Lecture Slides - 5
Objectives
Explore the knowledge of performance testing, and help
Software Testing people understand:
Practical Skills for Testing Practitioners © 2009
• The definition of performance
• The definition of performance testing
• Performance testing lifecycle, including:
Performance Testing 1. Planning for performance testing
2. Creating scripts and conduct testing
3. Analyzing results and tune system
Instructor: Tran Kim Sanh
© 2009, CMU-ISR 2
1
09/09/2020
Create Scripts and Conduct Testing Analyze Results and Tune System
• Develop performance test scripts
• Use the help of performance tools or • Consolidate, analyze and share
by programming test results.
Plan for Create Scripts • Run baseline test Plan for Create Scripts • Then fine tune and test again to
Performance Test and Execute Test Performance Test and Execute Test see if there is an improvement or
• As a basis of comparison by all future decrease in performance.
testing
• Since improvements generally
• Tester will increase system load step
grow smaller with each retest,
by step to gather performance metrics
stop when bottlenecking is
Analyze Results Analyze Results caused by the CPU.
and Tune System and Tune System
• Then you may have the consider
option of increasing CPU power
Simple Performance Testing Lifecycle Simple Performance Testing Lifecycle
2
09/09/2020
Analyze Results
• Identify user activities: This information will be included in the
and Tune System performance test scripts to simulate user action, including:
1. All types of users and activities.
2. The frequency with which users perform the activity.
3. Which activities are most performance critical.
(to be continued)
3
09/09/2020
4
09/09/2020
5
09/09/2020
• Different projects may define different key metrics, the 3. Memory leaks or other stability issues
key point is to come up with a set of requirements that 4. Processing delays
make sense for your application. • And you may have the performance metric acceptability table
• You can get your key metrics by: below:
1. Consulting the domain expert
2. Referring to similar project and business standards
6
09/09/2020
7
09/09/2020
Steps
• Increase the user load until reaching the limits of your Steps
performance targets to conduct stress testing. • Analyze Results
• Conduct long sequence tests to ensure there are no memory • Tune System
leaks or other problems occur after long time run. Plan for
performance test
Create Scripts
and Execute Tests
• Validate Modification
Notice • Report
• If performance issues are detected during any step of the
testing, tuning should begin immediately and baseline the
new result after verification.
• When conducting performance tests, the most efficient way Analyze Results
and Tune System
to increase your user load is step by step, not all at once.
8
09/09/2020
9
09/09/2020
10