Concepts on Software Performance Testing

  • Published on
    06-Jan-2016

  • View
    29

  • Download
    1

DESCRIPTION

Concepts on Software Performance Testing. Presented by Chris SAUNDERS - 2014 @chrisrsaunders. Presentation. Presentation. Presentation's Purpose [1%] Whats Software Performance ? [ 4 %] General Measures [4%] The Business Case [1%] Performance Goals - 5 Examples Types [45%] - PowerPoint PPT Presentation

Transcript

PowerPoint Presentation

Concepts on Software Performance TestingPresented by Chris SAUNDERS - 2014

@testRUNConcepts on Software Performance TestingChris SAUNDERS B.Tech (Info. Eng.) with Honours1PresentationConcepts on Software Performance TestingChris SAUNDERS B.Tech (Info. Eng.) with HonoursPresentationPresentation's Purpose [1%]Whats Software Performance? [4%]General Measures [4%]The Business Case [1%]

Performance Goals - 5 Examples Types [45%]Some Performance Testing Approaches [41%]

Last Slide [4%]

Concepts on Software Performance TestingChris SAUNDERS B.Tech (Info. Eng.) with HonoursPresentation's PurposeConcepts on Software Performance TestingChris SAUNDERS B.Tech (Info. Eng.) with HonoursPresentation's PurposeTo talk about software performance testingTo explore concepts, ideas and things to considerNot talking about toolsConcepts on Software Performance TestingChris SAUNDERS B.Tech (Info. Eng.) with HonoursWhat is Software Performance?Concepts on Software Performance TestingChris SAUNDERS B.Tech (Info. Eng.) with HonoursWhat is Software Performance?Software performance is the manner in which software functions, operates, or behaves; based on a given set of factors.Software performance testing is to determine how a system performs in terms of responsiveness and stability with a defined set of factors.What factors?Each person takes two sticky notes and writes their answer down, and places it on the wallNote this question may be asked again laterConcepts on Software Performance TestingChris SAUNDERS B.Tech (Info. Eng.) with HonoursGeneral MeasuresConcepts on Software Performance TestingChris SAUNDERS B.Tech (Info. Eng.) with HonoursGeneral MeasuresMeasuresDescription1. Known measuresMeasure where the system meets a given predefined performance criteriaFor example: The CPU & Memory resources will not exceed 80% for more than 5 second duration.Concepts on Software Performance TestingChris SAUNDERS B.Tech (Info. Eng.) with HonoursGeneral MeasuresMeasuresDescription1. Known measuresMeasure where the system meets a given predefined performance criteria2. Comparable measuresMeasure between the performance of two systems to determine which has better performanceFor example: The new calculation engine will have a 20% increase in processing time and data volume throughput.Concepts on Software Performance TestingChris SAUNDERS B.Tech (Info. Eng.) with HonoursGeneral MeasuresMeasuresDescription1. Known measuresMeasure where the system meets a given predefined performance criteria2. Comparable measuresMeasure between the performance of two systems to determine which has better performance3. Unknown measuresMeasure where the system has a possible performance issue in a given area(One does not exactly no where or how it will fail)For example: Determine the system performance on the system due to teamed network card failure.Concepts on Software Performance TestingChris SAUNDERS B.Tech (Info. Eng.) with HonoursThe Business CaseConcepts on Software Performance TestingChris SAUNDERS B.Tech (Info. Eng.) with Honours

The Business CaseWhat is the business case for performance testing?How does it add business value?

Need to define realistic performance related goalsConcepts on Software Performance TestingChris SAUNDERS B.Tech (Info. Eng.) with Honours

