CSCE 747 Software Testing and Quality Assurance

Slides:



Advertisements
Similar presentations
1 Ivan Marsic Rutgers University LECTURE 15: Software Complexity Metrics.
Advertisements

Functional Testing 1 CSCE 747 Fall 2013 CSCE 747 Software Testing and Quality Assurance Lecture 01 – Functional Testing.
Overview 1 CSCE 747 Fall 2013 CSCE 747 Software Testing and Quality Assurance Lecture 01 – Overview.
CS447/ECE453/SE465 Prof. Alencar University of Waterloo 1 CS447/ECE453/SE465 Software Testing Tutorial Winter 2008 Based on the tutorials by Prof. Kontogiannis,
Reliability and Software metrics Done by: Tayeb El Alaoui Software Engineering II Course.
Chapter 8: Path Testing Csci 565.
Creator: ACSession No: 5 Slide No: 1Reviewer: SS CSE300Advanced Software EngineeringSeptember 2005 Software Measurement - Basics CSE300 Advanced Software.
BASIS PATH TESTING ● By Tom McCabe ● McCabe, T., "A Software Complexity Measure," IEEE Trans. Software Engineering, vol. SE-2, December 1976, pp
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Test coverage Tor Stålhane. What is test coverage Let c denote the unit type that is considered – e.g. requirements or statements. We then have C c =
Cyclomatic Complexity Dan Fleck Fall 2009 Dan Fleck Fall 2009.
ECE355 Fall 2004Software Reliability1 ECE-355 Tutorial Jie Lian.
University of Toronto Department of Computer Science © 2001, Steve Easterbrook CSC444 Lec22 1 Lecture 22: Software Measurement Basics of software measurement.
1 ECE 453 – CS 447 – SE 465 Software Testing & Quality Assurance Lecture 9 Instructor Paulo Alencar.
Software Testing Content Essence Terminology Classification –Unit, System … –BlackBox, WhiteBox Debugging IEEE Standards.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Path Testing + Coverage Chapter 9 Assigned reading from Binder.
© SERG Dependable Software Systems (Mutation) Dependable Software Systems Topics in Mutation Testing and Program Perturbation Material drawn from [Offutt.
University of Sunderland CIFM03Lecture 4 1 Software Measurement and Reliability CIFM03 Lecture 4.
1Software Measurement Advanced Software Engineering COM360 University of Sunderland © 2001.
Agenda Introduction Overview of White-box testing Basis path testing
You will find the areas of circles and composite figures as well as find areas of sectors.
1 Software Testing & Quality Assurance Lecture 14 Created by: Paulo Alencar Modified by: Frank Xu.
Lec 06 Path Testing Part II - 1 CSCE 747 Fall 2013 CSCE 747 Software Testing and Quality Assurance Lecture 06 – Path Testing Part II 9/16/
Unit Testing 101 Black Box v. White Box. Definition of V&V Verification - is the product correct Validation - is it the correct product.
Coverage Estimating the quality of a test suite. 2 Code Coverage A code coverage model calls out the parts of an implementation that must be exercised.
Summarizing “Structural” Testing Now that we have learned to create test cases through both: – a) Functional (blackbox)and – b) Structural (whitebox) testing.
Software Metrics Cmpe 550 Fall Software Metrics.
BASIS PATH TESTING.
Lecture Notes - Copyright © S. C. Kothari, All rights reserved.1 Efficient Debugging CPRE 556 Lecture 19.
White Box Testing Arun Lakhotia University of Southwestern Louisiana P.O. Box Lafayette, LA 70504, USA
Lec 09 Integration & System Testing- 1 CSCE 747 Fall 2013 CSCE 747 Software Testing and Quality Assurance Lecture 09-Integration and System Testing 9/25/2013.
Structural Testing Review Chapter Measuring Gaps and Redundancy We have seen that functional testing methods may produce test suites with serious.
Chapter 9: Path Testing Csci 565 Spring Objectives  Decision-to-decision path (DD-Paths)  Test Coverage Metrics  Basis Path Testing  Observation.
1 ECE 453 – CS 447 – SE 465 Software Testing & Quality Assurance Instructor Kostas Kontogiannis.
Software Testing Techniques Presented By Dr. Shazzad Hosain.
Lec 10 Integration Testing- 1 CSCE 747 Fall 2013 CSCE 747 Software Testing and Quality Assurance Lecture 10 – Integration Testing 9/30/
Paul Ammann & Jeff Offutt
BASIS PATH TESTING.
CSCE 747 Software Testing and Quality Assurance
Cyclomatic Complexity
Lecture 0 Software Engineering Course Introduction
White-Box Testing Pfleeger, S. Software Engineering Theory and Practice 2nd Edition. Prentice Hall, Ghezzi, C. et al., Fundamentals of Software Engineering.
Data Coverage and Code Coverage
White-Box Testing.
Chapter 9 Path Testing–Part 1
CSCE 747 Software Testing and Quality Assurance
Constructing and Using
Cyclomatic Complexity
Cyclomatic Complexity
Cyclomatic Complexity
Software Engineering Lecture #39
LECTURE 15: Software Complexity Metrics
Chapter 10 Data Flow Testing Slice Testing
White-Box Testing.
CSCE 747 Software Testing and Quality Assurance
CSCE 747 Software Testing and Quality Assurance
Cyclomatic Complexity
CSCE 747 Software Testing and Quality Assurance
Chapter 10 – Software Testing
Cyclomatic Complexity
Software Engineering Lecture #35
McCall’s Triangle of Quality
CSE403 Software Engineering Autumn 2000 More Testing
Software Testing “If you can’t test it, you can’t design it”
CPRE 416-Software Evolution and Maintenance-Lecture 11
Whitebox Testing.
Paul Ammann & Jeff Offutt
1. Cyclomatic complexity
Unit III – Chapter 3 Path Testing.
Presentation transcript:

