MSc Software Testing MSc Prófun hugbúnaðar
|
|
- Bridget Snow
- 5 years ago
- Views:
Transcription
1 MSc Software Testing MSc Prófun hugbúnaðar Fyrirlestrar 7 & 8 Structural Testing White-box tests. 29/8/27 Dr Andy Brooks 1
2 Case Study Dæmisaga Reference Structural Testing of Programs, A Survey, A A Omar and F A Mohammed, ACM SIGSOFT Software Engineering Notes vol 14 no 2, April 1989, pp plus extra teacher s notes 29/8/27 Dr Andy Brooks 2
3 Structural testing method The static analyis phase involves deriving the program flowgraph as a collection of vertices and edges. Each vertex represents a statement. Each edge between two vertices represents the control flow. The path selection phase involves choosing a finite set of paths in the flowgraph with a view to satisfying one or more coverage criteria. 29/8/27 Dr Andy Brooks 3
4 Structural testing method The test case generation phase involves generating the input data necessary to test the selected paths. The dynamic analysis phase involves executing the program using the test data and analysing the output produced. compare expected output with actual output 29/8/27 Dr Andy Brooks 4
5 tornado/skýstrókur extra Comparing expected output with actual output No Year (y) Month (m) Day (d) Wind (w) Expected Actual Result Please retry your input was incorrect On that Sunday it was an F1 tornado On that Monday it was an F1 tornado On that Thursday it was an F2 tornado On that Friday it was an F3 tornado Please retry your input was incorrect On that Wednesday it was an F4 tornado On that Thursday it was an F5 tornado Please retry your input was incorrect Please retry your input was incorrect Please retry your input was incorrect 12 x Please retry your input was incorrect Just 12 of many test cases... 29/8/27 Dr Andy Brooks 5
6 Static Analysis The program is assumed to have compiled successfully. Each executable statement is assigned a number. Each statement is represented as a node with its number inside. An arc represents the transition from one statement to another. A sequence of nodes with only one incoming and one outgoing arc can be reduced to a single node. 29/8/27 Dr Andy Brooks 6
7 Figure 1 Sample Fortran program 1 READ(1,3) I, J, K 3 FORMAT(3I4) 3 integers, field width 4 2 IF (I.EQ.) GO TO 3 3 A = SQRT(I**2 + J**2) 4 B = I+J 5 GO TO A = SQRT(J**2 + K**2) 7 B = J+K 8 4 WRITE(2,4) A, B 4 FORMAT(2F8.3) 2 reals, field width 8, 3 decimal 9 STOP 29/8/27 Dr Andy Brooks 7
8 29/8/27 Dr Andy Brooks program graph reduced program graph matrix representation of the reduced graph CC=2
9 extra Drawing program graphs Sequence If While Switch Non-branching sequence of statements 29/8/27 Dr Andy Brooks 9
10 extra Cyclomatic Complexity (CC) The cyclomatic complexity of a program graph may be calculated in 3 ways. 1. Number of regions no. bounded areas + the unbounded area surrounding graph 2. Number of edges - number of nodes Number of predicate nodes + 1 switch is not a predicate node 29/8/27 Dr Andy Brooks 1
11 extra Cyclomatic Complexity (CC) The value of cyclomatic complexity defines the number of independent paths and provides an upper bound for the number of tests that must be conducted to ensure all statements have been executed at least once. An independent path must traverse at least one edge that has not been traversed before. Basis path testing involves writing test cases to execute all the independent paths. 29/8/27 Dr Andy Brooks 11
12 extra Cyclomatic Complexity is 5. At least 5 test cases are needed to ensure statement coverage and that every predicate has been evaluated true and false at least once. Code with high complexity (high CC) may get targeted for additional tests. But note that there are disagreements over the theoretical foundation and usefulness of the CC metric. MAXV is the maximum cyclomatic complexity value for any single method within a class. 29/8/27 Dr Andy Brooks 12
13 path selection criteria/control flow criteria criteria/viðmiðanir execute each statement at least once This criteria is poor and various classes of errors are undetected. If X=X+Y is erroneously written X=X-Y and the test case sets Y to, no error will be detected. If X=X*2 is erroneously written X=X+2 and the test case sets X to 2, no error will be detected. 29/8/27 Dr Andy Brooks 13
14 path selection criteria/control flow criteria execute each statement at least once F P T S1 If the test data causes P to be true then correct results are output. all statements executed erroneous transfer of control S2 But the erroneous transfer of control when P is false will be undetected. 29/8/27 Dr Andy Brooks 14
15 path selection criteria/control flow criteria exhaustive path testing In exhaustive path testing, each path in the program is executed at least once. However, even for small programs, the number of paths can be extremely large. Exhaustive testing is an impossible task. Even if exhaustive testing were possible, a program can still contain errors: There is no guarantee the program meets its specification. A program may be incorrect because of missing paths. If A-B is written instead of ABS(A-B), this error may not be detected by a test. 29/8/27 Dr Andy Brooks 15
16 path selection criteria/control flow criteria exhaustive path testing 2 iterations A The number of unique logical paths between A and B is: N 1 14 Executing a path every 5 minutes would take around one billion years. Executing a path every second would take around three million years. B 29/8/27 Dr Andy Brooks 16
17 path selection criteria/control flow criteria decision coverage (branch testing) Each branch is executed at least once. This means each decision has a true and false outcome at least once. This means each statement is executed at least once. For multi-way decisions (case, switch), the test cases exercise all possible outcomes. 29/8/27 Dr Andy Brooks 17
18 path selection criteria/control flow criteria essential branches criteria In normal branch testing, all branches are treated equally. This means that there are many branches which are executed by many test data. In essential branch testing, redundant test cases are removed by considering only essential branches. essential essential 29/8/27 Dr Andy Brooks 18
19 path selection criteria/control flow criteria condition coverage criterion each condition in a decision takes on all possible outcomes at least once But condition coverage may not satisfy branch coverage. Assume IF (A and B) is being tested. One test case could be: A is true, B is false Another test case could be: A is false, B is true Both conditions A and B take on true and false. But these two test cases do not cause the THEN clause of the IF to be executed. 29/8/27 Dr Andy Brooks 19
20 path selection criteria/control flow criteria decision/condition coverage criterion Each condition in a decision takes on all possible outcomes at least once. Each decision has a true and false outcome at least once. But: if an OR is found to be true early, subsequent conditions need not be evaluated. if an AND is found to be false early, subsequent conditions need not be evaluated. so errors in logical expressions are not necessarily made visible. 29/8/27 Dr Andy Brooks 2
21 path selection criteria/control flow criteria multiple-condition coverage criterion Test cases are written to cover all possible combinations of condition outcomes. Multiple-condition coverage also satisfies decision coverage, condition coverage, and decision/condition coverage. DO I = 1 TO M WHILE N... END 1. I < M and N is true 2. I < M and N is false 3. I > M and N is true 4. I > M and N is false If (A<1) & (B > 2) Draw a truth table for & and create test data for each outcome. A B Outcome 1 1 T 1 F 1 F F extra 29/8/27 21
22 extra Just another condition testing strategy If Grade == A test with: Grade < A Grade == A Grade > A 29/8/27 Dr Andy Brooks 22
23 extra Loop testing strategy Skip/avoid the loop Go round once Go round twice Go round m times where m < n, the maximum number of iterations n-1, n, n+1 29/8/27 Dr Andy Brooks 23
24 Infeasible paths Testing can be problematic if infeasible paths are present. In traditional approaches, paths were chosen whether or not they were feasible. if (age < 21) System.out.println ("Youth is wonderful. Enjoy."); else if (age < 21) System.out.println ("No test will ever get here."); dead code Logical contradiction. 29/8/27 Dr Andy Brooks 24
25 Infeasible paths if (x < ) System.out.println ( S1 ); else System.out.println ( S2 ); if (x > 2) System.out.println ( S3 ); else System.out.println ( S4 ); We can never have: S1 S3 If we know x is always > 5 then we can never have S1 S1 S2 S3 S4 S4 29/8/27 Dr Andy Brooks 25
26 path selection criteria/data flow criteria 3.2. Data flow criteria During program execution a statement may: define a variable (assign a value) reference a variable (access a value) undefine a variable (variable destroyed) loop control variables are undefined once the loop terminates Four types of error are possible: A variable is undefined and then referenced. A variable is defined and then undefined. A variable is defined and then defined again. A variable is defined yet never referenced. A compiler might detect some of these. Which? By following the path of a variable, these four types of error can be detected. 29/8/27 Dr Andy Brooks 26
27 path selection criteria/data flow criteria 3.2. Data flow criteria (Fig. 5) u U d r U undefined D defined R referenced A abnormal u D d,u A d,r,u r d R Data flow errors are: ur du dd 29/8/27 Dr Andy Brooks 27
28 path selection criteria/data flow criteria 3.2. Data flow criteria 1. For each variable, select a path which contains a definition use of the variable, then either a computational or predicate use of that variable. 2. For each variable, select all the paths which include both a definition of the variable and a predicate use of the variable. 3. For each variable, select all the paths which include both a definition of the variable and a computation use of the variable. 4. For each variable, select all the paths which define the variable, then make computation and predicate use of it. This family of test criteria fall between branch testing and every path testing in terms of difficulty of fulfillment. 29/8/27 Dr Andy Brooks 28
29 path selection criteria/data flow criteria 3.2. Data flow criteria y= f(x1,x2) computational-use of x1 and x2 definition of y IF X=Y THEN GOTO M predicate use of X and Y 29/8/27 Dr Andy Brooks 29
30 4. Test case generation Work out the test inputs required for each selected test path. Performing this task manually can take a lot of time. 29/8/27 Dr Andy Brooks 3
31 4. Test case generation Alternatively, generate test data iteratively or randomly and obtain feedback on which paths have been executed by instrumenting the software under test. Continue to generate test data until all the selected test paths have been executed at least once. Information about the number of times a test path has been executed can be useful. test paths with high frequency may be regarded as sufficiently tested 29/8/27 Dr Andy Brooks 31
32 6. Dynamic Analysis Run the program with a set of test cases which satisfies one ore more criteria. Compare expected output with actual output. Correct any identified faults. Removing identified faults does not mean the program is free of faults. 29/8/27 Dr Andy Brooks 32
33 7. Reliability and testing strategies adequacy A set T of test data for a program P is reliable if it reveals that P contains an error whenever P is incorrect. But we cannot construct such reliable test data. Empirically, Howden (1976) found that path testing was almost reliable for about 65% of program errors across 11 programs. But the programs involved were very simple in which each path could be tested. And not all error types were considered. 29/8/27 Dr Andy Brooks 33
34 8. Conclusion Structural testing comprises four phases: static analysis phase flowgraph developed path selection phase control flow criteria data flow criteria test case generation phase possibly using random test data and instrumented software under test dynamic analysis phase compare expected and actual output 29/8/27 Dr Andy Brooks 34
35 8. Conclusion But although we can find a systematic and automated method of testing, yet the testing theory has failed to yield any meaningful comparisons of methods. 29/8/27 Dr Andy Brooks 35
36 8. Conclusion What we shall try to do is to try different combination of methods to extract empirically the optimal combination. 29/8/27 Dr Andy Brooks 36
MSc Software Testing and Maintenance MSc Prófun og viðhald hugbúnaðar
MSc Software Testing and Maintenance MSc Prófun og viðhald hugbúnaðar Fyrirlestrar 31 & 32 Structural Testing White-box tests. 27/1/25 Dr Andy Brooks 1 Case Study Dæmisaga Reference Structural Testing
More informationWhat is Structural Testing?
Structural Testing What is Structural Testing? Based on Source Code Examine the internal structure of the program Test cases are derived from an examination of program s logic Do not pay any attention
More informationWhite-Box Testing Techniques
T-76.5613 Software Testing and Quality Assurance Lecture 3, 18.9.2006 White-Box Testing Techniques SoberIT Content What are white-box testing techniques Control flow testing Statement coverage Branch coverage
More informationMTAT : Software Testing
MTAT.03.159: Software Testing Lecture 03: White-Box Testing (Textbook Ch. 5) Dietmar Pfahl Spring 2016 email: dietmar.pfahl@ut.ee Lecture Chapter 5 White-box testing techniques (Lab 3) Structure of Lecture
More informationLecture 26: Testing. Software Engineering ITCS 3155 Fall Dr. Jamie Payton
Lecture 26: Testing Software Engineering ITCS 3155 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte Dec. 9, 2008 Verification vs validation Verification:
More informationSTRUCTURAL TESTING. AKA White Box Testing. Thanks go to Andreas Zeller for allowing incorporation of his materials. F. Tip and M.
F. Tip and M. Weintraub STRUCTURAL TESTING AKA White Box Testing Thanks go to Andreas Zeller for allowing incorporation of his materials STRUCTURAL TESTING Testing based on the structure of the code Test
More informationMTAT : Software Testing
MTAT.03.159: Software Testing Lecture 03: White-Box Testing (Textbook Ch. 5) Dietmar Pfahl Spring 2017 email: dietmar.pfahl@ut.ee Lecture Chapter 5 White-box testing techniques (Lab 3) Structure of Lecture
More informationStructural Testing. Testing Tactics. Why Structural? Structural white box. Functional black box. Structural white box. Functional black box
From Pressman, Software Engineering a practitioner s approach, Chapter 14 and Pezze + Young, Software Testing and Analysis, Chapters 12-13 Structural Testing Software Engineering Andreas Zeller Saarland
More informationSTRUCTURAL TESTING. AKA White Box Testing. Thanks go to Andreas Zeller for allowing incorporation of his materials. F. Tip and M.
F. Tip and M. Weintraub STRUCTURAL TESTING AKA White Box Testing Thanks go to Andreas Zeller for allowing incorporation of his materials STRUCTURAL TESTING Testing based on the structure of the code Test
More informationSubject Software Testing Structural Testing
Subject Software Testing Structural Testing Objective: 1. Understand Concept of structural testing 2. How structural (code-based or glass-box) testing complements functional (black-box) testing 3. Recognize
More informationSoftware Testing. 1. Testing is the process of demonstrating that errors are not present.
What is Testing? Software Testing Many people understand many definitions of testing :. Testing is the process of demonstrating that errors are not present.. The purpose of testing is to show that a program
More informationIntroduction to Software Engineering
Introduction to Software Engineering (CS350) Lecture 17 Jongmoon Baik Testing Conventional Applications 2 Testability Operability it operates cleanly Observability the results of each test case are readily
More informationMTAT : Software Testing
MTAT.03.159: Software Testing Lecture 03: White-Box Testing (Textbook Ch. 5) Spring 2013 Dietmar Pfahl email: dietmar.pfahl@ut.ee Lecture Chapter 5 White-box testing techniques (Lab 3) Structure of Lecture
More informationTesting Methods: White Box Testing II
Testing Methods: White Box Testing II Outline Today we continue our look at white box testing with more code coverage methods, and a data coverage method We ll look at : - code coverage testing - decision
More informationINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERING Structural Testing d_sinnig@cs.concordia.ca Department for Computer Science and Software Engineering Introduction Testing is simple all a tester needs to do is find
More informationStructural Testing. Testing Tactics. Why Structural? Structural white box. Functional black box. Structural white box. Functional black box
From Pressman, Software Engineering a practitioner s approach, Chapter 14 and Pezze + Young, Software Testing and Analysis, Chapters 12-13 Structural Testing Software Engineering Andreas Zeller Saarland
More informationTesting Tactics. Structural Testing. Why Structural? Why Structural? Functional black box. Structural white box. Functional black box
ing Tactics Structural ing Functional black box Structural white box Software Engineering Andreas Zeller Saarland University s based on spec covers as much specified behavior as possible s based on code
More informationProgram Testing and Analysis: Manual Testing Prof. Dr. Michael Pradel Software Lab, TU Darmstadt
Program Testing and Analysis: Manual Testing Prof. Dr. Michael Pradel Software Lab, TU Darmstadt Partly based on slides from Peter Müller, ETH Zurich 1 Warm-up Quiz What does the following code print?
More informationSoftware Testing Fundamentals. Software Testing Techniques. Information Flow in Testing. Testing Objectives
Software Testing Fundamentals Software Testing Techniques Peter Lo Software Testing is a critical element of software quality assurance and represents the ultimate review of specification, design and coding.
More informationVerification Overview Testing Theory and Principles Testing in Practice. Verification. Miaoqing Huang University of Arkansas 1 / 80
1 / 80 Verification Miaoqing Huang University of Arkansas Outline 1 Verification Overview 2 Testing Theory and Principles Theoretical Foundations of Testing Empirical Testing Principles 3 Testing in Practice
More informationUsing the code to measure test adequacy (and derive test cases) Structural Testing
Using the code to measure test adequacy (and derive test cases) Structural Testing Objectives To describe a second approach to testing which is geared to find program defects To explain the use of program
More informationSoftware Testing. Software Testing
Software Testing Software Testing Error: mistake made by the programmer/ developer Fault: a incorrect piece of code/document (i.e., bug) Failure: result of a fault Goal of software testing: Cause failures
More informationLogic Coverage for Source Code
Logic Coverage for Source Code CS 4501 / 6501 Software Testing [Ammann and Offutt, Introduction to Software Testing, Ch. 8] 1 Structural Logic Coverage for Source Code Aim: to identify test requirements
More informationStructural Testing. White Box Testing & Control Flow Analysis
Structural Testing White Box Testing & Control Flow Analysis Functional vs. Structural Functional Have I built the right product? Tests derived from the program specification Internal Structure ignored
More informationMTAT : Software Testing
MTAT.03.159: Software Testing Lecture 04: White-Box Testing (advanced) Part1 Dietmar Pfahl Spring 2018 email: dietmar.pfahl@ut.ee White-Box Testing Techniques Control-Flow Testing Data-Flow Testing Mutation
More informationAerospace Software Engineering
16.35 Aerospace Software Engineering Verification & Validation Prof. Kristina Lundqvist Dept. of Aero/Astro, MIT Would You...... trust a completely-automated nuclear power plant?... trust a completely-automated
More informationIntroduction to Dynamic Analysis
Introduction to Dynamic Analysis Reading assignment Gary T. Leavens, Yoonsik Cheon, "Design by Contract with JML," draft paper, http://www.eecs.ucf.edu/~leavens/jml//jmldbc.pdf G. Kudrjavets, N. Nagappan,
More informationPath Testing + Coverage. Chapter 8
Path Testing + Coverage Chapter 8 Structural Testing n Also known as glass/white/open box testing n A software testing technique whereby explicit knowledge of the internal workings of the item being tested
More informationSoftware Testing. Lecturer: Sebastian Coope Ashton Building, Room G.18
Lecturer: Sebastian Coope Ashton Building, Room G.18 E-mail: coopes@liverpool.ac.uk COMP 201 web-page: http://www.csc.liv.ac.uk/~coopes/comp201 Software Testing 1 Defect Testing Defect testing involves
More informationIntroduction au Génie Logiciel Partie3: Test: Static White-Box Test
Licence Mention Informatique L3/S6 2009/10 Introduction au Génie Logiciel Partie3: Test: Static White-Box Test Burkhart Wolff Département Informatique Difficulties with Static Unit Tests so far The generation
More informationLecture 18: Structure-based Testing
Test Case First Strategy White box testing: Statement Coverage Branch Coverage Condition Coverage Data Path Coverage Lecture 18: Structure-based Testing Testing with good and bad data Testing Object Oriented
More informationSoftware Testing. Massimo Felici IF
Software Testing Massimo Felici IF-3.46 0131 650 5899 mfelici@staffmail.ed.ac.uk What is Software Testing? Software Testing is the design and implementation of a special kind of software system: one that
More informationSoftware Testing Prof. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur. Lecture 13 Path Testing
Software Testing Prof. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture 13 Path Testing Welcome to this session and we will discuss about path
More informationTesting Theory. Agenda - What will you learn today? A Software Life-cycle Model Which part will we talk about today? Theory Lecture Plan
heory Lecture Plan 2 esting heory Lecture 8 Software Engineering DDC88/DDC93 autumn 28 Department of Computer and Information Science Linköping University, Sweden L - Course Introduction and Overview L2
More informationDarshan Institute of Engineering & Technology Unit : 9
1) Explain software testing strategy for conventional software architecture. Draw the spiral diagram showing testing strategies with phases of software development. Software Testing: Once source code has
More informationSoftware Testing for Developer Development Testing. Duvan Luong, Ph.D. Operational Excellence Networks
Software Testing for Developer Development Testing Duvan Luong, Ph.D. Operational Excellence Networks Contents R&D Testing Approaches Static Analysis White Box Testing Black Box Testing 4/2/2012 2 Development
More informationTesting! Prof. Leon Osterweil! CS 520/620! Spring 2013!
Testing Prof. Leon Osterweil CS 520/620 Spring 2013 Relations and Analysis A software product consists of A collection of (types of) artifacts Related to each other by myriad Relations The relations are
More information1 Black Box Test Data Generation Techniques
1 Black Box Test Data Generation Techniques 1.1 Equivalence Partitioning Introduction Equivalence partitioning is based on the premise that the inputs and outputs of a component can be partitioned into
More information7. Testing and Debugging Concurrent Programs
7. Testing and Debugging Concurrent Programs The purpose of testing is to find program failures => A successful test is a test that causes a program to fail. Ideally, tests are designed before the program
More informationCS 520 Theory and Practice of Software Engineering Fall 2018
Today CS 52 Theory and Practice of Software Engineering Fall 218 Software testing October 11, 218 Introduction to software testing Blackbox vs. whitebox testing Unit testing (vs. integration vs. system
More information22c:111 Programming Language Concepts. Fall Types I
22c:111 Programming Language Concepts Fall 2008 Types I Copyright 2007-08, The McGraw-Hill Company and Cesare Tinelli. These notes were originally developed by Allen Tucker, Robert Noonan and modified
More informationCMPSCI 521/621 Homework 2 Solutions
CMPSCI 521/621 Homework 2 Solutions Problem 1 Direct data dependencies: 3 is directly data dependent on 1 and 5 5 is directly data dependent on 1,3, and 5 7 is directly data dependent on 1,3, and 5 Note,
More informationGénie Logiciel Avancé
L3 Mention Informatique Parcours Informatique et MIAGE Génie Logiciel Avancé Part VII : White-Box Test Burkhart Wolff wolff@lri.fr Idea: % Lets exploit the structure of the program!!! (and not, as before
More informationTesting: Coverage and Structural Coverage
Testing: Coverage and Structural Coverage Testing, Quality Assurance, and Maintenance Winter 2017 Prof. Arie Gurfinkel based on slides by Prof. Marsha Chechik and Prof. Lin Tan How would you test this
More informationOverview. State-of-the-Art. Relative cost of error correction. CS 619 Introduction to OO Design and Development. Testing.
Overview CS 619 Introduction to OO Design and Development ing! Preliminaries! All sorts of test techniques! Comparison of test techniques! Software reliability Fall 2012! Main issues: There are a great
More informationCS 4387/5387 SOFTWARE V&V LECTURE 4 BLACK-BOX TESTING
1 CS 4387/5387 SOFTWARE V&V LECTURE 4 BLACK-BOX TESTING Outline 2 Quiz Black-Box Testing Equivalence Class Testing (Equivalence Partitioning) Boundary value analysis Decision Table Testing 1 3 Quiz - 1
More information[IT6004-SOFTWARE TESTING] UNIT 2
1. List the two basic Testing strategies. UNIT 2 Black box testing. White box testing. 2. What are the knowledge sources for Black box testing? Requirements Document specification Domain knowledge Defect
More informationTest Case Selection and Adequacy
Chapter 9 Test Case Selection and Adequacy A key problem in software testing is selecting and evaluating test cases. This chapter introduces basic approaches to test case selection and corresponding adequacy
More informationFeasibility of Testing to Code. Feasibility of Testing to Code. Feasibility of Testing to Code. Feasibility of Testing to Code (contd)
Feasibility of Testing to Code (contd) Feasibility of Testing to Code (contd) An incorrect code fragment for determining if three integers are equal, together with two test cases Flowchart has over 10
More informationUNIT-2. This unit gives an in depth overview of path testing and its applications. At the end of this unit, the student will be able to:
UNIT-2 FLOWGRAPHS AND PATH TESTING: This unit gives an in depth overview of path testing and its applications. At the end of this unit, the student will be able to: Understand the concept of path testing.
More informationMTAT : Software Testing
MTAT.03.159: Software Testing Lecture 02: Basic Black-Box and White-Box Testing Techniques (Textbook Ch. 4 & 5) Spring 2018 Dietmar Pfahl email: dietmar.pfahl@ut.ee Structure of Lecture 2 Black-Box vs.
More informationStructural Testing. (c) 2007 Mauro Pezzè & Michal Young Ch 12, slide 1
Structural Testing (c) 2007 Mauro Pezzè & Michal Young Ch 12, slide 1 Learning objectives Understand rationale for structural testing How structural (code-based or glass-box) testing complements functional
More informationA Method for Automated Unit Testing of C Programs
A Method for Automated Unit Testing of C Programs Duc-Anh Nguyen, Pham Ngoc Hung, Viet-Ha Nguyen VNU University of Engineering and Technology Email: {nguyenducanh, hungpn, hanv}@vnu.edu.vn Abstract This
More informationTopics in Software Testing
Dependable Software Systems Topics in Software Testing Material drawn from [Beizer, Sommerville] Software Testing Software testing is a critical element of software quality assurance and represents the
More informationFachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn. 4. Testing
4. vs. Model Checking (usually) means checking the correctness of source code Model Checking means verifying the properties of a model given in some formal (not program code) notation Attention: things
More informationCSE 403: Software Engineering, Fall courses.cs.washington.edu/courses/cse403/16au/ Unit Testing. Emina Torlak
CSE 403: Software Engineering, Fall 2016 courses.cs.washington.edu/courses/cse403/16au/ Unit Testing Emina Torlak emina@cs.washington.edu Outline Software quality control Effective unit testing Coverage
More information6. Test-Adequacy. Assessment Using Control Flow and Data Flow. Andrea Polini
6. Test-Adequacy Assessment Using Control Flow and Data Flow Andrea Polini Software Engineering II Software Testing MSc in Computer Science University of Camerino (Software Engineering II Software Testing)
More informationAUTOMATIC TEST DATA GENERATION USING DATA FLOW INFORMATION
AUTOMATIC TEST DATA GENERATION USING DATA FLOW INFORMATION Abdelaziz Khamis Dept of Comp. & Inf. Sciences, Cairo University Reem Bahgat Dept of Computer Science, Cairo University Rana Abdelaziz Dept of
More information4 Algorithms. Definition of an Algorithm
4 Algorithms Definition of an Algorithm An algorithm is the abstract version of a computer program. In essence a computer program is the codification of an algorithm, and every algorithm can be coded as
More information(See related materials in textbook.) CSE 435: Software Engineering (slides adapted from Ghezzi et al & Stirewalt
Verification (See related materials in textbook.) Outline What are the goals of verification? What are the main approaches to verification? What kind of assurance do we get through testing? How can testing
More informationSecond assignment came out Monday evening. Find defects in Hnefetafl rules written by your classmates. Topic: Code Inspection and Testing
Announcements Second assignment came out Monday evening Topic: Code Inspection and Testing Find defects in Hnefetafl rules written by your classmates Compare inspection, coverage testing, random testing,
More informationSFWR ENG 3S03: Software Testing
(Slide 1 of 52) Dr. Ridha Khedri Department of Computing and Software, McMaster University Canada L8S 4L7, Hamilton, Ontario Acknowledgments: Material based on [?] Techniques (Slide 2 of 52) 1 2 3 4 Empirical
More informationData-Flow Analysis Foundations
CS 301 Spring 2016 Meetings April 11 Data-Flow Foundations Plan Source Program Lexical Syntax Semantic Intermediate Code Generation Machine- Independent Optimization Code Generation Target Program This
More informationAn Introduction to Systematic Software Testing. Robert France CSU
An Introduction to Systematic Software Testing Robert France CSU Why do we need to systematically test software? Poor quality products can Inconvenience direct and indirect users Result in severe financial
More informationMTAT : Software Testing
MTAT.03.159: Software Testing Lecture 02: Basic Black-Box and White-Box Testing Techniques (Textbook Ch. 4 & 5) Spring 2018 Dietmar Pfahl email: dietmar.pfahl@ut.ee Structure of Lecture 2 Black-Box vs.
More informationFacts About Testing. Cost/benefit. Reveal faults. Bottom-up. Testing takes more than 50% of the total cost of software development
Reveal faults Goals of testing Correctness Reliability Usability Robustness Performance Top-down/Bottom-up Bottom-up Lowest level modules tested first Don t depend on any other modules Driver Auxiliary
More information1. Lexical Analysis Phase
1. Lexical Analysis Phase The purpose of the lexical analyzer is to read the source program, one character at time, and to translate it into a sequence of primitive units called tokens. Keywords, identifiers,
More informationPromela and SPIN. Mads Dam Dept. Microelectronics and Information Technology Royal Institute of Technology, KTH. Promela and SPIN
Promela and SPIN Mads Dam Dept. Microelectronics and Information Technology Royal Institute of Technology, KTH Promela and SPIN Promela (Protocol Meta Language): Language for modelling discrete, event-driven
More informationKeywords Test case prioritization, TCP, software testing, Basic path testing, Source code analysis
Volume 5, Issue 4, 2015 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com A Unit Test Case Prioritization
More informationABSTRACT I. INTRODUCTION
International Journal of Scientific Research in Computer Science, Engineering and Information Technology 2017 IJSRCSEIT Volume 2 Issue 6 ISSN : 2456-3307 Covering All White Box Tests Using Basis Path Test
More informationAn Empirical Evaluation of Test Adequacy Criteria for Event-Driven Programs
An Empirical Evaluation of Test Adequacy Criteria for Event-Driven Programs Jaymie Strecker Department of Computer Science University of Maryland College Park, MD 20742 November 30, 2006 Abstract In model-based
More informationFinite State Verification. CSCE Lecture 21-03/28/2017
Finite State Verification CSCE 747 - Lecture 21-03/28/2017 So, You Want to Perform Verification... You have a property that you want your program to obey. Great! Let s write some tests! Does testing guarantee
More information10. Software Testing Fundamental Concepts
10. Software Testing Fundamental Concepts Department of Computer Science and Engineering Hanyang University ERICA Campus 1 st Semester 2016 Testing in Object-Oriented Point of View Error Correction Cost
More informationA METRIC BASED EVALUATION OF TEST CASE PRIORITATION TECHNIQUES- HILL CLIMBING, REACTIVE GRASP AND TABUSEARCH
A METRIC BASED EVALUATION OF TEST CASE PRIORITATION TECHNIQUES- HILL CLIMBING, REACTIVE GRASP AND TABUSEARCH 1 M.Manjunath, 2 N.Backiavathi 1 PG Scholar, Department of Information Technology,Jayam College
More informationSoftware Engineering Software Testing Techniques
Software Engineering Software Testing Techniques 1 Testability Operability it it operates cleanly Observability the the results of each test case are readily observed Controllability the the degree to
More informationTest Case Specifications and Test adequacy. Research Methods - Barbara Russo SwSE - Software and Systems Engineering
Test Case Specifications and Test adequacy Research Methods - Barbara Russo SwSE - Software and Systems Engineering 1 Test Case Selection How do we create tests? Test are defined in terms of their adequacy
More informationTesting: Test design and testing process
Testing: Test design and testing process Zoltán Micskei Based on István Majzik s slides Dept. of Measurement and Information Systems Budapest University of Technology and Economics Department of Measurement
More informationChapter 20. A Closer Look at All Pairs Testing. Software Testing: A Craftsman s Approach, 4 th Edition. Chapter 20 All Pairs Testing
Chapter 20 A Closer Look at All Pairs Testing Overview What is it? Why are people excited about it? Should we be excited about it? James Bach s summary Assumptions Appropriate choices Examples (and counter-examples)
More informationAgenda. Predicate Testing. CSE 5321/4321, Ali Sharifara, UTA
Agenda Predicate Testing CSE 5321/4321, Ali Sharifara, UTA 1 Predicate Testing Introduction Basic Concepts Predicate Coverage Summary CSE 5321/4321, Ali Sharifara, UTA 2 Motivation Predicates are expressions
More informationCOMP 3705 Advanced Software Engineering: Software Testing
COMP 3705 Advanced Software Engineering: Software Testing Prof. Matt Rutherford For Next Week Readings For Midterm: Chapter 1 and Sections 2.1-2.6, 3.1 3.5 New material: Chapter 4 Homework #5 http://mjrutherford.org/teaching/2009/winter/comp3705/homeworks
More informationAdvanced Software Testing Understanding Code Coverage
Advanced Software Testing Understanding Code Coverage Advanced Software Testing A series of webinars, this one excerpted from Advanced Software Testing: V3, a book for technical test analysts, programmers,
More informationCSCI 5654 (Fall 2013): Network Simplex Algorithm for Transshipment Problems.
CSCI 5654 (Fall 21): Network Simplex Algorithm for Transshipment Problems. Sriram Sankaranarayanan November 14, 21 1 Introduction e will present the basic ideas behind the network Simplex algorithm for
More informationSoftware Testing TEST CASE SELECTION AND ADEQUECY TEST EXECUTION
Software Testing TEST CASE SELECTION AND ADEQUECY TEST EXECUTION Overview, Test specification and cases, Adequacy criteria, comparing criteria, Overview of test execution, From test case specification
More informationProgram Structure. Simple Statements. Program consists of blocks Block. Can be represented by a flow graph. Sequence of statements
An Applicable Family of Data Flow Testing Criteria Assumptions about the program No goto statements with variant records Functions having var parameters By reference Procedural or functional parameters
More informationProgram Structure. Simple Statements. Program consists of blocks Block. Can be represented by a flow graph. Sequence of statements
An Applicable Family of Data Flow Testing Criteria Assumptions about the program No goto statements with variant records Functions having var parameters By reference Procedural or functional parameters
More informationThe testing process. Component testing. System testing
Software testing Objectives To discuss the distinctions between validation testing and defect testing To describe the principles of system and component testing To describe strategies for generating system
More informationLecture 14: Chapter 18!
Lecture 14: Chapter 18! Testing Conventional Applications! Slide Set to accompany Software Engineering: A Practitioner s Approach, 7/e " by Roger S. Pressman Slides copyright 1996, 2001, 2005, 2009 by
More informationLinear Programming. Course review MS-E2140. v. 1.1
Linear Programming MS-E2140 Course review v. 1.1 Course structure Modeling techniques Linear programming theory and the Simplex method Duality theory Dual Simplex algorithm and sensitivity analysis Integer
More informationWhy testing and analysis. Software Testing. A framework for software testing. Outline. Software Qualities. Dependability Properties
Why testing and analysis Software Testing Adapted from FSE 98 Tutorial by Michal Young and Mauro Pezze Software is never correct no matter what developing testing technique is used All software must be
More informationTesting: Coverage and Structural Coverage
Testing: Coverage and Structural Coverage Testing, Quality Assurance, and Maintenance Winter 2018 Prof. Arie Gurfinkel based on slides by Prof. Marsha Chechik and Prof. Lin Tan How would you test this
More informationc. Typically results in an intractably large set of test cases even for small programs
Multiple-Choice Questions: 1. True or false? Generally, in practice, developers exhaustively test software. a. True b. False 2. True or false? All real software contains bugs. a. True b. False 3. Which
More information1 Visible deviation from the specification or expected behavior for end-user is called: a) an error b) a fault c) a failure d) a defect e) a mistake
Sample ISTQB examination 1 Visible deviation from the specification or expected behavior for end-user is called: a) an error b) a fault c) a failure d) a defect e) a mistake 2 Regression testing should
More informationTesting & Symbolic Execution
Testing & Symbolic Execution Software Testing The most common way of measuring & ensuring correctness Input 2 Software Testing The most common way of measuring & ensuring correctness Input Observed Behavior
More informationVerification and Validation. Assuring that a software system meets a user s needs. Verification vs Validation. The V & V Process
Verification and Validation Assuring that a software system meets a user s needs Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 19,20 Slide 1
More informationData Flow Coverage 1. Stuart Anderson. Stuart Anderson Data Flow Coverage 1 c 2011
Data Flow Coverage 1 Stuart Anderson Why Consider Data Flow? 1 Control Flow: Statement and branch coverage criteria are weak. Condition coverage and path coverage are more costly and can become infeasible.
More informationIntroduction to Software Testing Chapter 3, Sec# 1 & 2 Logic Coverage
Introduction to Software Testing Chapter 3, Sec# 1 & 2 Logic Coverage Paul Ammann & Jeff Offutt http://www.cs.gmu.edu/~offutt/soft waretest/ Ch. 3 : Logic Coverage Four Structures for Modeling Software
More informationDarshan Institute of Engineering & Technology for Diploma Studies
CODING Good software development organizations normally require their programmers to follow some welldefined and standard style of coding called coding standards. Most software development organizations
More informationTesting: (A Little) Logic Coverage
Testing: (A Little) Logic Coverage Testing, Quality Assurance, and Maintenance Winter 2018 Prof. Arie Gurfinkel Why Logic Coverage? MC/DC (Modified condition/decision coverage) MC/DC is required by the
More informationSoftware Quality Assurance Dynamic Test
Software Quality Assurance Dynamic Test Contents Properties and goals Structural testing Control flow testing Data flow testing Functional test Diversified test 2 Properties and Goals Properties of dynamic
More informationOverview Graph Coverage Criteria
Overview Graph Coverage Criteria Graph Coverage Four Structures for Modeling Software Graphs Logic Input Space Syntax Applied to Applied to Source FSMs Applied to Specs DNF Source Specs Source Models Design
More information