Semantic-Based Test Oracles

Test oracle is one of the most difficult parts for test automation. For software with a large number of test cases, it is always both expensive and error prone to develop and maintain test oracles. The research is motivated by industry needs of automated testing on software with standard interfaces in an open system architecture. In counter to test oracle challenges, it proposes an innovative method to represent and calculate test oracles based on the semantic model of standard interface service specification of the software under test (SUT). Semantic model provides well-defined domain knowledge of service data, functionalities and constraints. Rules are created to model the expected SUT behavior in terms of antecedents and consequents. For each service, it captures both direct input-output relations and service interactions, that is, how the execution of a service may be affected by (pre-condition) or impact (post-condition) the SUT system state. As rule languages are neutral to programming languages, oracles specified in this way are independent of SUT implementations and can be reused across different systems conforming to the same interface standards. With the support of semantic techniques and tools like ontology modeler and rule engine, the proposed approach can enhance test oracle automation based on sophisticated defined domain model. Experiments and analysis show promising improvements in test productivity and quality.

[1]  M. Young Test Oracles , 2001 .

[2]  Mary Lou Soffa,et al.  Automated test oracles for GUIs , 2000, SIGSOFT '00/FSE-8.

[3]  Atif M. Memon,et al.  What test oracle should I use for effective GUI testing? , 2003, 18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings..

[4]  Thomas R. Gruber,et al.  Toward principles for the design of ontologies used for knowledge sharing? , 1995, Int. J. Hum. Comput. Stud..

[5]  Munindar P. Singh,et al.  Service-Oriented Computing: Semantics, Processes, Agents , 2010 .

[6]  Elaine J. Weyuker,et al.  On Testing Non-Testable Programs , 1982, Comput. J..

[7]  Qing Yu,et al.  Oracles for checking temporal properties of concurrent systems , 1994, SIGSOFT '94.

[8]  Douglas Hoffman,et al.  Using Oracles in Test Automation , 2001 .

[9]  Arvind Malhotra,et al.  XML Schema Part 2: Datatypes Second Edition , 2004 .

[10]  Debra J. Richardson,et al.  Specification-based test oracles for reactive systems , 1992, International Conference on Software Engineering.

[11]  Douglas Hoffman A Taxonomy for Test Oracles , 1998 .

[12]  John J. McCarthy,et al.  The Rule Engine for the Java Platform , 2008 .

[13]  K. K. Aggarwal,et al.  A neural net based approach to Test Oracle , 2004, SOEN.

[14]  Raymond A. Paul,et al.  Adaptive testing, oracle generation, and test case ranking for Web services , 2005, 29th Annual International Computer Software and Applications Conference (COMPSAC'05).

[15]  S. Easterbrook,et al.  Generating Test Oracles via Model Checking , 1997 .

[16]  Alan Hartman,et al.  Using a model-based test generator to test for standard conformance , 2002, IBM Syst. J..

[17]  Luqi,et al.  Constructing an automated testing oracle: an effort to produce reliable software , 1994, Proceedings Eighteenth Annual International Computer Software and Applications Conference (COMPSAC 94).

[18]  Robert V. Binder,et al.  Testing Object-Oriented Systems: Models, Patterns, and Tools , 1999 .

[19]  Johannes Mayer,et al.  Test Oracles Using Statistical Methods , 2004, SOQUA/TECOS.

[20]  H. Lan,et al.  SWRL : A semantic Web rule language combining OWL and ruleML , 2004 .

[21]  Thomas R. Gruber,et al.  A translation approach to portable ontology specifications , 1993, Knowl. Acquis..