CSCE 747 Software Testing and Quality Assurance Lecture 08 – Structural Testing Wrap-up 9/23/2013

Jorgensen, Paul C. Software Testing Last Time Dataflow Testing Ch 10, pp 151-167 Reading assignment Google( Mockito Tutorial Vogel) . Today Structural Testing WrapUp Ch 11, pp 169-177 Jorgensen, Paul C. Software Testing A Craftsman Approach

When should testing stop? Here are some possible answers: 1. When you run out of time 2. When continued testing causes no new failures 3. When continued testing reveals no new faults 4. When you cannot think of any new test cases 5. When you reach a point of diminishing returns 6. When mandated coverage has been attained 7. When all faults have been removed Jorgensen, Paul C. Software Testing A Craftsman Approach

Jorgensen, Paul C. Software Testing Triangle Program Jorgensen, Paul C. Software Testing A Craftsman Approach

Jorgensen, Paul C. Software Testing Gaps and Redundancies Paths in Triangle Jorgensen, Paul C. Software Testing A Craftsman Approach

Jorgensen, Paul C. Software Testing A Craftsman Approach

Jorgensen, Paul C. Software Testing A Craftsman Approach

Metrics for Method Evaluation Definition: The coverage of a methodology M with respect to a metric S is the ratio of n to s. We denote it as C(M, S). Definition: The redundancy of a methodology M with respect to a metric S is the ratio of m to s. We denote it as R(M, S). Definition: The net redundancy of a methodology M with respect to a metric S is the ratio of m to n. We denote it as NR(M, S). Jorgensen, Paul C. Software Testing A Craftsman Approach

Jorgensen, Paul C. Software Testing A Craftsman Approach

Jorgensen, Paul C. Software Testing A Craftsman Approach

Pseudo-code for the Insurance Premium Program 1. Input(baseRate, driverAge, points) 2. premium = 0 3. Select Case driverAge 4. Case 1: 16<= driverAge < 20 5. ageMultiplier = 2.8 6. If points < 1 Then 7. safeDrivingReduction = 50 8. EndIf 9. Case 2: 20<= driverAge < 25 10. ageMultiplier = 1.8 11. If points < 3 Then 12. safeDrivingReduction = 50 13. EndIf 14. Case 3: 25<= driverAge < 45 15. ageMultiplier = 1# 16. If points < 5 Then 17. safeDrivingReduction = 100 18. EndIf 19. Case 4: 45<= driverAge < 60 20. ageMultiplier = 0.8 21. If points < 7 Then 22. safeDrivingReduction = 150 23. EndIf 24. Case 5: 60<= driverAge < 120 25. ageMultiplier = 1.5 26. If points < 5 Then 27. safeDrivingReduction = 200 28. EndIf 29. Case 6: Else 30. Output (“Driver age out of range”) 31. End Select 32. premium = baseRate * ageMultiplier - safeDrivingReduction 33. Output (premium) Jorgensen, Paul C. Software Testing A Craftsman Approach

cyclomatic complexity The cyclomatic complexity of the program graph of the insurance premium program is V(G) = e – n + 2p = 11, Jorgensen, Paul C. (2011-07-16). Software Testing (Page 175). Auerbach Publications. Kindle Edition. Jorgensen, Paul C. Software Testing A Craftsman Approach

Jorgensen, Paul C. Software Testing 11.3.1 Path–Based Testing Acyclic  only a finite number of paths exist Jorgensen, Paul C. Software Testing A Craftsman Approach

Jorgensen, Paul C. Software Testing Fig11.4 Jorgensen, Paul C. Software Testing A Craftsman Approach

Jorgensen, Paul C. Software Testing A Craftsman Approach

Jorgensen, Paul C. Software Testing A Craftsman Approach

Jorgensen, Paul C. Software Testing Dataflow Testing Jorgensen, Paul C. (2011-07-16). Software Testing (Page 177). Auerbach Publications. Kindle Edition. Jorgensen, Paul C. Software Testing A Craftsman Approach

Jorgensen, Paul C. Software Testing 11.3.3 Slice Testing Slice testing does not provide much insight either. There are only four interesting slices: S(safeDrivingReduction, 32) = {1, 3, 4, 6, 7, 9, 11, 12 14, 16, 17, 19, 21, 22, 24, 26, 27, 31} S(ageMultiplier, 32) = {1, 3, 4, 5, 9, 10, 14, 15, 19, 20, 24, 25, 31} S(baseRate, 32) = {1} S(Premium, 31) = {2} The union of these slices Jorgensen, Paul C. Software Testing A Craftsman Approach

Jorgensen, Paul C. Software Testing References Brown, J.R. and Lipov, M., Testing for software reliability, Proceedings of the International Symposium on Reliable Software, Los Angeles, April 1975, pp. 518–527. Pressman, R.S., Software Engineering: A Practitioner’s Approach, McGraw-Hill, New York, 1982. Jorgensen, Paul C. (2011-07-16). Software Testing (Page 177). Auerbach Publications. Kindle Edition. Jorgensen, Paul C. Software Testing A Craftsman Approach

Jorgensen, Paul C. Software Testing A Craftsman Approach