Using AOP for discovering and defining executable test cases

  • Authors:
  • Philipp Kumar;Thomas Baar

  • Affiliations:
  • akquinet tech@spree GmbH, Software Reengineering Group, Berlin, Germany;akquinet tech@spree GmbH, Software Reengineering Group, Berlin, Germany

  • Venue:
  • PSI'09 Proceedings of the 7th international Andrei Ershov Memorial conference on Perspectives of Systems Informatics
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

The functional specification of software systems is often given in form of use cases. The compliance of a system implementation to a use case specification is validated by system tests, which can nowadays be automated. Unfortunately, system tests run slowly and assume that all needed external systems such as databases and authentication servers are accessible and run correctly. For these reasons, software developers rather rely on module tests, which test the functionality of individual modules. Module tests, however, have the disadvantage of being defined independently of the customer's system specification. In this paper, we describe an approach to combine the advantages of system and module tests. The core technique is (i) to record the complete information flow between modules during the execution of system tests and (ii) to generate, based on this data, corresponding module tests afterwards. The resulting module tests are fast, they are independent of external systems, and they reflect test scenarios defined in use cases. Our approach is heavily based on aspect-oriented programming (AOP) and implemented by the open-source framework jautomock.