Performance Goals5 Examples TypesConcepts on Software Performance TestingChris SAUNDERS B.Tech (Info. Eng.) with HonoursPerformance Goals:Water pipe analogyConsider software performance testing like Christchurchs water pipe systemConcepts on Software Performance TestingChris SAUNDERS B.Tech (Info. Eng.) with HonoursPerformance Goals:Response TimeMeasuring the duration of time between two pointsFor example: The duration for a user waiting on a file to uploadABDuration0:00:00.29 or 290msConcepts on Software Performance TestingChris SAUNDERS B.Tech (Info. Eng.) with HonoursPerformance Goals:ConcurrencyMeasuring the effect on the system with concurrent processesFor example: The effect of the different number of users trying to upload files at almost the same timeConcepts on Software Performance TestingChris SAUNDERS B.Tech (Info. Eng.) with HonoursPerformance Goals:ThroughputMeasuring the effect on the system with throughput of information (volume)For example: The effect of different sized files being uploaded20 l/s98 l/sConcepts on Software Performance TestingChris SAUNDERS B.Tech (Info. Eng.) with HonoursPerformance Goals:InterdependenceMeasuring how the system responds to different factorsFor example: Consider the relationship between the following1. Response time 2. Concurrency 3. ThroughputABDurationConcepts on Software Performance TestingChris SAUNDERS B.Tech (Info. Eng.) with HonoursPerformance Goals:InterdependenceCompare these two scenarios:100 users are each uploading 20MB files, start uploading files within a 5 minutes duration.10 users are each uploading 200MB files, start uploading files within a 10 seconds duration.

Which scenario has better performance?Concepts on Software Performance TestingChris SAUNDERS B.Tech (Info. Eng.) with HonoursPerformance Goals:MTBF & MTTRMean Time Between Failures & Mean Time To RepairDetermine the performance of when the system fails and how long does it take to repair?Consider the relationship of the system to other systems or internal componentsConcepts on Software Performance TestingChris SAUNDERS B.Tech (Info. Eng.) with HonoursPerformance Goals:MTBF & MTTR

Source : http://www.greenm3.com/gdcblog/2012/7/31/netflix-sets-chaos-monkey-free-for-all-to-use-next-comes-mor.htmlThe Chaos Monkey is a software tool that was developed by Netflix engineers to test the resiliency and recoverability of their Amazon Web Services

Open Source https://github.com/Netflix/SimianArmy

Netflix engineers develop automatic recovery mechanismsConcepts on Software Performance TestingChris SAUNDERS B.Tech (Info. Eng.) with HonoursPerformance Goals:SummaryResponse TimeConcurrencyThroughputInterdependenceMTBF & MTTR

Concepts on Software Performance TestingChris SAUNDERS B.Tech (Info. Eng.) with HonoursSome Performance Testing ApproachesConcepts on Software Performance TestingChris SAUNDERS B.Tech (Info. Eng.) with HonoursPerformance Testing Approach:Load TestingMeasure how the system behaves under a specific expected load.

Load characteristics: Define number of concurrent users, with a determined throughput for a given durationCould be looking for bottlenecksConcepts on Software Performance TestingChris SAUNDERS B.Tech (Info. Eng.) with HonoursPerformance Testing Approach:Stress TestingMeasure how the system behaves with loads beyond normal operational capacityMeasure modes of failureDetermine the robustness of the system: How, when & where is it going to failConcepts on Software Performance TestingChris SAUNDERS B.Tech (Info. Eng.) with HonoursPerformance Testing Approach:Spike TestingMeasure how the system behaves with the sudden increase in loadDetermine system response; performance profile or system failureConcepts on Software Performance TestingChris SAUNDERS B.Tech (Info. Eng.) with HonoursPerformance Testing Approach:Endurance (Soak) TestingMeasure how the system operates under a continuous expected loadDetermine performance degradationConcepts on Software Performance TestingChris SAUNDERS B.Tech (Info. Eng.) with HonoursEnvironmental changes to determine system performanceSystem controlled failure System configuration changes Concepts on Software Performance TestingChris SAUNDERS B.Tech (Info. Eng.) with HonoursPerformance Testing Approach:SummaryLoad TestingStress TestingSpike TestingEndurance TestingEnvironmental changes to determine system performance

Concepts on Software Performance TestingChris SAUNDERS B.Tech (Info. Eng.) with HonoursWhats Software Performance?Concepts on Software Performance TestingChris SAUNDERS B.Tech (Info. Eng.) with HonoursWhat is Software Performance Testing?Software performance testing is to determine how a system performs in terms of responsiveness and stability with a defined set of factors.

What factors?(Each person can change their two sticky notes on the wall)

Discuss software performance testing

Concepts on Software Performance TestingChris SAUNDERS B.Tech (Info. Eng.) with HonoursConcepts on Software Performance TestingPresented by Chris SAUNDERS - 2014

@testRUNConcepts on Software Performance TestingChris SAUNDERS B.Tech (Info. Eng.) with Honours