test design techniques
play

Test Design Techniques Chapter 4 Part 2 3. Specification-based - PowerPoint PPT Presentation

INF 3121 Software Testing Test Design Techniques Chapter 4 Part 2 3. Specification-based testing (Black-box) 4. Structure-based testing (White-box) 5. Experience-based testing 6. Choosing test techniques Specification-based testing 1.


  1. INF 3121 Software Testing Test Design Techniques Chapter 4 – Part 2 3. Specification-based testing (Black-box) 4. Structure-based testing (White-box) 5. Experience-based testing 6. Choosing test techniques

  2. Specification-based testing 1. The test development process • 1.1 Background Black-box techniques • 1.2 Test analysis • 1.3 Test design • 1.4 Test implementation 2. Categories of test design techniques 3. Specification-based techniques (black-box) • 3.1 Equivalence partitioning • 3.2 Boundary value analysis • 3.3 Decision table testing • 3.4 State transition testing • 3.5 Use case testing 4. Structure-based techniques (white-box) • 4.1 Statement testing and coverage • 4.2 Decision testing and coverage • 4.3 Other structure-based techniques 5. Experience-based techniques 6. Choosing test techniques

  3. Specification-based testing 1. The test development process • 1.1 Background Black-box techniques • 1.2 Test analysis • 1.3 Test design • 1.4 Test implementation 2. Categories of test design techniques 3. Specification-based techniques (black-box) • 3.1 Equivalence partitioning • 3.2 Boundary value analysis • 3.3 Decision table testing • 3.4 State transition testing • 3.5 Use case testing 4. Structure-based techniques (white-box) • 4.1 Statement testing and coverage • 4.2 Decision testing and coverage • 4.3 Other structure-based techniques 5. Experience-based techniques 6. Choosing test techniques

  4. Decision table testing 1. The test development process • 1.1 Background • 1.2 Test analysis • 1.3 Test design • 1.4 Test implementation Rule 1 Rule 2 Rule 3 Rule 4 Rule le 5 Rule le 6 Rule le 7 Rule le 8 2. Categories of test design Conditions techniques Condition 1 True True True True Fals lse Fals lse Fals lse Fals lse 3. Specification-based techniques (black-box) • 3.1 Equivalence partitioning Condition 2 True True False False Tru rue Tru rue Fals lse Fals lse • 3.2 Boundary value analysis • 3.3 Decision table testing Condition 2 True False True False Tru rue Fals lse Tru rue Fals lse • 3.4 State transition testing • 3.5 Use case testing Actions 4. Structure-based techniques (white-box) • 4.1 Statement testing and Action 1 False False Tru rue False False False False False coverage • 4.2 Decision testing and coverage Action 2 False False False Tru rue False False False False • 4.3 Other structure-based techniques Action 3 Tru rue False False False False False False False 5. Experience-based techniques 6. Choosing test techniques Action 4 False False False False Tru rue False False False

  5. Decision table testing 1. The test development process • 1.1 Background • 1.2 Test analysis • 1.3 Test design • 1.4 Test implementation 2. Categories of test design techniques Rule 1 Rule 2 Rule 3 Rule 4 Rule le 5 Rule le 6 Rule le 7 Rule le 8 3. Specification-based techniques Conditions (black-box) • 3.1 Equivalence partitioning Condition 1 True True True True Fals lse Fals lse Fals lse Fals lse • 3.2 Boundary value analysis • 3.3 Decision table testing Condition 2 True True False False True True Fals lse Fals lse • 3.4 State transition testing • 3.5 Use case testing Condition 2 True False True False True Fals lse True Fals lse 4. Structure-based techniques (white-box) • 4.1 Statement testing and Action 1 Action 2 Action 4 Actions Action 3 x x x x coverage • 4.2 Decision testing and coverage • 4.3 Other structure-based techniques The coverage standard commonly used with decision table testing is to 5. Experience-based techniques have at least one test per column, which typically involves covering all 6. Choosing test techniques combinations of triggering conditions.

  6. Decision table testing 1. The test development process • 1.1 Background • 1.2 Test analysis • 1.3 Test design • 1.4 Test implementation 2. Categories of test design techniques Example - Decision table for credit-card 3. Specification-based techniques (black-box) • 3.1 Equivalence partitioning - If you are a new customer opening a credit card account, you will get a • 3.2 Boundary value analysis • 3.3 Decision table testing 15% discount on all your purchases today. • 3.4 State transition testing • 3.5 Use case testing - If are an existing customer and you hold a loyalty card, you get 10% 4. Structure-based techniques (white-box) discount. • 4.1 Statement testing and coverage • 4.2 Decision testing and coverage - If you have a coupon, you can get 20% off today (but it can’t be used • 4.3 Other structure-based techniques with a ‘new - customer’ discount ) 5. Experience-based techniques 6. Choosing test techniques - Discount are added, if applicable.

  7. Decision table testing 1. The test development process • 1.1 Background • 1.2 Test analysis • 1.3 Test design • 1.4 Test implementation Rule 1 Rule 2 Rule 3 Rule 4 Rule 5 Rul Rule 6 Ru Ru Rule 7 Rule 8 Rul 2. Categories of test design Conditions techniques New customer (15%) True True True True False False False False 3. Specification-based techniques (black-box) • 3.1 Equivalence partitioning Loyalty card (10%) True True False False True True False False • 3.2 Boundary value analysis • 3.3 Decision table testing • 3.4 State transition testing Coupon (20%) True False True False True False True False • 3.5 Use case testing Actions 4. Structure-based techniques (white-box) Discount x x 20 % 15% 30% 10% 20% 0% • 4.1 Statement testing and coverage • 4.2 Decision testing and coverage - If you are a new customer opening a credit card account, you will get a 15% discount on all your • 4.3 Other structure-based techniques purchases today. - If are an existing customer and you hold a loyalty card, you get 10% discount. 5. Experience-based techniques - If you have a coupon, you can get 20% off today (but it can’t be used with a ‘new - customer’ discount ) 6. Choosing test techniques - Discount are added, if applicable.

  8. Decision table testing analysis? 1. The test development process • 1.1 Background • 1.2 Test analysis • 1.3 Test design • 1.4 Test implementation 2. Categories of test design Decision tables are a good way to: techniques • capture system requirements that contain logical conditions 3. Specification-based techniques (black-box) • to document internal system design. • 3.1 Equivalence partitioning • 3.2 Boundary value analysis • 3.3 Decision table testing • 3.4 State transition testing The input conditions and actions are most often stated in such a way that • 3.5 Use case testing they can be either true or false (Boolean). 4. Structure-based techniques (white-box) • 4.1 Statement testing and The strength of decision table testing is that it creates combinations of coverage • 4.2 Decision testing and conditions that might not otherwise have been exercised during testing. coverage • 4.3 Other structure-based techniques It may be applied to all situations when the action of the software 5. Experience-based techniques depends on several logical decisions. 6. Choosing test techniques

  9. State transition testing ? 1. The test development process • 1.1 Background • 1.2 Test analysis • 1.3 Test design • 1.4 Test implementation 2. Categories of test design techniques A system can be in a finite number of different states. This aspects 3. Specification-based techniques (black-box) of the system can be described as a ‘finite state machine’ ; a state • 3.1 Equivalence partitioning • 3.2 Boundary value analysis diagram. • 3.3 Decision table testing • 3.4 State transition testing • 3.5 Use case testing Any system where you get a different output for the same input, 4. Structure-based techniques depending on what has happened before, is a finite state system. (white-box) • 4.1 Statement testing and coverage • 4.2 Decision testing and coverage • 4.3 Other structure-based The transition from one state to another are determined by the techniques rules of the ‘machine’ . 5. Experience-based techniques 6. Choosing test techniques

  10. State transition testing ? 1. The test development process • 1.1 Background • 1.2 Test analysis • 1.3 Test design • 1.4 Test implementation A ‘finite state machine’ is often shown as a state diagram: 2. Categories of test design AMT PIN example. techniques 3. Specification-based techniques (black-box) • 3.1 Equivalence partitioning • 3.2 Boundary value analysis • 3.3 Decision table testing • 3.4 State transition testing • 3.5 Use case testing 4. Structure-based techniques (white-box) • 4.1 Statement testing and coverage • 4.2 Decision testing and coverage • 4.3 Other structure-based techniques 5. Experience-based techniques 6. Choosing test techniques The states of the system under test are separate, identifiable and finite in number.

Recommend


More recommend