skip to main content
article
Free Access

On testable object-oriented programming

Authors Info & Claims
Published:01 July 1997Publication History
Skip Abstract Section

Abstract

A new philosophy contributing towards the design of testable object-oriented (OO) software is introduced in this paper. The testing of conventional OO software focuses on the generation of tests for existing objects and systems; the testable object-oriented programming (TOOP) method draws attention to building testabilities into objects and systems during coding or compiling, so that the succeeding processes in test generation and implementation can be simplified. A new method of TOOP is developed to improve the testability of OO software. Software testability at object level and system level is quantitatively modelled. A set of fundamental built-in testable mechanisms oriented to the basic control structures in objects is constructed in order to improve the testability of OO software in terms of test controllability and observability. The most interesting feature obtained by TOOP is that the built-in tests in any objects can be inherited and reused in the same way as that of codes or functions in conventional OO software.

References

  1. {1} Stroustrup, B. {1986} The C++ Programming Language, Addison-Wesley. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. {2} Snyder, A {1987} "Inheritance and the Development of Encapsulated Software Components", in Research Directions in Object-Oriented Programming, (Shriver and Wagner, eds.), MIT Press. pp. 165-188. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. {3} Wang, Y. {1995} On the Design of Testable Software. Research Report of Oxford University Coputing Laboratory, OUCL-WANG-95002.Google ScholarGoogle Scholar
  4. {4} Voas, J.M. and Miller, K.M. {1995} Software Testability: The New Verification, IEEE Software, Vol. 12, No. 3, May, pp. 17-28. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. {5} Freedman, R.S. {1991} Testability of Software Components, IEEE Transactions on Software Engineering, Vol. 17, No. 6, June, pp. 553-564. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. {6} Wang, Y., Staples, G., Ross, M., King, G. and Court, I. {1996} On a Method to Develop Testable Software. Proc. of IEEE European Testing Workshop (IEEE ETW'96), Montpellier, France, June, pp. 176-180.Google ScholarGoogle Scholar
  7. {7} Wang. Y., King, G., Staples, G., Ross, M. and Court, I. {1996} Towards a Metric of Software Testability, Proc. of 5th International Conference on Software Quality (5SQC), Dundee, UK, July, pp. 234-241.Google ScholarGoogle Scholar
  8. {8} Tai, K. {1989} What to Do Beynond Branch Testing, ACM Software Engineering Notes, Vol. 14, No. 2, pp. 58-61. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. {9} Pressman, R. {1992} Software Engineering: A Practitioner's Approach (3rd ed.), McGraw-Hill International Editions, pp. 595-630. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. {10} McCabe, T. {1976} A Software Complexity Measure, IEEE Trans. on Software Engineering, Vol. 2, No. 6, pp. 308-320.Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. {11} McCabe, T. {1983} Structured Testing, IEEE Computer Society Press.Google ScholarGoogle Scholar
  12. {12} Beizer, B. {1990} Software Testing Techiques (2nd ed). Van Nostrand Reinhold, pp. 12-14. Google ScholarGoogle Scholar
  13. {13} Beizer, B. {1984} Software System Testing and Quality Assurance. Van Nostran Reinhold, pp. 37-90. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. {14} Meyer, B. {1992} Object-Oriented Software Construction, Prentice Hall International. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. On testable object-oriented programming

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader