Download presentation
Presentation is loading. Please wait.
1
1 Software Testing and Quality Assurance Lecture 41 – Software Quality Assurance
2
2 Lecture Objectives Designing for performance Static performance model Execution Graph Analysis of Execution Graphs
3
3 Designing for performance Take performance requirements into account at each stage in the design process. Engineering for performance is An iterative process Apply at any stage in the development process
4
4 Designing for performance Step 1: Develop a design concept for the system. Step 2: Model the design (as an execution graph), gather data and evaluate the model to estimate if it meets performance goals; Step 2: consider design alternatives, where feasible, including: Replacing expensive operations with less expensive operations; Eliminating bottlenecks; Step 3: Repeat the process until predicted performance is acceptable or improvement become too hard or too complex to make.
5
5 Static performance model Execution graphs as they fit well with modern design methods. Execution graphs have Control structures – notation for sequencing, conditional branching, loops and process creation. Concurrent control structures – notation to support concurrency and synchronization.
6
6
7
7 Execution Graph
8
8 Fork/Join Example
9
9 Analysis of Execution Graphs Graph reduction Replacing a graph structure by a single reduced node. Select one sub-graph that can be replaced by a reduction rule to result in a single node that captures the performance attributes of whole sub- system. Repeat until we have only a single node that captures the performance attribute of the whole system.
10
10 Analysis of Execution Graphs Reduction rules Sequential-path rule – add the times of each node in the sequence Repetition-path rule – multiply the time of loop body by the number of iterations.
11
11 Analysis of Execution Graphs Conditional paths Average case: multiply the time of each node by its probability of execution + time for computing the choice. Best case: find the shortest execution time for all the choices + time for computing the choice. Worst case: find the longest execution time + time for computing the choice.
12
12
13
13 Key points Engineering for performance is an iterative process that apply at any stage in the development process. Model the design as an execution graph. Analyze the execution graph using graph reduction rules.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.