Dynamic Analysis

Introduction

Dynamic analysis is executed to identify External Failures of running software. Therefore certain terms must be specified for these kind of tests:

  • Test Condition
    Event, e.g. a function, transaction, quality metric threshold or structured element, which canbe verified by one more many test cases.
  • Test Case
    defines the test objective based on requirements without data (logical test case). By adding vallues, pre- and post- conditions, expeted values, these test cases are migrated to concrete test cases. Without provided expected values, logical correctness can be ensured (based on utilized tester skills), even though incorrect results might be seen as correct.
  • Test Elapse
    defines the order of actions (defined through test cases). The order can be automized by automated test cases.

Test Data

The data source for all test data is stored within a location called Test Oracle. Data within this location is gathered through legacy systems, (anonymized) database dumps from production or alternative calculation methods (e.g. Microsoft Excel). In many cases expected values for tests are defined by:

  • Software specifications
  • Based on prototyping (which provides the test data)
  • Independend teams provide test data
  • User manuals
  • Diagrams and Models
  • Experienced Testers
  • Production environment

For software systems, which require a high stanard of quality (such as medical or airline industries), also utilize a Back-to-Back test. This kind of tests uses multiple implementations having the same inputs for delivering the same outcome. This ensures that faults are identified more reliable due to redundancy and a differenciated kind of risk (based on human errors).