Upload
himanshu-hora
View
481
Download
1
Embed Size (px)
DESCRIPTION
Regression and performance testing
Citation preview
SOFTWARE REGRESSION AND
PERFORMANCE TESTING
Dr. Himanshu HoraSRMS College of Engineering & Technology
Bareilly (INDIA)
What is Software Regression Testing?
- Testing activities occur after software changes. - Regression testing usually refers to testing activities during software maintenance phase.
Major testing objectives:- Retest changed components (or parts)- Check the affected parts (or components)
Regression testing at different levels:- Regression testing at the unit level- Re-integration - Regression testing at the function level- Regression testing at the system level
What is Software Regression Testing?
Who perform software Regression:
Developers - regression testing at the unit level or integrationTest engineers - regression testing at the function levelQA and test engineers - regression testing at the system level
What do you need to perform software regression testing?
- Software change information (change notes). - Updated software REQ and Design specifications, and user manuals.
- Software regression testing process and strategy.- Software regression testing methods and criteria.
What is Software Regression Testing?
Major problems in software regression testing:
- How to identify software changes in a systematic way?
- REQ. specification changes- Design specification changes- Implementation (or source code) changes- User manual changes- Environment or technology changes- Test changes
- How to identify software change impacts in a systematic way?
- REQ impacts- Design impacts- Implementation impacts- User impacts- Test impacts
Problems and Challenges in Software Regression Testing
Major regression testing problems:
- How to use a systematic method or tool to identify changed software parts?
- How to use a systematic method or tool to identify software change impacts?
- How to use a systematic method or tool to identify affected software test cases?
- How to reduce the re-test suites?
- How to select the test cases in a test suite?
Major challenge in software regression testing:
- How to minimize re-testing efforts, and achieve the adequate testing coverage?
Problems and Challenges in Software Regression Testing
Software Regression Process:
Step #1: Software Change Analysis - Understand and analyze various software changes.
Step #2: Software Change Impact Analysis - Understand and analyze software change impacts
Step #3: Define Regression Test Strategy and Criteria
Step #4: Define, select, and reuse test cases to form a regression test suite
Step #5: Perform re-testing at the different levels.- re-testing at the unit level- re-testing at integration level- re-testing at the function level- re-testing at the system level
Step #6: Report and analyze regression test results
Software Regression Process
Software Regression Process
Software Change Analysis
Software Change Impact Analysis
Define RegressionTesting Strategy
Build RegressionTest Suite
Report RetestResults
Run Regression Tests at different levels
“With an order of magnitude fewer variablesperformance testing could be a science,
but for now,
performance testing is at best a scientific art.”
--Scott BarberVice President & Executive Director,
Association for Software Testingwww.associationforsoftwaretesting.org
PERFORMANCE TESTING
9
Testing conducted to evaluate the compliance of a system or component with specified performance
requirements (IEEE).
To meet/exceed the customers’ expectations as per the agreed SLAs (Service Level Agreements) for the
response time of different business functions.
- Outsourcing- In house with Purchased Tools
- In house with Leased Tools
What
Why
How
Good Performance…?
Define Performance Testing
Stress Testing: Stress Testing is done in order to check when the application fails by varying the system resources such as RAM, HDD etc. and keeping the number of users as constant.
Load Testing: Load Testing is done in order to check when the application fails by increasing the number of users and keeping the system resources as constant.
Performance Testing: The term Performance can mean measuring response time, number of hits , resource utilization, or some other system characteristic( or group of them), by varying the number of users.
Performance Testing Tools
• HP-LoadRunner• Compuware-QA Load• IBM-Rational Performance Tester• Borland-Silk Performer
If done well, there can be benefits:• Dramatically reduce the overhead involved in managing test
environments
• Easier for performance testing to have it’s own test environment
• Enable collaborative tuning without having to “borrow” hardware resources
• Put the test team in control of their test environments
Virtualization does not change the core principles of successful performance testing
Benefit of Performance Testing
“Only performance testing at the conclusion of system or regression testing
is like
ordering a diagnostic blood test after the patient is dead.”
--Scott BarberVice President & Executive Director,
Association for Software Testingwww.associationforsoftwaretesting.org
SUMMARY:-
REFERENCES
• www.sqe.com/ControlImages/sqe/.../empirix_archivepresentation• www.qaiconferences.org/tempEQAA/Performance%20testing• https://wiki.uta.edu/download/attachments/48170179/Testing• www.idi.ntnu.no/emner/tdt4242/materials/Regression-testing• www.engr.sjsu.edu/gaojerry/course/287/regression-test
Thank You
Dr. Himanshu HoraSRMS College of Engineering & Technology
Bareilly (INDIA)