Verification Overview Testing Theory and Principles Testing in Practice. Verification. Miaoqing Huang University of Arkansas 1 / 80
|
|
- Rosaline Rosamund Cross
- 5 years ago
- Views:
Transcription
1 1 / 80 Verification Miaoqing Huang University of Arkansas
2 Outline 1 Verification Overview 2 Testing Theory and Principles Theoretical Foundations of Testing Empirical Testing Principles 3 Testing in Practice White-box Testing Statement coverage Edge coverage Condition coverage Path coverage Black-box Testing Testing driven by logic specification Syntax-driven testing Decision Table-based Testing Cause-effect Graph Technique Testing in the Large Module Testing Integration Testing 2 / 80
3 3 / 80 Need for verification Designers are fallible even if they are skilled and follow sound principles You are human!!! Everything must be verified, every required quality, process and products Even the verification process itself needs to be verified You have confidence after verification
4 4 / 80 Properties of verification May not be binary (OK, not OK) severity of defect is important some defects may be tolerated May be subjective or objective e.g., usability, maintainability Even implicit qualities should be verified e.g., robustness
5 5 / 80 Approaches to verification Experiment with behavior of product sample behaviors via testing goal is to find counterexamples dynamic technique Analyze product to deduce its adequacy analytic study of properties static technique
6 6 / 80 Lack of continuity in software testing Testing sample behaviors by examining test cases Impossible to extrapolate behavior of software from a finite set of test cases No continuity of behavior it can exhibit correct behavior in many cases, but may still be incorrect in some cases
7 7 / 80 Verification in traditional engineering Example of bridge design One test assures infinite correct situations
8 8 / 80 Goals for testing To show the presence of bugs, but never to show their absence If the results delivered by the system are different from the expected ones in just one case, this unequivocally shows that the system is incorrect By contrast, a correct behavior of the system on a finite number of cases does not guarantee the correctness in the general case Still, we need to do testing driven by sound and systematic principles
9 9 / 80 Goals for testing To show the presence of bugs, but never to show their absence If the results delivered by the system are different from the expected ones in just one case, this unequivocally shows that the system is incorrect By contrast, a correct behavior of the system on a finite number of cases does not guarantee the correctness in the general case Still, we need to do testing driven by sound and systematic principles read (x); read(y); if x==y then z=2; //should be z=22 else z=0; end if; write(z);
10 10 / 80 Goals for testing To show the presence of bugs, but never to show their absence If the results delivered by the system are different from the expected ones in just one case, this unequivocally shows that the system is incorrect By contrast, a correct behavior of the system on a finite number of cases does not guarantee the correctness in the general case Still, we need to do testing driven by sound and systematic principles read (x); read(y); if x==y then z=2; //should be z=22 else z=0; end if; write(z);
11 11 / 80 Goals for testing Help isolate errors facilitate debugging print out the location where the error takes place Be repeatable repeating the same experiment, we should get the same results if (x==0) then // x is not initialized write( abnormal ); else write( normal ); end if;
12 Outline 1 Verification Overview 2 Testing Theory and Principles Theoretical Foundations of Testing Empirical Testing Principles 3 Testing in Practice White-box Testing Statement coverage Edge coverage Condition coverage Path coverage Black-box Testing Testing driven by logic specification Syntax-driven testing Decision Table-based Testing Cause-effect Graph Technique Testing in the Large Module Testing Integration Testing 12 / 80
13 13 / 80 Definition I Definition P: the program D: the input domain R: the output domain OR: the requirement on output values of P as stated in P s specification P(d) is correct <d, P(d)> OR P is correct if all P(d)s are correct
14 14 / 80 Definition II FAILURE P(d) is not correct ERROR (DEFECT) Anything that may cause a failure Typing mistake Incomplete branches in if-else statement FAULT Incorrect intermediate state entered by program during runtime
15 15 / 80 Definition II FAILURE P(d) is not correct ERROR (DEFECT) Anything that may cause a failure Typing mistake Incomplete branches in if-else statement FAULT Incorrect intermediate state entered by program during runtime Their relations A FAILURE definitely demonstrates the existence of an ERROR An ERROR does not necessarily create a FAILURE A FAILURE occurs only if a FAULT happens during execution A FAULT occurs only if the program contains an ERROR The goal of testing
16 Definition II FAILURE P(d) is not correct ERROR (DEFECT) Anything that may cause a failure Typing mistake Incomplete branches in if-else statement FAULT Incorrect intermediate state entered by program during runtime Their relations A FAILURE definitely demonstrates the existence of an ERROR An ERROR does not necessarily create a FAILURE A FAILURE occurs only if a FAULT happens during execution A FAULT occurs only if the program contains an ERROR The goal of testing Select appropriate test cases to increase the likelihood that errors cause failures 16 / 80
17 17 / 80 Definition III Test case d An element of D, i.e., d D Test case d is successful if P(d) is correct Test set T A finite subset of D, i.e., T D Test set T is successful if P(d) is correct for all d T Ideal test set T Whenever P is incorrect, there exists a d T such that P(d) is incorrect
18 18 / 80 Test Selection Criterion I A test selection criterion C is a subset of 2 D 2 D denotes the set of all finite subsets of D Each element in C is a test set A test set T satisfies C if T C Example: for a program whose domain D is the set of integers C could require that test sets contain at least three elements: one negative, one zero, and one positive
19 19 / 80 Test Selection Criterion I A test selection criterion C is a subset of 2 D 2 D denotes the set of all finite subsets of D Each element in C is a test set A test set T satisfies C if T C Example: for a program whose domain D is the set of integers C could require that test sets contain at least three elements: one negative, one zero, and one positive C = {<x 1, x 2,... x n> n 3 and exists i, j, k (x i < 0, x j = 0, x k > 0)} <-5, 0, 22> <-10, 2, 8, 33, 0, -19> <1, 3, 99> x C is consistent for any pairs T 1, T 2 satisfying C, T 1 is successful iff T 2 is successful
20 20 / 80 Test Selection Criterion I A test selection criterion C is a subset of 2 D 2 D denotes the set of all finite subsets of D Each element in C is a test set A test set T satisfies C if T C Example: for a program whose domain D is the set of integers C could require that test sets contain at least three elements: one negative, one zero, and one positive C = {<x 1, x 2,... x n> n 3 and exists i, j, k (x i < 0, x j = 0, x k > 0)} <-5, 0, 22> <-10, 2, 8, 33, 0, -19> <1, 3, 99> x C is consistent for any pairs T 1, T 2 satisfying C, T 1 is successful iff T 2 is successful Theoretically, there is no need to make a specific choice of a test set among those satisfying C if C is consistent
21 21 / 80 Test Selection Criterion II C is complete Whenever P is incorrect, there is a test set T C that is not successful C is complete and consistent Identify an ideal test set Allow correctness to be proved! C 1 is finer than C 2 For any program P, for any T 1 C 1 there is a subset T 2 T 1, which satisfies C 2 C 1 is more restrictive than C 2 Example C 1 = {<x 1, x 2,... x n> n 3 and exists i, j, k, m, p(x i < 0, x j = 0, x k > 0, x m even and x p odd)} C 2 = {<x 1, x 2, x 3 > (x 1 < 0, x 2 = 0, x 3 > 0)} T 1 = T 2 = {-3, 0, 6} T 1 = {-3, 0, 5, 8}, T 2 = {-3, 0, 5}
22 22 / 80 Property of the criterion definition None is effective No algorithms are exist to state if a program, test set, or criterion has that property In particular, there is no algorithm to derive a test set that would prove program correctness There is no constructive criterion that is consistent and complete
23 Outline 1 Verification Overview 2 Testing Theory and Principles Theoretical Foundations of Testing Empirical Testing Principles 3 Testing in Practice White-box Testing Statement coverage Edge coverage Condition coverage Path coverage Black-box Testing Testing driven by logic specification Syntax-driven testing Decision Table-based Testing Cause-effect Graph Technique Testing in the Large Module Testing Integration Testing 23 / 80
24 24 / 80 Empirical Testing Principles We want to test a system exhaustively, but it is impossible Compromise between the impossible and the inadequate We try to find strategy to select significant test cases Significant = having high potential of uncovering presence of error Running a sufficient number of significant test cases instead of a large number of test cases
25 25 / 80 Empirical Testing Principles We want to test a system exhaustively, but it is impossible Compromise between the impossible and the inadequate We try to find strategy to select significant test cases Significant = having high potential of uncovering presence of error Running a sufficient number of significant test cases instead of a large number of test cases if x>y then max = x; else max = x; end if; 1 {x=3, y=2}, {x=2, y=3} 2 {x=3, y=2}, {x=4, y=3}, {x=5, y=1}
26 26 / 80 Complete coverage principle An intuitive introduction 1 Given a system, find all the possible test cases in the domain
27 27 / 80 Complete coverage principle An intuitive introduction 1 Given a system, find all the possible test cases in the domain 2 Analyze these test cases and figure out their properties or behaviors
28 28 / 80 Complete coverage principle An intuitive introduction 1 Given a system, find all the possible test cases in the domain 2 Analyze these test cases and figure out their properties or behaviors 3 Group test cases that behave in approximately the same way into the sub-domain
29 Complete coverage principle An intuitive introduction 1 Given a system, find all the possible test cases in the domain 2 Analyze these test cases and figure out their properties or behaviors 3 Group test cases that behave in approximately the same way into the sub-domain 4 Select one test case from each sub-domain to compose a test set 29 / 80
30 Complete coverage principle An example Example Compute the factorial of any number If n < 0, then an appropriate error message must be printed. If 0 n < 20, then the exact value of n! must be printed. If 20 n 200, then an approximate value of n! must be printed in floating-point format (e.g., using some approximate method of numerical calculus). The admission error is 0.1% of the exact value. Finally, if n > 200, the input can be rejected by printing an appropriate error message. {n < 0},{0 n < 20},{20 n 200},{n > 200} {-10,5,175,290} The assertion that the program will behave correctly for any other value is a reasonable expectation 30 / 80
31 31 / 80 Complete coverage principle The theory Try to group elements of D into sub-domains D 1, D 2,..., D n where any element of each D i is likely to have similar behavior D = D 1 D 2 D n Satisfy the complete coverage principle Select one test case as a representative of the sub-domain from each sub-domain
32 32 / 80 Complete coverage principle The theory Try to group elements of D into sub-domains D 1, D 2,..., D n where any element of each D i is likely to have similar behavior D = D 1 D 2 D n Satisfy the complete coverage principle Select one test case as a representative of the sub-domain from each sub-domain If D i D j, a test case in D i D j exercises both D i and D j D 1 = {d i d i mod 2 = 0} D 2 = {d i d i 0} D 3 = {d i d i mod 2 0} D 1 D 2 and D 2 D 3 {-48, -37}
33 33 / 80 Testing in small and Testing in large Testing in small Address the testing of individual modules Testing in large Address the issue of decomposing and organizing the testing activity according to the modular structure of complex programs
34 34 / 80 Two approaches White-box testing Test what the program does Structural testing Implementation-based testing Partition the test domain based on the module s internal code Example, the {x > y} and {x y} case Black-box testing Test what the program is supposed to do Functional testing Specification-based testing Partition the test domain based on the module s specification Example, test the program to compute the factorial n!
35 Outline 1 Verification Overview 2 Testing Theory and Principles Theoretical Foundations of Testing Empirical Testing Principles 3 Testing in Practice White-box Testing Statement coverage Edge coverage Condition coverage Path coverage Black-box Testing Testing driven by logic specification Syntax-driven testing Decision Table-based Testing Cause-effect Graph Technique Testing in the Large Module Testing Integration Testing 35 / 80
36 36 / 80 Structural Coverage Testing Derive test cases from program code Only test what have been implemented Adequacy criteria If significant parts of program structure are not tested, testing is inadequate Testing strategies Statement coverage Edge coverage Condition coverage Path coverage
37 37 / 80 Statement coverage Statement-coverage Criterion Select a test set T such that every elementary statement in P is executed at least once by some d in T Elementary statement A statement that does not produce any recursive occurrence of itself Example: assignment statements, I/O statements, procedure calls Try to minimize the number of test cases still preserving the desired coverage
38 38 / 80 Example read(x); read(y); if x > 0 then write( 1 ); else write( 2 ); end if; if y > 0 then write( 3 ); else write( 4 ); end if; Let W 1, W 2, W 3, W 4 represent the 4 write statements Let D i denote the class of input values that causes execution of W i, i = 1,..., 4. D 1 = {x > 0} D 2 = {x 0} D 3 = {y > 0} D 4 = {y 0} {<x = 2, y = 3>, <x = - 13, y = 51>, <x = 97, y = 17>, <x = - 1, y = - 1>} covers all statements
39 39 / 80 Example read(x); read(y); if x > 0 then write( 1 ); else write( 2 ); end if; if y > 0 then write( 3 ); else write( 4 ); end if; Let W 1, W 2, W 3, W 4 represent the 4 write statements Let D i denote the class of input values that causes execution of W i, i = 1,..., 4. D 1 = {x > 0} D 2 = {x 0} D 3 = {y > 0} D 4 = {y 0} {<x = 2, y = 3>, <x = - 13, y = 51>, <x = 97, y = 17>, <x = - 1, y = - 1>} covers all statements {<x = - 13, y = 51>, <x = 2, y = - 3>} is minimal
40 40 / 80 Edge coverage Edge-coverage Criterion Select a test set T such that every edge (branch) of the control flow is exercised at least once by some d in T Notation in control graph Edges represent statements Nodes at the ends of an edge represent entry into and exit from of the statement Use node to connect statements
41 41 / 80 Control graph construction rules A single Statement Statement Block if-then-else if-then while Sequential statements
42 42 / 80 Simplification A sequence of edges can be collapsed into just one edge k-1 k 1 k
43 43 / 80 Example: Euclid s algorithm read(x); read(y); while x y loop if x > y then x = x - y; else y = y - x; end if; end loop; gcd = x;
44 44 / 80 Condition coverage Motivation found = false; counter = 1; while (not found) and counter < number_of_items loop if table (counter) == desired_element then found = true; end if; counter = counter + 1; end loop; if found then write ( the desired element is in the table ); else write ( the desired element is not in the table ); end if;
45 45 / 80 Condition coverage Motivation found = false; counter = 1; while (not found) and counter < number_of_items loop if table (counter) == desired_element then found = true; end if; counter = counter + 1; end loop; if found then write ( the desired element is in the table ); else write ( the desired element is not in the table ); end if; Only covering all edges is not going to discover the error
46 46 / 80 Condition coverage Condition-coverage Criterion Select a test set T such that every edge of P s control flow is traversed and all possible values of the constituents of compound conditions are exercised at least once Compound Boolean expression C = c 1 and c 2 or c 3... It is finer than edge coverage
47 47 / 80 Condition coverage Example if c1 and c2 then st; else sf; end if; if c1 then if c2 then st; else sf; end if; else sf; end if;
48 48 / 80 Path coverage Motivation if x 0 then y = 5; else z = z - x; end if; if z > 1 then z = z / x; else z = 0; end if; {<x = 0, z = 1>, <x = 1, z = 3>} covers all edges Fail to expose the risk of a division by zero
49 49 / 80 Path coverage Motivation if x 0 then y = 5; else z = z - x; end if; if z > 1 then z = z / x; else z = 0; end if; {<x = 0, z = 1>, <x = 1, z = 3>} covers all edges Fail to expose the risk of a division by zero {<x = 0, z = 3>, <x = 1, z = 1>} would work
50 50 / 80 Path coverage Path-coverage Criterion Select a test set T that traverses all paths from the initial to the final node of P s control flow It is finer than edge coveragr Number of paths may be too large, or even infinite (see while loops) Empirical guideline for testing loops Zero times or a minimum number of times A maximum number of times An average number of times
51 Outline 1 Verification Overview 2 Testing Theory and Principles Theoretical Foundations of Testing Empirical Testing Principles 3 Testing in Practice White-box Testing Statement coverage Edge coverage Condition coverage Path coverage Black-box Testing Testing driven by logic specification Syntax-driven testing Decision Table-based Testing Cause-effect Graph Technique Testing in the Large Module Testing Integration Testing 51 / 80
52 52 / 80 An intuitive example Specification The program receives input as a record describing an invoice The invoice must be inserted into a file of invoices sorted by date If other invoices exist in the file with the same date, then the invoice should be inserted after the last one Some consistency checks must be performed The program should verify whether the customer is already in a corresponding file of customers Whether the customer s data in the two files match, etc.
53 53 / 80 An intuitive example Specification The program receives input as a record describing an invoice The invoice must be inserted into a file of invoices sorted by date If other invoices exist in the file with the same date, then the invoice should be inserted after the last one Some consistency checks must be performed The program should verify whether the customer is already in a corresponding file of customers Whether the customer s data in the two files match, etc. Possible test cases (informal test procedure) An invoice whose date is the current date An invoice whose date is before the current date An invoice whose date is the same as some existing invoice An invoice whose date does not exist in any previous invoice Several incorrect invoices, checking different types of inconsistencies
54 54 / 80 Strategies Informal Decompose the specifications into a set of classes Give at least one test case for each class Formal Testing driven by logic specification Syntax-driven testing The input is formally described by a grammar Decision table-based testing A specification is described by a decision table Cause-effect graphs
55 55 / 80 An example Specification The program receives input as a record describing an invoice The invoice must be inserted into a file of invoices that is sorted by date If other invoices exist in the file with the same date, then the invoice should be inserted after the last one Some consistency checks must be performed The program should verify whether the customer is already in a corresponding file of customers Whether the customer s data in the two files match, etc.
56 56 / 80 Definition Let x be a variable of type invoice, (i.e., tuple <x.customer, x.amount, x.data,...>, where customer, amount are given Let current_date denote a variable of type date storing the value of the day when the insert operation is executed Let f be a variable of type invoice_file (i.e., a sequence of elements of type invoice). f(i) denotes the ith element of f. Given a generic record x and a file f of such records (with no repeated elements), let pos be a function that returns the position i of x in f. pos(x,f)=i f(i)=x sorted_by_date(f) forall i,j in Integers (i<j implies f(i).date f(j).date)
57 57 / 80 The logic specification for all x in Invoices, f in Invoice_Files {sorted_by_date(f) and not exist j,k (j k and f(j)=f(k)}
58 58 / 80 The logic specification for all x in Invoices, f in Invoice_Files {sorted_by_date(f) and not exist j,k (j k and f(j)=f(k)} insert(x,f)
59 59 / 80 The logic specification for all x in Invoices, f in Invoice_Files {sorted_by_date(f) and not exist j,k (j k and f(j)=f(k)} insert(x,f) {sorted_by_date(f) and for all k,z (old_f(k) = z implies exists j (f(j)=z)) and for all k,z (f(k)=z and z x) implies exists j (old_f(j)=z) and exists j (f(j).date=x.date and f(j) x) implies j<pos(x,f) and result (x.customer belongs_to custome_file and...) and warning (x belongs_to old_f or x.data > current_date or...) } The postcondition as the conjunction of several clauses, each characterized by some condition.
60 60 / 80 The conditions TRUE implies sorted_by_data(f) and for all k,z (old_f(k) = z implies exists j (f(j)=z)) and for all k,z (f(k)=z and z x) implies exists j (old_f(j)=z)
61 61 / 80 The conditions TRUE implies sorted_by_data(f) and for all k,z (old_f(k) = z implies exists j (f(j)=z)) and for all k,z (f(k)=z and z x) implies exists j (old_f(j)=z) and (x.customer belongs_to custome_file and...) implies result
62 62 / 80 The conditions TRUE implies sorted_by_data(f) and for all k,z (old_f(k) = z implies exists j (f(j)=z)) and for all k,z (f(k)=z and z x) implies exists j (old_f(j)=z) and (x.customer belongs_to custome_file and...) implies result and not (x.customer belongs_to custome_file and...) implies not result
63 63 / 80 The conditions TRUE implies sorted_by_data(f) and for all k,z (old_f(k) = z implies exists j (f(j)=z)) and for all k,z (f(k)=z and z x) implies exists j (old_f(j)=z) and (x.customer belongs_to custome_file and...) implies result and not (x.customer belongs_to custome_file and...) implies not result and x belongs_to old_f implies warning
64 64 / 80 The conditions TRUE implies sorted_by_data(f) and for all k,z (old_f(k) = z implies exists j (f(j)=z)) and for all k,z (f(k)=z and z x) implies exists j (old_f(j)=z) and (x.customer belongs_to custome_file and...) implies result and not (x.customer belongs_to custome_file and...) implies not result and x belongs_to old_f implies warning and x.data > current_date implies warning and...
65 65 / 80 Apply condition-coverage criterion to produce the test set Any test case can be used to verify that the file, which is produced, contains all and only previous invoices plus the new one and is sorted We need at least one test case with an invoice whose field customer exists in the customer_file, and one test case with an invoice whose field customer does not exist in such file
66 66 / 80 Use syntax-driven testing to verify a compiler An interpreter of simple arithmetic expression (in BNF grammar) <expression> ::= <expression>+<term> <expression>-<term> <term> <term> ::= <term> <factor> <term>/<factor> <factor> <factor> ::= ident (<expression>)
67 67 / 80 Use syntax-driven testing to verify a compiler An interpreter of simple arithmetic expression (in BNF grammar) <expression> ::= <expression>+<term> <expression>-<term> <term> <term> ::= <term> <factor> <term>/<factor> <factor> <factor> ::= ident (<expression>) Possible test cases <expression> = <expression>+<term> = <expression>+<term> <factor> = <term>+<term> <factor> = <factor>+<factor> <factor> = ident+ident ident
68 68 / 80 Decision table-based testing Example A word processor Three different formats plain text (p) boldface (b) italics (i) Five different commands make text plain (P) make text boldface (B) make text italics (I) emphasize (E) E can be either B or I superemphasize (SE) SE can be B, I or both (B+I)
69 69 / 80 The decision table Rows represent conditions Columns represent rules (i.e., results) Apply complete-coverage criterion to exercise each column
70 70 / 80 The decision table Rows represent conditions Columns represent rules (i.e., results) Apply complete-coverage criterion to exercise each column The number of column may go exponentially n conditions may generate 2 n results Need to select a significant subset of all possible input classes
71 71 / 80 Cause-effect graph technique Formally structure complex input-output specification using cause-effect graphs Steps 1 Transform inputs and outputs into Boolean values 2 Build the Boolean functions between inputs and outputs
72 72 / 80 Cause-effect graph technique Formally structure complex input-output specification using cause-effect graphs Steps 1 Transform inputs and outputs into Boolean values 2 Build the Boolean functions between inputs and outputs Example Transform inputs to a 10-tuple of Boolean {P, B, I, E, E=B, E=I, SE, SE=B, SE=I, SE=B+I} <false,true,false,false,false,false,false,false,false,false> represents command B Transform outputs of a 3-tuple of Boolean {p, b, i} <false,true,false> denotes a boldface text output
73 73 / 80 The cause-effect graph for boldface text output
74 74 / 80 Put constraints among inputs and outputs Inputs are not independent in many cases, same as outputs The output text can not be both plain and boldface at the same time
75 75 / 80 The cause-effect graph with constraints m m m m
76 Outline 1 Verification Overview 2 Testing Theory and Principles Theoretical Foundations of Testing Empirical Testing Principles 3 Testing in Practice White-box Testing Statement coverage Edge coverage Condition coverage Path coverage Black-box Testing Testing driven by logic specification Syntax-driven testing Decision Table-based Testing Cause-effect Graph Technique Testing in the Large Module Testing Integration Testing 76 / 80
77 77 / 80 Testing in the large Module testing testing a single module Integration testing integration of modules and subsystems System testing testing the entire system Acceptance testing performed by the customer
78 78 / 80 Build scaffolding STUB Call Module Under Test Call DRIVER Access to nonlocal variables Scaffolding needed to create the environment in which the module should be tested stubs modules used by the module under test driver module activating the module under test
79 79 / 80 Build scaffolding STUB Call Module Under Test Call DRIVER Access to nonlocal variables Scaffolding needed to create the environment in which the module should be tested stubs modules used by the module under test driver module activating the module under test How to build the scaffolding Develop simplified calling modules and called modules
80 80 / 80 Integration testing Big-bang approach first test individual modules in isolation then test integrated system Incremental approach modules are progressively integrated and tested can proceed both top-down and bottom-up according to the USES relation Top-down only stubs are needed Bottom-up only drivers are needed
Verification Black-box Testing & Testing in the Large
1 / 18 Verification & Miaoqing Huang University of Arkansas Spring 2010 2 / 18 Outline 1 2 Testing Boundary Conditions 3 Module Testing Integration Testing 3 / 18 Outline 1 2 Testing Boundary Conditions
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 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 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 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 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 informationTesting & Debugging TB-1
Testing & Debugging TB-1 Need for Testing Software systems are inherently complex» Large systems 1 to 3 errors per 100 lines of code (LOC) Extensive verification and validiation is required to build quality
More informationVerification and Validation. Verification and validation
Verification and Validation Verification and validation Verification and Validation (V&V) is a whole life-cycle process. V&V has two objectives: Discovery of defects, Assessment of whether or not the system
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 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 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 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 informationProgram Analysis. Program Analysis
Program Analysis Class #4 Program Analysis Dynamic Analysis 1 Static VS Dynamic Analysis Static analysis operates on a model of the SW (without executing it) If successful, produces definitive information
More informationVerification Various Testing Techniques
1 / 22 Verification Various Testing Techniques Miaoqing Huang University of Arkansas Spring 2010 2 / 22 Outline 1 Other Techniques in Testing in the Small Testing Boundary Conditions 2 Testing in the Large
More informationMONIKA HEINER.
LESSON 1 testing, intro 1 / 25 SOFTWARE TESTING - STATE OF THE ART, METHODS, AND LIMITATIONS MONIKA HEINER monika.heiner@b-tu.de http://www.informatik.tu-cottbus.de PRELIMINARIES testing, intro 2 / 25
More informationChapter 11, Testing. Using UML, Patterns, and Java. Object-Oriented Software Engineering
Chapter 11, Testing Using UML, Patterns, and Java Object-Oriented Software Engineering Outline Terminology Types of errors Dealing with errors Quality assurance vs Testing Component Testing! Unit testing!
More informationSoftware Testing part II (white box) Lecturer: Giuseppe Santucci
Software Testing part II (white box) Lecturer: Giuseppe Santucci 4. White box testing White-box (or Glass-box) testing: general characteristics Statement coverage Decision coverage Condition coverage Decision
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 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 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 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 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 informationLecture 15 Software Testing
Lecture 15 Software Testing Includes slides from the companion website for Sommerville, Software Engineering, 10/e. Pearson Higher Education, 2016. All rights reserved. Used with permission. Topics covered
More informationTesting & Continuous Integration. Kenneth M. Anderson University of Colorado, Boulder CSCI 5828 Lecture 20 03/19/2010
esting & Continuous Integration Kenneth M. Anderson University of Colorado, Boulder CSCI 5828 Lecture 20 03/1/20 University of Colorado, 20 1 Goals 2 Review material from Chapter of Pilone & Miles esting
More informationWrite perfect C code to solve the three problems below.
Fall 2017 CSCI 4963/6963 Week 12 David Goldschmidt goldschmidt@gmail.com Office: Amos Eaton 115 Office hours: Mon/Thu 1:00-1:50PM; Wed 1:00-2:50PM Write perfect C code to solve the three problems below.
More informationTesting. CMSC 433 Programming Language Technologies and Paradigms Spring A Real Testing Example. Example (Black Box)?
Testing CMSC 433 Programming Language Technologies and Paradigms Spring 2007 Testing Feb. 15, 2007 Some slides adapted from FSE 98 Tutorial by Michal Young and Mauro Pezze Execute program on sample input
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 informationPart 5. Verification and Validation
Software Engineering Part 5. Verification and Validation - Verification and Validation - Software Testing Ver. 1.7 This lecture note is based on materials from Ian Sommerville 2006. Anyone can use this
More informationChapter 9. Software Testing
Chapter 9. Software Testing Table of Contents Objectives... 1 Introduction to software testing... 1 The testers... 2 The developers... 2 An independent testing team... 2 The customer... 2 Principles of
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 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 informationSoftware Testing. Testing: Our Experiences
Software Testing Testing: Our Experiences Test Case Software to be tested Output 1 Test Case Generation When to Stop? Test Case Software to be tested Verification Output No Enough? Test Coverage Yes A
More informationTerminology. There are many different types of errors and different ways how we can deal with them.
Testing Terminology Reliability: The measure of success with which the observed behavior of a system confirms to some specification of its behavior. Failure: Any deviation of the observed behavior from
More informationIn this Lecture you will Learn: Testing in Software Development Process. What is Software Testing. Static Testing vs.
In this Lecture you will Learn: Testing in Software Development Process Examine the verification and validation activities in software development process stage by stage Introduce some basic concepts of
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 informationSoftware Verification and Validation. Prof. Lionel Briand Ph.D., IEEE Fellow
Software Verification and Validation Prof. Lionel Briand Ph.D., IEEE Fellow 1 White-Box Testing 2 White-Box vs. Black-BoxTesting: Reminder Software Representation (Model) Associated Criteria Test cases
More informationReading assignment: Reviews and Inspections
Foundations for SE Analysis Reading assignment: Reviews and Inspections M. E. Fagan, "Design and code inspections to reduce error in program development, IBM Systems Journal, 38 (2&3), 1999, pp. 258-287.
More informationLecture 1 Contracts. 1 A Mysterious Program : Principles of Imperative Computation (Spring 2018) Frank Pfenning
Lecture 1 Contracts 15-122: Principles of Imperative Computation (Spring 2018) Frank Pfenning In these notes we review contracts, which we use to collectively denote function contracts, loop invariants,
More informationPage 1. Reading assignment: Reviews and Inspections. Foundations for SE Analysis. Ideally want general models. Formal models
Reading assignment: Reviews and Inspections Foundations for SE Analysis M. E. Fagan, "Design and code inspections to reduce error in program development, IBM Systems Journal, 38 (2&3), 999, pp. 258-28.
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 informationNo Source Code. EEC 521: Software Engineering. Specification-Based Testing. Advantages
No Source Code : Software Testing Black-Box Testing Test-Driven Development No access to source code So test cases don t worry about structure Emphasis is only on ensuring that the contract is met Specification-Based
More informationLecture 1 Contracts : Principles of Imperative Computation (Fall 2018) Frank Pfenning
Lecture 1 Contracts 15-122: Principles of Imperative Computation (Fall 2018) Frank Pfenning In these notes we review contracts, which we use to collectively denote function contracts, loop invariants,
More informationProgram Correctness and Efficiency. Chapter 2
Program Correctness and Efficiency Chapter 2 Chapter Objectives To understand the differences between the three categories of program errors To understand the effect of an uncaught exception and why you
More informationPrinciples of Software Construction: Objects, Design, and Concurrency (Part 2: Designing (Sub )Systems)
Principles of Software Construction: Objects, Design, and Concurrency (Part 2: Designing (Sub )Systems) More Analysis for Functional Correctness Jonathan Aldrich Charlie Garrod School of Computer Science
More information[Ch 6] Set Theory. 1. Basic Concepts and Definitions. 400 lecture note #4. 1) Basics
400 lecture note #4 [Ch 6] Set Theory 1. Basic Concepts and Definitions 1) Basics Element: ; A is a set consisting of elements x which is in a/another set S such that P(x) is true. Empty set: notated {
More informationCoding and Unit Testing! The Coding Phase! Coding vs. Code! Coding! Overall Coding Language Trends!
Requirements Spec. Design Coding and Unit Testing Characteristics of System to be built must match required characteristics (high level) Architecture consistent views Software Engineering Computer Science
More informationBlack Box Testing. EEC 521: Software Engineering. Specification-Based Testing. No Source Code. Software Testing
Black Box Testing EEC 521: Software Engineering Software Testing Black-Box Testing Test-Driven Development Also known as specification-based testing Tester has access only to running code and the specification
More informationSoftware Quality Assurance (SQA) Software Quality Assurance
Software Quality Assurance (SQA) Software Quality Assurance Use of analysis to validate artifacts requirements analysis design analysis code analysis and testing Technical/Document reviews Control of changes
More informationVerification and Validation
Steven Zeil February 13, 2013 Contents 1 The Process 3 1 2 Non-Testing V&V 7 2.1 Code Review....... 8 2.2 Mathematically-based verification......................... 19 2.3 Static analysis tools... 23 2.4
More informationVerification and Validation
Steven Zeil February 13, 2013 Contents 1 The Process 2 2 Non-Testing V&V 3 2.1 Code Review........... 4 2.2 Mathematically-based verification.................................. 8 2.3 Static analysis tools.......
More informationA Gentle Introduction to Program Analysis
A Gentle Introduction to Program Analysis Işıl Dillig University of Texas, Austin January 21, 2014 Programming Languages Mentoring Workshop 1 / 24 What is Program Analysis? Very broad topic, but generally
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 informationProperties of Criteria. 1. Applicability Property. Criteria
Properties of Criteria Program-based To recognize a good adequacy criteria And to discard poor choices Objective, well-defined properties 1. Applicability Property For every program, there exists an adequate
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 informationVerification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1
Verification and Validation Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1 Verification vs validation Verification: "Are we building the product right?. The software should
More informationSoftware Quality Assurance & Testing
Software Quality Assurance & Testing 1.Software Testing - An ISTQB-BCS Certified Tester Foundation Guide 3rd edition, 2015 Brian Hambling, Peter Morgan, Geoff Thompson, Peter Williams,Angelina Samaroo
More informationCHAPTER 5 GENERATING TEST SCENARIOS AND TEST CASES FROM AN EVENT-FLOW MODEL
CHAPTER 5 GENERATING TEST SCENARIOS AND TEST CASES FROM AN EVENT-FLOW MODEL 5.1 INTRODUCTION The survey presented in Chapter 1 has shown that Model based testing approach for automatic generation of test
More information1. true / false By a compiler we mean a program that translates to code that will run natively on some machine.
1. true / false By a compiler we mean a program that translates to code that will run natively on some machine. 2. true / false ML can be compiled. 3. true / false FORTRAN can reasonably be considered
More informationINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERING Introduction to Software Testing d_sinnig@cs.concordia.ca Department for Computer Science and Software Engineering What is software testing? Software testing consists
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 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 informationChapter 3. Semantics. Topics. Introduction. Introduction. Introduction. Introduction
Topics Chapter 3 Semantics Introduction Static Semantics Attribute Grammars Dynamic Semantics Operational Semantics Axiomatic Semantics Denotational Semantics 2 Introduction Introduction Language implementors
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 informationTest Cases Generation from UML Activity Diagrams
Eighth ACIS International Conference on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing Test Cases Generation from UML Activity Diagrams Hyungchoul Kim, Sungwon
More informationSample Exam Syllabus
ISTQB Foundation Level 2011 Syllabus Version 2.9 Release Date: December 16th, 2017. Version.2.9 Page 1 of 46 Dec 16th, 2017 Copyright 2017 (hereinafter called ISTQB ). All rights reserved. The authors
More informationTest design techniques
INF3121 : Software Testing 12. 02. 2015 Lecture 4 Test design techniques Lecturer: Raluca Florea INF3121/ 12.02.2015 / Raluca Florea 1 Overview 1. The test development process 2. Categories of test design
More informationCover Page. The handle holds various files of this Leiden University dissertation
Cover Page The handle http://hdl.handle.net/1887/22891 holds various files of this Leiden University dissertation Author: Gouw, Stijn de Title: Combining monitoring with run-time assertion checking Issue
More informationChapter 8 Software Testing. Chapter 8 Software testing
Chapter 8 Software Testing 1 Topics covered Introduction to testing Stages for testing software system are: Development testing Release testing User testing Test-driven development as interleave approach.
More informationFormal Methods. CITS5501 Software Testing and Quality Assurance
Formal Methods CITS5501 Software Testing and Quality Assurance Pressman, R. Software Engineering: A Practitioner s Approach. Chapter 28. McGraw-Hill, 2005 The Science of Programming, David Gries, 1981
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 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 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 informationMSc Software Testing MSc Prófun hugbúnaðar
MSc Software Testing MSc Prófun hugbúnaðar Fyrirlestrar 7 & 8 Structural Testing White-box tests. 29/8/27 Dr Andy Brooks 1 Case Study Dæmisaga Reference Structural Testing of Programs, A Survey, A A Omar
More informationAdministrivia. ECE/CS 5780/6780: Embedded System Design. Acknowledgements. What is verification?
Administrivia ECE/CS 5780/6780: Embedded System Design Scott R. Little Lab 8 status report. Set SCIBD = 52; (The Mclk rate is 16 MHz.) Lecture 18: Introduction to Hardware Verification Scott R. Little
More informationSymbolic and Concolic Execution of Programs
Symbolic and Concolic Execution of Programs Information Security, CS 526 Omar Chowdhury 10/7/2015 Information Security, CS 526 1 Reading for this lecture Symbolic execution and program testing - James
More informationQuality Assurance in Software Development
Quality Assurance in Software Development Qualitätssicherung in der Softwareentwicklung A.o.Univ.-Prof. Dipl.-Ing. Dr. Bernhard Aichernig Graz University of Technology Austria Summer Term 2017 1 / 47 Agenda
More informationCIS 890: Safety Critical Systems
CIS 890: Safety Critical Systems Lecture: SPARK -- Analysis Tools Copyright 2007, John Hatcliff. The syllabus and all lectures for this course are copyrighted materials and may not be used in other course
More informationINTRODUCTION TO ALGORITHMS
UNIT- Introduction: Algorithm: The word algorithm came from the name of a Persian mathematician Abu Jafar Mohammed Ibn Musa Al Khowarizmi (ninth century) An algorithm is simply s set of rules used to perform
More informationAdvanced Programming Methods. Introduction in program analysis
Advanced Programming Methods Introduction in program analysis What is Program Analysis? Very broad topic, but generally speaking, automated analysis of program behavior Program analysis is about developing
More informationRuntime Checking for Program Verification Systems
Runtime Checking for Program Verification Systems Karen Zee, Viktor Kuncak, and Martin Rinard MIT CSAIL Tuesday, March 13, 2007 Workshop on Runtime Verification 1 Background Jahob program verification
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 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 informationSE 3S03. Zahra Ali. Week of Feb 22, 2016
SE 3S03 Department of Computing and Software McMaster University Week of Feb 22, 2016 Coverage Coverage 1/34 Outline Coverage Coverage Coverage Coverage 2/34 Recall that means using the information about
More informationTesting. ECE/CS 5780/6780: Embedded System Design. Why is testing so hard? Why do testing?
Testing ECE/CS 5780/6780: Embedded System Design Scott R. Little Lecture 24: Introduction to Software Testing and Verification What is software testing? Running a program in order to find bugs (faults,
More informationBlack-box Testing Techniques
T-76.5613 Software Testing and Quality Assurance Lecture 4, 20.9.2006 Black-box Testing Techniques SoberIT Black-box test case design techniques Basic techniques Equivalence partitioning Boundary value
More informationEXAMINING THE CODE. 1. Examining the Design and Code 2. Formal Review: 3. Coding Standards and Guidelines: 4. Generic Code Review Checklist:
EXAMINING THE CODE CONTENTS I. Static White Box Testing II. 1. Examining the Design and Code 2. Formal Review: 3. Coding Standards and Guidelines: 4. Generic Code Review Checklist: Dynamic White Box Testing
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 informationWarm-Up Problem. Let be a set of well-formed Predicate logic formulas. Let be well-formed Predicate logic formulas. Prove or disprove the following.
Warm-Up Problem Let be a set of well-formed Predicate logic formulas Let be well-formed Predicate logic formulas Prove or disprove the following If then 1/35 Program Verification Carmen Bruni Lecture 18
More informationModern Methods in Software Engineering. Testing.
Modern Methods in Software Engineering Testing www.imit.kth.se/courses/2g1522 Literature used Text book Chapter 11 Introduction Content Terminology Types of errors Dealing with errors Component Testing
More informationSoftware Engineering 2 A practical course in software engineering. Ekkart Kindler
Software Engineering 2 A practical course in software engineering Quality Management Main Message Planning phase Definition phase Design phase Implem. phase Acceptance phase Mainten. phase 3 1. Overview
More informationQuote by Bruce Sterling, from: A Software Testing Primer, Nick Jenkins
Software Testing Why Test? Quote by Bruce Sterling, from: A Software Testing Primer, Nick Jenkins https://www.typemock.com/software-bugs-infographic A bug found at design time costs ten times less to fix
More informationMonitoring Interfaces for Faults
Monitoring Interfaces for Faults Aleksandr Zaks RV 05 - Fifth Workshop on Runtime Verification Joint work with: Amir Pnueli, Lenore Zuck Motivation Motivation Consider two components interacting with each
More informationUNIT-4 Black Box & White Box Testing
Black Box & White Box Testing Black Box Testing (Functional testing) o Equivalence Partitioning o Boundary Value Analysis o Cause Effect Graphing White Box Testing (Structural testing) o Coverage Testing
More informationCS 512, Spring 2017: Take-Home End-of-Term Examination
CS 512, Spring 2017: Take-Home End-of-Term Examination Out: Tuesday, 9 May 2017, 12:00 noon Due: Wednesday, 10 May 2017, by 11:59 am Turn in your solutions electronically, as a single PDF file, by placing
More informationProfile-Guided Program Simplification for Effective Testing and Analysis
Profile-Guided Program Simplification for Effective Testing and Analysis Lingxiao Jiang Zhendong Su Program Execution Profiles A profile is a set of information about an execution, either succeeded or
More informationTesting Objectives. Successful testing: discovers previously unknown errors
Testing Objectives Informal view: Testing: a process of executing software with the intent of finding errors Good testing: a high probability of finding as-yetundiscovered errors Successful testing: discovers
More informationSE 3S03 - Tutorial 10. Helen Brown. Week of Mar 23, 2015
SE 3S03 - Tutorial 10 Department of Computing and Software McMaster University Week of Mar 23, 2015 : Acknowledgments: The material of these slides is based on [1] 1/34 Outline Edge : Path : 2/34 Recall
More informationCase by Case. Chapter 3
Chapter 3 Case by Case In the previous chapter, we used the conditional expression if... then... else to define functions whose results depend on their arguments. For some of them we had to nest the conditional
More informationSOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur
SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur School of Computing, Department of IT 1 School of Computing, Department 2 SOFTWARE TESTING
More informationTesting! The material for this lecture is drawn, in part, from! The Practice of Programming (Kernighan & Pike) Chapter 6!
Testing The material for this lecture is drawn, in part, from The Practice of Programming (Kernighan & Pike) Chapter 6 1 Goals of this Lecture Help you learn about: Internal testing External testing General
More information