to server updates. There is no general solution to this
issue. Hypermedia clients following Amundsen’s ap-
proach (Amundsen, 2015) can easily adapt to chan-
ges within resource representations due to the emitted
templates. However, other approaches may need ad-
ditional investigation.
The manual effort to simulate a server update
would not be worthwhile. Nevertheless, our model-
driven approach allows us to generate test servers wit-
hout additional effort. The first step of our current
workflow is to define a RESTful API model. After
that our generators use this model to generate a wor-
king server. To simulate a server update we take the
same model and apply server update changes to it. For
this purpose, we need to build a generator that can ap-
ply random changes to an existing model for example
adding, updating and removing URIs. Afterwards, the
modified model will be passed through the generator
again. As a result, the generator will produce a fully
functional updated test server. If the client does not
break after redirecting it to the test server, we assume
the client as hypermedia-driven.
5 CONCLUSION
Our vision is to generate robust RESTful APIs along
with tests to assure Fielding’s hypermedia constraint.
Once the proposed steps above are carried out, we will
gain deeper understanding of generating and testing
hypermedia systems.
This knowledge will be the foundation for us to
start working on test generation at a higher level of ab-
straction. For example, we can generate tests based on
user acceptance criteria. User Acceptance Test (UAT)
is an expensive and time-consuming task (Hambling
and van Goethem, 2013). Our crawler can generate
sequences of inputs to imitate the behavior of a user
to perform general use case scenarios. This would re-
duce the amount of work significantly.
Based on the client-side testing we can derive tes-
ting guidelines for hypermedia clients. Any front-end
developer can follow these guidelines to implement
robust hypermedia clients.
REFERENCES
Amundsen, M. (2015). Learning Client Hypermedia from
the Ground Up. http://amundsen.com/talks/2015-06-
ndcoslo/2015-06-ndcoslo-slides.pdf. Last accessed on
Mar 17, 2017.
Choi, W., Necula, G., and Sen, K. (2013). Guided GUI Tes-
ting of Android Apps with Minimal Restart and Ap-
proximate Learning. In Proceedings of the 2013 ACM
SIGPLAN International Conference on Object Orien-
ted Programming Systems Languages & Applica-
tions, OOPSLA ’13, pages 623–640, New York, NY,
USA. ACM.
Fertig, T. and Braun, P. (2015). Model-driven Testing
of RESTful APIs. In Proceedings of the 24th In-
ternational Conference on World Wide Web Compa-
nion, WWW ’15 Companion, pages 1497–1502, Re-
public and Canton of Geneva, Switzerland. Internati-
onal World Wide Web Conferences Steering Commit-
tee.
Fielding, R. (2000). REST: Architectural Styles and the De-
sign of Network-based Software Architectures. Doc-
toral dissertation, University of California, Irvine.
Fielding, R. (2008). REST APIs must be hyper-text
driven. http://roy.gbiv.com/untangled/2008/rest-apis-
must-be-hypertext-driven. Last accessed on Mar 17,
2017.
Hambling, B. and van Goethem, P. (2013). User Accep-
tance Testing: A Step-by-step Guide. BCS Learning
& Development Limited.
Hern
´
andez, A. G. and Garc
´
ıa, M. N. M. (2010). A For-
mal Definition of RESTful Semantic Web Services.
In Proceedings of the First International Workshop on
RESTful Design, WS-REST ’10, pages 39–45, New
York, NY, USA. ACM.
Hevery, M., Musser, J., Rexer, P., Sarid, U., and Lazarov,
I. (2017). RAML. http://raml.org/. Last accessed on
Mar 17, 2017.
Josuttis, N. M. (2007). SOA in Practice - The Art of Distri-
buted System Design. ”O’Reilly Media, Inc.”, Sebas-
topol, 1. aufl. edition.
Prescod, P. (2002). REST and the Real World.
http://www.xml.com/pub/a/ws/2002/02/20/rest.html.
Last accessed on Mar 17, 2017.
Schreibmann, V. and Braun, P. (2015). Model-Driven Deve-
lopment of RESTful APIs. In Proceedings of the 11th
International Conference of Web Information Systems
and Technologies, pages 5–14. INSTICC, SciTePress.
Vinoski, S. (2008). RESTful Web Services Development
Checklist. IEEE Internet Computing, 12(6):96–95.
Webber, J., Parastatidis, S., and Robinson, I. (2010). REST
in Practice - Hypermedia and Systems Architecture.
”O’Reilly Media, Inc.”, Sebastopol.
Zuzak, I., Budiselic, I., and Delac, G. (2011). Web Engi-
neering: 11th International Conference, ICWE 2011,
Paphos, Cyprus, June 20-24, 2011, chapter Formal
Modeling of RESTful Systems Using Finite-State Ma-
chines, pages 346–360. Springer Berlin Heidelberg.
Towards Model-driven Hypermedia Testing for RESTful Systems
343