Chapter 5 Retrospective on Functional Testing Software Testing

Slides:



Advertisements
Similar presentations
Testing “Multiple Conditions” with Decision Table Technique
Advertisements

Overview Functional Testing Boundary Value Testing (BVT)
Chapter 2: Boundary Value Testing : BVT Software Testing
Decision Table Based Testing
Chapter 4: Decision Table Testing Software Testing
Testing and Quality Assurance
Equivalence Class Testing
1 ECE 453 – CS 447 – SE 465 Software Testing & Quality Assurance Instructor Kostas Kontogiannis.
Software Testing and Quality Assurance
Testing an individual module
CS4723 Software Validation and Quality Assurance Lecture 02 Overview of Software Testing.
Chapter 5 Retrospective on Functional Testing Software Testing
Software Testing Prasad G.
1 Software Testing Techniques CIS 375 Bruce R. Maxim UM-Dearborn.
Equivalence Class Testing
1 Functional Testing Motivation Example Basic Methods Timing: 30 minutes.
Chapter 1: Introduction to Software Testing Software Testing
1 ECE 453 – CS 447 – SE 465 Software Testing & Quality Assurance Instructor Kostas Kontogiannis.
Testing – A Methodology of Science and Art. Agenda To show, A global Test Process which work Like a solution Black Box for an Software Implementation.
CS4311 Spring 2011 Unit Testing Dr. Guoqiang Hu Department of Computer Science UTEP.
By Asst.Prof.Dr. Wararat Songpan (Rungworawut) Faculty of Computer Science, Department of Science, Khon Kaen University, Thailand 1 Chapter 3: Equivalence.
A General Discussion on Functional (Black-box) Testing What are some of the concerns of testers ? –Have we got enough time to test (effort & schedule)?
Cause & Effect Graph Comparison Testing. Cause & Effect Graph This is basically a hardware testing technique adapted to software testing. It considers.
Software Engineering 2 Software Testing Claire Lohr pp 413 Presented By: Feras Batarseh.
1 Equivalence Class Testing Chapter 6. 2 Introduction Boundary Value Testing derives test cases with Massive redundancy Serious gaps Equivalence Class.
Summarizing “Structural” Testing Now that we have learned to create test cases through both: – a) Functional (blackbox)and – b) Structural (whitebox) testing.
Fault Tolerance Benchmarking. 2 Owerview What is Benchmarking? What is Dependability? What is Dependability Benchmarking? What is the relation between.
Overview Functional Testing Boundary Value Testing (BVT)
Equivalence Class Testing In chapter 5, we saw that all four variations of boundary value testing are vulnerable to –gaps of untested functionality, and.
Software Testing and Quality Assurance 1. What is the objectives of Software Testing?
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
1 Software Testing & Quality Assurance Lecture 5 Created by: Paulo Alencar Modified by: Frank Xu.
1 © 2011 Professor W. Eric Wong, The University of Texas at Dallas Requirements-based Test Generation for Functional Testing W. Eric Wong Department of.
1 Software Testing. 2 Equivalence Class Testing 3 The use of equivalence class testing has two motivations: –Sense of complete testing –Avoid redundancy.
Equivalence Class Testing Use the mathematical concept of partitioning into equivalence classes to generate test cases for Functional (Black-box) testing.
1 Software Testing. 2 What is Software Testing ? Testing is a verification and validation activity that is performed by executing program code.
Testing Integral part of the software development process.
Dynamic Black-Box Testing Part 1 What is dynamic black-box testing? How to reduce the number of test cases using: Equivalence partitioning Boundary value.
A General Discussion on Functional (Black-box) Testing What are some of the concerns of testers ? –Have we got enough time to test (effort & schedule)?
Cause & Effect Graph Comparison Testing
Chapter 3: Equivalence Class Testing :EC Software Testing
ISQB Software Testing Section Meeting 10 Dec 2012.
Software Testing.
Software Testing.
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
Subject Name: Software Testing Subject Code: 10CS842 Prepared By:
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Testing Tutorial 7.
Decision Table Testing
Software Testing.
SOFTWARE TESTING OVERVIEW
Software Engineering (CSI 321)
Input Space Partition Testing CS 4501 / 6501 Software Testing
CS5123 Software Validation and Quality Assurance
Structural testing, Path Testing
Types of Testing Visit to more Learning Resources.
Overview Functional Testing Boundary Value Testing (BVT)
Chapter 10 Verification and Validation of Simulation Models
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Equivalence Class Testing
CSCE 747 Software Testing and Quality Assurance
CSCE 747 Software Testing and Quality Assurance
CSCE 747 Software Testing and Quality Assurance
CS 1111 Introduction to Programming Fall 2018
Overview Functional Testing Boundary Value Testing (BVT)
Chapter 1: Boundary Value Testing
Overview Functional Testing Boundary Value Testing (BVT)
© Oxford University Press All rights reserved.
Overview Functional Testing Boundary Value Testing (BVT)
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Presentation transcript:

Chapter 5 Retrospective on Functional Testing 322 235 Software Testing By Wararat Songpan(Rungworawut),PH.D. Department of Computer Science, Faculty of Science, Khon Kaen University, Thailand 322 235 การทดสอบซอฟต์แวร์

Functional testing or Black Box We have seen 3 main types of functional testing, BVT, EC, and DT. Boundary Value Testing (BVT): Boundary Value Analysis (BVA) – 5 extreme values – single assumption Robustness Testing (RT) – 7 extreme values – single assumption Worst-case Testing (WT) – 5 extreme values – Multiple assumption Robust Worst-case Testing (RWT) - 7 extreme values – Multiple assumption Equivalence Class Testing (EC): Weak Normal (WN) - valid EC(try no repeat) -> single assumption Strong Normal (SN) - valid EC (Every) -> multiple assumption Weak Robust (WR) - valid & Invalid EC -> single assumption Strong Robust (SR) - valid & Invalid EC-> multiple assumption Decision Table-based Testing (DT): It finds out of some test cases that do not make sense (Impossible test cases) 322 235 การทดสอบซอฟต์แวร์

Test effort (1) Look at questions related to testing effort, testing efficiency, and testing effectiveness between 3 techniques. high low Number of Test Cases Sophistication Boundary value Equivalence class Decision table 322 235 การทดสอบซอฟต์แวร์

Effort to Identify Test Cases Test effort (1) high low Effort to Identify Test Cases Boundary value Equivalence class Decision table Sophistication 322 235 การทดสอบซอฟต์แวร์

Test Identification Effort VS Test Execution Effort (BVT) high low Number of Test Cases Sophistication Boundary value Equivalence class Decision table high low Effort to Identify Test Cases Boundary value Equivalence class Decision table Sophistication BVA: They are mechanical on generating test cases and therefore are easy to automate. 322 235 การทดสอบซอฟต์แวร์

Test Identification Effort VS Test Execution Effort (EC) high low Number of Test Cases Sophistication Boundary value Equivalence class Decision table high low Effort to Identify Test Cases Boundary value Equivalence class Decision table Sophistication EC: The equivalence class techniques take into account data dependencies and the program logic however, more thought and care is required to define the equivalence relation, partition the domain, and identify the test cases. 322 235 การทดสอบซอฟต์แวร์

Test Identification Effort VS Test Execution Effort (EC) high low Number of Test Cases Sophistication Boundary value Equivalence class Decision table high low Effort to Identify Test Cases Boundary value Equivalence class Decision table Sophistication DT: The decision table technique is the most sophisticated, because it requires that we consider both data and logical dependencies. 322 235 การทดสอบซอฟต์แวร์

Functional Test Cases: BVA (15 TCs) Test case ID a b c Expected Results 1 100 Isosceles 2 3 Equilateral 4 199 5 200 Not a Trianle 6 7 8 9 10 Not a Triangle 11 12 13 14 15

Functional Test Cases: WN.EC (11 TCs) Test case ID a b c Expected Results 1 5 Equilateral 2 3 Isosceles 4 Scalene 6 8 Not a triangle 7 9 10 11

Functional Test Cases: DT (8 TCs.) Test case ID a b c Expected Results DT1 4 1 2 Not a Triangle DT2 DT3 DT4 5 Equilateral DT5 ? Impossible DT6 DT7 3 Isosceles DT8 DT9 DT10 DT11 Scalene

The number of test cases 322 235 การทดสอบซอฟต์แวร์

The number of test cases 322 235 การทดสอบซอฟต์แวร์

The number of test cases 322 235 การทดสอบซอฟต์แวร์

Test cases Trend Line: All Program Test case per method-all problem 322 235 การทดสอบซอฟต์แวร์

Testing Efficiency (1) The data above, reveal the fundamental limitation of functional testing: the twin possibilities of gaps of untested functionality redundant tests For example: The decision table technique for the NextDate program generated 22 test cases (fairly complete) The worst case boundary analysis generated 125 cases. These are fairly redundant (check January 1 for five different years, only a few February cases but none on February 28, and February 29, and no major testing for leap years). The strong equivalence class test cases generated 36 test cases 11 of which are impossible. There are gaps and redundancy in functional test cases, and these are reduced by using more sophisticated techniques (i.e. Decision Tables).

Testing Efficiency (2) The question is how can we quantify what we mean by the term testing efficiency. The intuitive notion of an efficient testing technique is that it produces a set of test cases that are “just right” that is, with no gaps and no redundancy. We can even develop various ratios of useful test cases (i.e. not redundant, and with no gaps) with respect to the total number of test cases generated by method A and method B. One way to identify redundancy by annotating test cases with a brief purpose statement. Test cases with the same purpose provide a sense of redundancy measure. Detecting gaps is harder and this can be done only by comparing two different methods, even though there are no guarantees for complete detection of gaps. Overall, the structural methods (we will see later in the course), support interesting and useful metrics and these can provide a better quantification of testing efficiency.

Guidelines Kinds of faults may reveal some pointers as to which testing method to use. If we do not know the kinds of faults that are likely to occur in the program then the attributes most helpful in choosing functional testing methods are: Whether the variables represent physical or logical quantities Whether or not there are dependencies among variables Whether single or multiple faults are assumed Whether exception handling is prominent

Guidelines for Functional Testing Technique Selection The following selection guidelines can be considered: If the variables refer to physical quantities and/or are independent domain testing and BVT and EC can be considered. If the variables are dependent, EC and decision table testing can be considered If the single-fault assumption is plausible to assume, boundary value analysis and robustness testing can be considered If the multiple-fault assumption is plausible to assume, worst case testing, robust worst case testing, and decision table testing can be considered If the program contains significant exception handling, robustness testing and decision table testing can be considered If the variables refer to logical quantities, equivalence class testing and decision table testing can be considered

/document s for tracking Bug life Cycle BTT= Bug Tracking Tool /document s for tracking 322 235 การทดสอบซอฟต์แวร์

Test Summary Report 322 235 การทดสอบซอฟต์แวร์

Test Summary Report 322 235 การทดสอบซอฟต์แวร์

Test Summary Report 322 235 การทดสอบซอฟต์แวร์

Basic of Testing effectiveness Metrics • Test Coverage • Productivity • Defect Detection Effectiveness • Defect Acceptance Ratio • Estimation Accuracy 322 235 การทดสอบซอฟต์แวร์

Test Coverage Definition Calculation Unit Percentage of requirement that are covered in test Execution = (Number of Requirement Covered in Test Execution/ Number of Requirement Specified ) * 100 Percentage (%) 322 235 การทดสอบซอฟต์แวร์

Productivity Definition Calculation Unit The number of test cases developed or Test cases executed per person hour of effort = (Number of Test Cases Developed/ Effort for Test Case development or Execution) /hour 322 235 การทดสอบซอฟต์แวร์

Defect Detection Effectiveness Definition Calculation Unit Percentage of the total number of defects reported for the application that are reported during the testing stage =(Number of Defects Reported during testing and Accepted)/ (Number of Defects Reported during testing and Accepted + Number of Defects Reported after the testing stage and Accepted) * 100 Percentage (%) 322 235 การทดสอบซอฟต์แวร์

Defect Acceptance Ratio Definition Calculation Unit Percentage of defects reported that are accepted as valid =(Number of Defects Accepted as Valid)/ (Number of Defects Reported)*100 Percentage (%) 322 235 การทดสอบซอฟต์แวร์

Estimation Accuracy Definition Calculation Unit Ratio of estimated effort to the actual effort for testing =(Estimated Effort)/ (Actual Effort) * 100 Percentage (%) 322 235 การทดสอบซอฟต์แวร์