The testing of web services must be done in a completely automated manner when it takes place on-thefly due to third-party services are dynamically composed to. We present an approach that uses algebraic specification to make this possible. Test data is generated from a formal specification and then used to construct and submit service requests. Test results are then extracted and checked against the specification. All these are done automatically, as required. We present ASSAT (Algebraic Specification-Based Service Automated Testing), a prototype tool that performs these tasks and demonstrate its utility by applying it to Amazon Web Services, a real-life industrial example. • finite state machines (FSMs) and their variants and extensions, such as extended FSMs [8], Stream X-Machines [9], and protocol state machines (PSMs) [10], • labelled transition systems and process algebra, such as symbolic transition system STS [11], and • various kinds of Petri-nets, such as [12].Behaviour-based formal specifications like these can specify valid sequences of service invocations, for example, but they are weak on functional correctness. Even where test cases can be produced for individual services, it is not known how to turn these into test cases for composed services. A method is proposed for Petri nets in [12], in the context of cloud computing, but as it has not been implemented, it is unclear whether it is feasible.
B. Algebraic specificationAlgebraic specification was first proposed in the 1970s as an implementation-independent specification technique for abstract data types [13], [14]. Since then, it has been extended to concurrent systems, state-based systems, software components and service-oriented systems. The theoretical 2015 IEEE Symposium on Service-Oriented System Engineering 978-1-4799-8356-8/15 $31.00