COTT – A Testability Framework for Object-Oriented Software Testing
Authors: A. Goel, S.C. Gupta, S.K.Wasan
Abstract:
Testable software has two inherent properties – observability and controllability. Observability facilitates observation of internal behavior of software to required degree of detail. Controllability allows creation of difficult-to-achieve states prior to execution of various tests. In this paper, we describe COTT, a Controllability and Observability Testing Tool, to create testable object-oriented software. COTT provides a framework that helps the user to instrument object-oriented software to build the required controllability and observability. During testing, the tool facilitates creation of difficult-to-achieve states required for testing of difficultto- test conditions and observation of internal details of execution at unit, integration and system levels. The execution observations are logged in a test log file, which are used for post analysis and to generate test coverage reports.
Keywords: Controllability, Observability, Test Coverage and Testing Tool.
Digital Object Identifier (DOI): doi.org/10.5281/zenodo.1334163
Procedia APA BibTeX Chicago EndNote Harvard JSON MLA RIS XML ISO 690 PDF Downloads 1620References:
[1] A. Goel, S. C. Gupta, S. K. Wasan: "Probe Mechanism for Object- Oriented Software Testing", In Mauro Pezze, editor, Proceedings of Fundamental Approaches to Software Engineering (FASE 2003), Lecture Notes in Computer Science, LNCS 2621, Springer, Warsaw, Poland, April 2003, pp. 310-324
[2] A. Goel, S. C. Gupta, S. K. Wasan: "Controllability Mechanism for Object-Oriented Software Testing", In Proceedings of Asia-Pacific Software Engineering Conference (APSEC), IEEE Computer Society Press, Chiang Mai, Thailand, Dec. 2003, pp. 98-107
[3] A. Orso, S. Silva, "Open Issues and Research Directions in Object- Oriented Testing", Proceedings of 4th International Conference on Achieving Quality in Software, Software Quality in the Communication Society (AQUIS), Venice, Italy, February1998
[4] Aprobe Available:http://www.ocsystems.com
[5] B. Pettichord: "Design for Testability", In Proceedings of STARWEST Anaheim, California, Nov 2002
[6] C. D. Turner, D. J. Robson: "A State-Based Approach To The Testing Of Class-Based Programs", Software Concepts and Tools, vol. 16, no. 3, 1995, pp. 106-112
[7] Codework JCover. Available: http://www.codework.com/JCover/
[8] Compaq Jtrek. Available: http://www.compaq.com/java/download/jtrk
[9] D. E. Perry, G. E. Kaiser, "Adequate Testing and Object-Oriented Programming" Journal of Object-Oriented Programming, Vol 2, No. 1, 1990, pp. 13-19
[10] G. A. Cohen, J. S. Chase, D. L. Kaminsky: "Automatic Program Transformation with JOIE", In USENIX Annual Technical Symposium, 1998, pp. 167-178
[11] G. C. Murphy, P. Townsend, P. S. Wong: "Experiences with Cluster and Class Testing", Communication of ACM, Sept 1994, pp. 39-47
[12] Glen Mc Clunskey & Associates LLC: Java source code instrumentation. Available: http://www.glenmccl.com/instr
[13] H. B. Lee, B. G. Zorn: "BIT: A Tool For Instrumenting Java Bytecodes", In Proceedings of USENIX Symposium on Internet Technologies and Systems, Monterey, California, Dec 1997, pp. 73-82
[14] J. D. McGregor, T. D. Korson: "Integrated Object oriented Testing and Development Processes", Communication of ACM, Sept 1994, pp. 59-77
[15] J. E. Payne, R. T. Alexander, C. H. Hutchinson: "Design-for-Testability for Object Oriented Software", Object Magazine, SIGS Publications Inc., vol. 7, no.5, 1997, pp. 34-43
[16] J. M. Bieman, D. Dreilinger, L. Lin: "Using Fault Injection to Increase Software Test Coverage", In Proceedings of International Symposium on Software Reliability (ISSRE), White Plains, New York, Oct 1996, pp.166-174
[17] Java Instrumentation Engine. Available: http://dl.tromer.org/jie
[18] P. Broadwell, N. Sastry, J. Traupman. FIG: "A Prototype Tool for Online Verification of Recovery Mechanisms", In Proceedings of Workshop on Self-Healing, Adaptive and Self-MANaged Systems (SHAMAN), New York, June 2002
[19] P. J. Houlihan: "Targeted Software Fault Insertion", In Proceedings of STAREAST , Orlando, Florida, May 2001
[20] Panorama. Available: http://kb.panorama.com/JavaTest/
[21] R. Lingampally, A. Gupta, P. Jalote, "A Multipurpose Code Coverage Tool for Java, In HICSS. 40th Annual Hawaii International Conference on System Sciences, 2007.
[22] R. S. Freedman, "Testability of Software Components", IEEE Transactions on Software Engineering, vol. 17, No. 6, June 1991, pp. 553-563
[23] R. V. Binder: "Design for Testability in Object-oriented Systems", Communication of ACM, Sept 1994, pp. 87-101
[24] S. C. Gupta, M. K. Sinha: "Improving Software Testability by Observability and Controllability Measures", 13th World Computer Congress,IFIP, vol. 1, 1994, pp. 147-154
[25] S. Manaseer, F. A. Masooud, A. A. Sharieh, "Testing Loaded Programs Using Fault Injection Technique", Proceedings of World Academy of Science and Engineering and Technology (WASET), Vol. 3 Dec. 2004.
[26] T. H. Tse, Z. Xu, "A Formal framework for Improving Object oriented Software Testing", 13th International Conference on Testing Computer Software, Washington DC, 1996
[27] Testwork-s TCAT. Available: http://www.soft.com/TestWorks/