Testing Types

Software EngineeringTesting
1.0x

Testing Types

Created 2 years ago

Duration 0:07:31
lesson view count 270
Select the file type you wish to download
Slide Content
  1. Testing Types

    Slide 1 - Testing Types

    • Emerson Murphy-Hill
    • Creative Commons Attribution 4.0 License.
    • Material Produced by NCSU Software Engineering Faculty.
  2. Testing Model – Black Box Testing

    Slide 2 - Testing Model – Black Box Testing

    • You know the functionality
    • Given a set of specifications, you design tests that make the program do what you think that it should do
    • From the outside, you are testing its functionality against the specs
    • For software, this is testing the interface
    • What is input to the system?
    • What you can do from the outside to change the system? (controllability)
    • What is output from the system? (observability)
    • Impossible to thoroughly exercise all inputs
    • Exhaustive testing grows without bound
    • Tests the functionality of the system by observing its external behavior
    • Status is examined in terms of expected results
    • No knowledge of how the executable program goes about meeting the goals
    • Executable Program
    • Input
    • Output
    • Black Box Test
  3. Testing Model – White Box Testing

    Slide 3 - Testing Model – White Box Testing

    • You know the code
    • Given knowledge of the internal workings, you thoroughly test what is happening on the inside
    • Close examination of procedural level of detail
    • Logical paths through code are tested
    • Conditionals
    • Loops
    • Branches
    • Status is examined in terms of expected values
    • Impossible to thoroughly exercise all paths
    • Exhaustive testing grows without bound
    • Can be practical if a limited number of “important” paths are evaluated
    • Can be practical to examine and test important data structures
  4. Types of Testing

    Slide 4 - Types of Testing

    • Unit Testing (white)
    • testing of individual hardware or software units or groups of related units
    • Done by programmer(s)
    • Generally all white box
    • Automation desirable for repeatability
    • Integration Testing (black and white)
    • testing in which software components, hardware components, or both are combined and tested to evaluate the interaction between them
    • Done by programmer as they integrate their code into code base
    • Generally white box, maybe some black box
    • Automation desirable for repeatability
  5. Types of Testing -II

    Slide 5 - Types of Testing -II

    • Functional/System Testing (black)
    • testing conducted on a complete, integrated system to evaluate the system compliance with its specified requirements
    • stress testing, performance testing, usability testing
    • it is recommended that this be done by external test group
    • mostly black box so that testing is not ‘corrupted’ by too much knowledge
    • test automation desirable
    • Acceptance Testing (black)
    • formal testing conducted to determine whether or not a system satisfies its acceptance criteria (the criteria the system must satisfy to be accepted by a customer) and to enable the customer to determine whether or not to accept the system
    • Can be done by customer/customer representative in their environment through the GUI . . . Definitely black box
  6. Types of Testing -III

    Slide 6 - Types of Testing -III

    • Regression Testing (black and white)
    • Regression testing is selective retesting of a system or component to verify that modifications have not caused unintended effects and that the system or component still complies with its specified requirements
    • Smoke test group of test cases that establish that the system is stable and all major functionality is present and works under “normal” conditions
    • Beta Testing (black)
    • (1 - many) potential users or beta testers install software and use it as they wish and report any revealed errors to the development organization.
  7. What are the tests based on?

    Slide 7 - What are the tests based on?

    • Level of Detail
    • Project Time
    • Low
    • High
    • Requirements
    • Subset
    • Requirements
    • High Level Design
    • System
    • Testing
    • Low Level Design
    • Unit Testing
    • Integration Testing
    • Acceptance
    • Testing
  8. Test Case Information

    Slide 8 - Test Case Information

    • ALL test cases have the following (in some form)
    • Unique Identifier
    • Input into the program or program unit
    • Expected output from the program or program unit
    • Actual results of running the test case