Software Engineering Software Testing Slide 1 Software Testing Software Engineering

  • Published on
    21-Dec-2015

  • View
    219

  • Download
    4

Embed Size (px)

Transcript

  • Slide 1
  • Software Engineering Software Testing Slide 1 Software Testing Software Engineering
  • Slide 2
  • Software Engineering Software Testing Slide 2 Defect testing l Testing programs to establish the presence of system defects
  • Slide 3
  • Software Engineering Software Testing Slide 3 Objectives l To understand testing techniques that are geared to discover program faults l To introduce guidelines for interface testing l To understand specific approaches to object- oriented testing l To understand the principles of CASE tool support for testing
  • Slide 4
  • Software Engineering Software Testing Slide 4 Topics covered l Defect testing l Integration testing l Object-oriented testing l Testing workbenches
  • Slide 5
  • Software Engineering Software Testing Slide 5 The testing process l Component testing Testing of individual program components Usually the responsibility of the component developer (except sometimes for critical systems) Tests are derived from the developers experience l Integration testing Testing of groups of components integrated to create a system or sub-system The responsibility of an independent testing team Tests are based on a system specification
  • Slide 6
  • Software Engineering Software Testing Slide 6 Testing phases
  • Slide 7
  • Software Engineering Software Testing Slide 7 Defect testing l The goal of defect testing is to discover defects in programs l A successful defect test is a test which causes a program to behave in an anomalous way l Tests show the presence not the absence of defects
  • Slide 8
  • Software Engineering Software Testing Slide 8 l Only exhaustive testing can show a program is free from defects. However, exhaustive testing is impossible l Tests should exercise a system's capabilities rather than its components l Testing old capabilities is more important than testing new capabilities l Testing typical situations is more important than boundary value cases Testing priorities
  • Slide 9
  • Software Engineering Software Testing Slide 9 l Test data Inputs which have been devised to test the system l Test cases Inputs to test the system and the predicted outputs from these inputs if the system operates according to its specification Test data and test cases
  • Slide 10
  • Software Engineering Software Testing Slide 10 The defect testing process
  • Slide 11
  • Software Engineering Software Testing Slide 11 Black-box testing l An approach to testing where the program is considered as a black-box l The program test cases are based on the system specification l Test planning can begin early in the software process
  • Slide 12
  • Software Engineering Software Testing Slide 12 Black-box testing
  • Slide 13
  • Software Engineering Software Testing Slide 13 Equivalence partitioning l Input data and output results often fall into different classes where all members of a class are related l Each of these classes is an equivalence partition where the program behaves in an equivalent way for each class member l Test cases should be chosen from each partition
  • Slide 14
  • Software Engineering Software Testing Slide 14 Equivalence partitioning
  • Slide 15
  • Software Engineering Software Testing Slide 15 l Partition system inputs and outputs into equivalence sets If input is a 5-digit integer between 10,000 and 99,999, equivalence partitions are 10, 000 l Choose test cases at the boundary of these sets 00000, 09999, 10000, 99999, 10001 Equivalence partitioning
  • Slide 16
  • Software Engineering Software Testing Slide 16 Equivalence partitions
  • Slide 17
  • Software Engineering Software Testing Slide 17 Search routine specification procedure Search (Key : ELEM ; T: ELEM_ARRAY; Found : in out BOOLEAN; L: in out ELEM_INDEX) ; Pre-condition -- the array has at least one element TFIRST = i

Recommended

View more >