Testiautomaatio mikropalvelujärjestelmälle

Abstract

This thesis discusses the topic of automated testing as it relates to microservice systems. Microservice architecture is a highly scalable way of designing and implementing online applications. Since microservice applications are network-based applications by nature, testing them has to also happen in a network environment. Automating tests for this kind of environment involves generating artificial network traffic, often in the form of HTTP requests to a network API of some kind, like a REST API. These topics are discussed from a test design and implementation point of view, along with main features of the microservice architecture and automated testing in general. The main part of this thesis describes and documents the process of designing and implementing a test automation framework for Intel Insight, an automatic image storage and photogrammetry processing platform that is implemented as a microservice system. The framework design involves setting initial requirements for potential automation tools and finding and evaluating candidates for the task. In the end, the framework core is formed by automation tools Postman, Selenium, and SikuliX. The use of this combination for test automation purposes is examined by looking at how to the tools can be used to automate a core use case of the Intel Insight platform. The resulting framework was found to be well-suited and versatile enough for its intended purpose. The tools of the framework had a low barrier of entry to them and as such were easy to begin working with and to integrate automated test cases implemented with them to Continuous Integration systems Gitlab CI and Jenkins. All tools are reviewed in-depth, and positives and negatives of each individual automation tool that were encountered during test implementation are analyzed. The main negatives are brought up as possible ideas for future development of each tool, enabled by the fact that they are all open-source projects

    Similar works