Download presentation
Presentation is loading. Please wait.
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.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.