0% found this document useful (0 votes)
24 views17 pages

Software Testing Part-2

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views17 pages

Software Testing Part-2

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 17

Agenda Items

• Performance Testing
Performance Testing
Ensure application performs well under expected workload

• Application functionality is not the only concern

• Response time, reliability & resource utilization do matter

• Performance testing is not to eliminate bugs but bottlenecks

• Focus is on:
• Speed  determines application response time
• Scalability  determines maximum workload application can handle
• Stability  determines if application is stable under varying loads
Why Performance Testing?
• Share application’s performance attribute with stakeholder (e.g. client)

• Uncover areas of improvement before application launch

• Poor performing application will lose customers, hence business

• It’s mandatory to perform performance testing for mission critical systems


• Space missions,
• Medical equipment with software

• Help determine life of system without malfunctions


Types
Volume Testing
Load Testing
Stress Testing

Soak/Endurance Testing Spike Testing


Load Testing
Applications ability to perform under anticipated user load

• Helps identify bottlenecks before system goes live or prior to busy season

• Constantly increase load until it reaches to defined threshold

• Increase in load  increase in number of concurrent users


• Determine response time, throughput, server condition & much more…

• Generally performed under controlled environment/situation

• Usually performed for important business transactions (e.g. ordering)


Load Testing - Cases

• eCommerce website during FLAT 50% OFF

• FBRs e-filling portal during month of Sept

• Non-Stop transfer of files to & from a hard disk

• Download large file from a website

• Play same video by concurrent users


Load Testing - Tools

• Numerous tools available

• Load Runner
• Blaze Meter
• Apica
• WebLoad

• How it works?
• For web based applications, increase load slowly until reaches to threshold
• Use multiple geographical locations
• Observe number of loops completed in a given time
• Monitor CPU/memory & database performance
• Report results
Stress Testing
Meant to measure performance outside system parameters

• Tested with number of users or transactions beyond threshold limit

• Goal is to measure application stability

• Failure at what point system fails?


• Recovery  how does system recovers from failure?

• Determines how application behaves under unfavorable conditions (e.g. DDOS)

• Generally performed under controlled environment/situation


Stress Testing – Why?

• It allows the test team to monitor system performance during failures.

• To verify if the system has saved data before crashing or NOT.

• To verify if the system prints meaningful error messages while crashing or random
exceptions.

• To verify if unexpected failures do not cause security issues.


Stress Testing – How?

• Running several resource-intensive applications in a single computer at the same


time

• Attempt to hack into a computer and use it as a zombie to spread spam

• Flooding a server with useless e-mail messages

• Making numerous, concurrent attempts to access a single Web site or operation

• Attempting to infect a system with viruses, Trojans, spyware or other malware.


Volume Testing
Test application with large amount of data
• Also referred to as flood testing

• Analyze system performance by increasing volume of data in DB

• Identify problems that are likely to occur with large volume of data

• Figure out point at which application degrades

• Help identify system capacity


Volume Testing – What?

• To check if there is any data loss

• Check the system's response time

• Check if the data is stored correctly?

• Verify if the data is overwritten without any notification

• Check for warning and error messages, whether it comes at all for volume
problems

• Check whether high volume data affects the speed of processing


Volume Testing – Recommendations
• Stop all servers and check all logs

• Before the load test, manually execute the application scenario

• For useful results, stagger the number of users

• To overcome license constraints, balance think time

• Be cautious with the new build

• Analyze the use case for improvement once a baseline has been established

• A repetition of particular parts of volume testing becomes inevitable in case there


is a performance bottleneck
Soak Testing
Check the system performance for specified period of time

• Also referred to as “Endurance Test”

• System stayed under normal work load

• Executed or monitored for longer period of time

• Example:
• Suppose an OPD application is expected to run for 4hours a day; under soak
test, application will be executed for 8hours.

• Help determine issue like memory leaks or unexpected behavior


Spike Testing
• It’s a subset of “Stress Testing”

• Performed by increasing # of users suddenly

• How application behaves now?

• Measure system performance and server resources

• Similar tools are used as for Load or Stress Testing


Performance Testing – Steps
Tune System (optimization changes)

Analyze Results

Execute Test Revisit Test


Cases/Scripts
Create Test Environment

Create Test Scripts

Choose Suitable Tool

Determine Key Measures (e.g. ordering)

Identify Business Goals

You might also like