Font Size: a A A

Research On Test Automation For Software As A Service Based On Interface Semantic Contract

Posted on:2016-07-07Degree:DoctorType:Dissertation
Country:ChinaCandidate:K J HouFull Text:PDF
GTID:1318330536450182Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
Software-as-a-Service has been a new paradigm for Internet Software, which is characterized by open software architecture and dynamic collaboration. Service testing is usually expensive requiring huge number of test cases to simulate various test scenarios in diversified test environments. It is hard to guarantee test adequacy. Intelligent automatic testing is thus necessary to enhance test effectiveness and efficiency.Following Model-Driven Architecture(MDA), the thesis proposed a semantic-based approach for service modeling and test generation. The semantic model enriched service specification with domain knowledge for understanding service and reasoning tests. Various algorithms were proposed for test generation based on semantic analysis. In this way, the thesis investigated an innovative approach to improving the intelligence of automatic testing.The model, called Interface Semantic Contract(ISC), was based on Semantic Web Service protocols and contract-based design principles. ISC extended service operation semantics from two perspectives: concepts and constraints. The ontologies established a unified model for domain concepts and functions, while the rules defined the constraints on data and operations. Specified by knowledge description languages, ISC provides rich semantic information for automatic service understanding, collaboration, verification and validation.Based on ISC, the thesis proposed a constraint-based combinatorial testing method to derive test data. A Constraints Dependency Graph was constructed as a tool for data constraints analysis. It identified the correlations among various data constraints to partition data into groups to reduce size and complexity, and thus enhance efficiency and productivity, of combinatorial test generation. To optimize graph search, it proposed an improved simulated-annealing algorithm. A Bayes classifier was used to predict the probabilities of test data meeting test objectives(e.g. test coverage or defect detection), and to guide data search and optimization in the annealing algorithm.Test oracle is one of the most difficult parts in test automation. In counter to the challenges, the thesis investigated semantic rules for oracle specification and reasoning. ISC defined the pre-/post- conditions of service execution. Using semantic languages, a rule-base was built as test oracles with each rule specifying a mapping from a service's pre-condition to its post-condition. On oracle execution of a given test input, the rule engine interpreted the specification to match pre-conditions and reason its post-conditions as expected test outputs. Rule-based test oracles are independent of specific programming languages, software implementations, and execution platforms. The generalized oracles thus can be reused across different services providing the same functionalities.
Keywords/Search Tags:Software as a Service, Interface Semantic Contract, Test Data Generation, Test Oracle
PDF Full Text Request
Related items