Download presentation
Presentation is loading. Please wait.
1
1 Software Testing and Quality Assurance Lecture 40 – Software Quality Assurance
2
2 Lecture Objectives Software Performance Engineering Software Performance Performance in Requirements Engineering
3
3 Software Performance Engineering Confusion with “efficiency”. “Efficiency” – the degree to which a program performs its functions within the minimum consumption of resources. “Efficiency” implies trying to get the best from the resources available.
4
4 Software Performance Engineering “Performance” – the degree to which a program or system accomplishes its functions within given constraints such Speed, accuracy or memory usage. We are concerned with specifying, and engineering systems to meet their speed, accuracy etc. usage constraints. Making programs more efficient may help to achieve the performance requirements.
5
5 Performance Myths Hardware is fast and inexpensive – there are many factors influencing performance. Simply doubling the speed of processor does not take into account bottlenecks in design. You can tune software later, if necessary – Empirical studies suggests that performance requires Good design and a good choice of algorithms, As well as fine tuning of code.
6
6 Software Performance Performance is effected on several levels. System Architecture – where performance is affected by the decomposition of the system into modules Detailed Design – affected by the selection of algorithms and data structures. System Software – affected by the operating system, load balancing etc. Hardware – affected by the physical speed of the processor and I/O devices.
7
7 Performance in Requirements Engineering Performance goals – depends on the type of resources that we need to contain. If resource is time, then the goals are stated in terms of constraints on time. Workload Specification – develop a workload profile of the functions that are most likely to occur in practice, Their frequency or request rate.
8
8 Performance in Requirements Engineering Performance Scenarios – Identify major components from architectural design or use cases Order in which components will need to be executed to carry out system functions. Execution Environment – determine the platforms, such as CPU, memory etc on which the system execute Anticipated platform loads associated.
9
9 Performance in Requirements Engineering Resource Usage – resources required by the system and their usage by the system. RAM, disk, network, etc.
10
10 Performance Goals Try to specifying performance goals which are quantitative and measurable. For example, time Response time – Time required to respond to an input, event etc. For example, database may require < 1 sec for a specified transaction type and <10 sec for a specific kind of update.
11
11 Performance Goals Throughput – number of operations or processing steps per unit time. For example, The system must output > 25 frames/second, Complete > 100 updates/ hour. Constraints – system performance is specified in terms of constraints on time or resources. For example, New system must be > 10 % faster than previous version. System must perform < 2 disk access/ update.
12
12 Key points Difference between “Efficiency” and “Performance” Performance Myths Performance is effected on several levels.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.