1 / 19

Software Engineering Testing

Software Engineering Testing. Lecture 4 ASPI8-4 Anders P. Ravn, Feb 2004. A Development Process (V-model). Requirements Spec --------------------------- Accpt. Test Report Acceptance Test Spec

palmer-rios
Download Presentation

Software Engineering Testing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software EngineeringTesting 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 • Requirements Specification • 1.4 Acceptance Test Specification • Architecture • 2.X Module Interfaces • 2.T Integration Test Specification • Modules • 3.X Module Test Specification • Implementation • Test • 5.Y YYY Test Report

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

  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 • Skip the loop entirely (basic path) • One pass through loop (basic path) • max > n>1 passes through the loop • max-1 passes through the loop • max passes through the loop • (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. Equivalence partitioning • Domain – a range: 3 classes (test values) • Domain – a value: 3 classes • Domain – a full interval: 2 classes

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

  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.

More Related