Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Engineering Testing Lecture 4 ASPI8-4 Anders P. Ravn, Feb 2004.

Similar presentations


Presentation on theme: "Software Engineering Testing Lecture 4 ASPI8-4 Anders P. Ravn, Feb 2004."— Presentation transcript:

1 Software Engineering Testing Lecture 4 ASPI8-4 Anders P. Ravn, Feb 2004

2 A Development Process (V-model) Requirements Spec --------------------------- Accpt. Test Report Acceptance Test Spec Architectural Spec ------------------------ Integr. Test Report Integration Test Spec Module Interface Spec Module Spec ------------------- Module Test Report Module Test Spec Program Source text

3 Documentation 1.Requirements Specification 1.4 Acceptance Test Specification 2.Architecture 2.X Module Interfaces 2.T Integration Test Specification 3.Modules 3.X Module Test Specification 4.Implementation 5.Test 5.Y YYY Test Report

4 Testing - objective 1.Execute a program to find errors 2.A good test case has a high probability of finding errors 3.A successful test finds a new error Glen Myers Check Software specs. Test specs. Testing Results Test Reports

5 Test case design White box - basic path testing - loop testing Black box - equivalence partitioning - boundary value analysis Data validation - protocols - databases

6 Flow graphs – basic paths...... Sequence Decision Iteration

7 Test spec. for basic paths true/false case void f()... 1 if (b)T 1...F 2 while (c) T 1...F 2 Cases: 1: …

8 Composite conditions true false case... if (b && c)TT 1...TF 2...FT 3 if(d || e) TF 1...FT 2 FF 3 Cases: 1: …

9 Loop Testing 1.Skip the loop entirely (basic path) 2.One pass through loop (basic path) 3.max > n>1 passes through the loop 4.max-1 passes through the loop 5.max passes through the loop 6.(max+1 passes through the loop)

10 Nested loops Test inside out – inner loop first

11 Test instrumentation Primitive – debugging: printff(“x: %f\n”,x); or System.out.println(“x: ”+x.toString()); Planned: - instrumentation and logging: class Log { public static boolean test; … public static out(Object o, int line, int val); … if(test) … } … Log.out(this,23,count);

12 Permanent Instrumentation Planned: - instrumentation and logging: class Log { public static boolean test; … public static out(Object o, int line, int val); if (test) … else … // cyclic log } … Log.out(this,23,count);

13 Black box testing Test functional requirements: In-out relation (function) Interface conventions Performance Initialization and termination

14 Domain – a range: 3 classes (test values) Domain – a value: 3 classes Domain – a full interval: 2 classes Equivalence partitioning

15 Domain – a range: Domain – a value: Domain – a half interval: 2 classes Boundary value test

16 Data validation Use formal syntax (BNF) to check - all tokens are recognized - all syntax rules are recognized a ::= b c a ::= b | c - at least one syntax error

17 Invariant checking Assertions about relations between data: sin(x)**2 + sin(pi/2-x)**2 == 1 X == A -1 B implies A X == B -1 <= maxindex < N

18 Verification Model checking of finite state machines - State invariants always P - Reaching desirable states sometime P - Unreachability of bad states: always not P Verification of general properties

19 Literature R. S. Pressman: Software Engineering – a Practitioner’s Approach. B. Beizer: Software Testing Techniques.


Download ppt "Software Engineering Testing Lecture 4 ASPI8-4 Anders P. Ravn, Feb 2004."

Similar presentations


Ads by Google