프레임워크 가변부위 시험을 위한 객체 구조 패턴의 분류 및 추출 방법

A Classification and Extraction Method of Object Structure Patterns for Framework Hotspot Testing

  • 발행 : 2002.08.01

초록

객체지향 프레임워크는 개조, 합성이 용이한 클래스들로 분해될 수 있는 유연한 아키텍쳐를 제공함으로써 컴포넌트 기반의 효율적인 소프트웨어 개발을 지원한다. 프레임워크는 다수의 응용 소프트웨어의 개발에 반복적으로 재사용되므로 철저한 시험이 요구될 뿐만 아니라 재사용 시 확장된 프레임워크에 대해서도 추가적인 시험이 필요하다. 이를 위해서는 테스트 대상이 실행 가능한 형태로 제공되어야 하는데 그 구성 가능한 형태가 극히 다양할 뿐만 아니라 재사용될 때의 모든 형태를 예측하여 테스트하는 것은 현실적으로 불가능하므로, 재사용될 때마다 재구성되는 객체들의 구성 가능한 형태들을 동일한 특성을 갖는 유한 개의 그룹들로 분류하고, 각 그룹에서 시험 대상 실행 환경을 선정하여 시험하면 효과적인 시험이 가능하다. 본 논문에서는 재사용 시 다양한 형태의 객체 구조들로 개조, 확장될 수 있는 프레임워크의 가변부위 에 대해 객체 구성의 동일한 특성을 갖는 구조적 테스트 패턴들을 조직적으로 추출하는 방법과 각 패턴들로부터 시험 대상 객체 클러스터 즉, 테스트 대상 인스턴스를 선정하는 방법을 제안한다. 이 방법은 불필요한 테스트 케이스의 선정을 피하고, 테스트 대상 실행 환경의 체계적인 구축을 위해 사용될 수 있다.

An object-oriented framework supports efficient component-based software development by providing a flexible architecture that can be decomposed into easily modifiable and composable classes. Object-oriented frameworks require thorough testing as they are intended to be reused repeatedly In developing numerous applications. Furthermore, additional testing is needed each time the framework is modified and extended for reuse. To test a framework, it must be instantiated into a complete, executable system. It is, however, practically impossible to test a framework exhaustively against all kinds of framework instantiations, as possible systems into which a framework can be configured are infinitely diverse. If we can classify possible configurations of a framework into a finite number of groups so that all configurations of a group have the same structural or behavioral characteristics, we can effectively cover all significant test cases for the framework testing by choosing a representative configuration from each group. This paper proposes a systematic method of classifying object structures of a framework hotspot and extracting structural test patterns from them. This paper also presents how we can select an instance of object structure from each extracted test pattern for use in the frameworks hotspot testing. This method is useful for selection of optimal test cases and systematic construction of executable test target.

키워드

참고문헌

  1. M. E. Fayad, D. C. Schmidt, and R. E. Johnson, Building Application Frameworks, John Wiley & Sons, Inc., 1999
  2. S. Kirani and W. T. Tasi, 'Method Sequence Spedification and Verification of Classes,' Journal of Object-Oriented Programming, October 1994, pp. 28-38
  3. G. Kim and C. Wu, 'A Class Testing Technique Based on Data Bindings,' Proceedings of the 1996 Asia-Pacific Software Engineering Conference, 1996, pp.104-109
  4. A. S. Parrish, R. B. Borie and D. W. Codes, 'Automated Flow Graph-Based Testing of Object-Oriented Software Modules,' Journals of Systems and Software, Volume 23, 1993, pp. 95-109 https://doi.org/10.1016/0164-1212(93)90076-A
  5. D. Garlan, R. Allen, and J. Ockerbloom, 'Architectural Mismatch or Why its hard to build systems out of existing parts,' Proceedings of 17th Int'l Conference on Software Engineering, Apr. 1995, pp. 179-185 https://doi.org/10.1145/225014.225031
  6. Wirfs-Brock R.J. and Johnson R.E. 'Surveying current research in object-oriented design,' Communications of the ACM, 33(9), 1990 https://doi.org/10.1145/83880.84526
  7. R. Helm, I. M. Holland, and D. Gangopadhyay, 'Contracts; Specifying Behavioral Compositions in Object-oriented Systems,' Proceedings of OOPSLA '90, Ottawa, Canada, 1990
  8. B. Meyer, 'Design by Contract,' Advanced in Object-Oriented Software Engineering, Prentice Hall, 1992, pp. 1-50
  9. W. Pree, Designs Patterns for Object-Oriented Software Development, Addison-Wesley, 1995
  10. K. H. Chang, S-S. Liao;S. B. Seidman;R. Chapman, 'Testing Object-oriented programs; from formal Specification to test scenario generation,' Journal of System and Software, Volume 42, 1998, pp. 141-151 https://doi.org/10.1016/S0164-1212(98)10005-5
  11. D. Hoffman and P. Strooper, 'ClassBench: A Framework for Automated Class Testing,' Software-Practice and Experience, May 1997, pp. 573-597 https://doi.org/10.1002/(SICI)1097-024X(199705)27:5<573::AID-SPE98>3.0.CO;2-3
  12. P. A. Stocks and D. A. Carrington, 'Test templates:a specifications-based testing framework,' Proceedings of the 15th International Conference on Software Engineering, May 17-21, 1993, Baltimore, MD, USA, pp. 405-414 https://doi.org/10.1109/ICSE.1993.346025
  13. P. A. Stocks and D. A. Carrington, 'Test Templates Framework: A specification-based testing case study,' Proceeding of Int'l Symposium on Software Testing and Analysis(ISSTA), June 1993, pp. 11-18
  14. J. B. Wordsworth, Software Development with Z, Addison-Wesley, 1992
  15. J. Rumbaugh, I. Jacobson and G. Booch, The Unified Modeling Language Reference Manual, Addison-Wesley, 1998
  16. G. Smith, The Object-Z Specification Language, Kluwer Academic, 1999
  17. Robert V. Binder, Testing Object-Oriented Systems:Models, Patterns, and Tools, Addison-Wesley, 2000
  18. E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design Patterns: Elements of Reusable Object-oriented Software, Addison-Wesley, 1995