Model-Based Testing for Web Applications: From Specialized Crawlers to Generic Models
Jochem Monsma
Model-Based Testing for Web Applications: From Specialized Crawlers to Generic Models
Testing web applications is still a laborious and error-prone activity, often without clear specifications and without a lot of test automation. We present a novel approach to model-based testing of web applications that alleviates these issues. We use a headless browser (PhantomJS) so that small changes and layout modifications do not influence the model. On the other hand, we use generic models, i.e., models that are so abstract that they describe many different web applications at the same time.
To create such a generic model, we take an abstract view on web pages, considering that every web page can hold links, events, images, and styling- and javascript code. We created a small model, based on this abstraction that is capable of testing multiple information web applications, without any changes to the model. It appears that such a generic model, together with an MBT tool like GAST, acts very akin to a web crawler, e.g., Crawljax. But unlike a crawler, such a generic model can be easily extended with more specific functions and properties, so that particular fields can be tested. Such extensions are not completely generic but the adaptations that they require are very small and are easily made.
Based on case studies where two web applications with forms and two webshops were tested, we conclude that this approach to model-based testing can certainly improve the quality of web applications, but also has room for improvement.