Automated UAV Testing
Turunen, Meri (2018)
Turunen, Meri
2018
Electrical Engineering
Tieto- ja sähkötekniikan tiedekunta - Faculty of Computing and Electrical Engineering
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2018-11-07
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tty-201811012513
https://urn.fi/URN:NBN:fi:tty-201811012513
Tiivistelmä
The thesis presents perspectives and documents a single solution to test automation framework as a part of system validation for a Linux-based embedded project. Test automation frameworks has been utilized earlier by Intel’s system validation team, but on different products and in the case of unmanned aerial vehicles (UAV) only for payload testing. In this work, test automation framework has been developed to be usable with various UAVs and specifically with Vertical Take-Off and Landing (VTOL) typed UAV. Automated testing reduces required time and amount of labor between the software integration cycles, and thus speeds up the whole development process and enables the release of the product at any time. In every cycle, automated tests can provide almost everything that is required from testing. Well-designed test automation framework reduces work for future projects as some modules can be reused. Keyword-driven test automation framework allows a simple way to make new automated tests.
The test automation framework is accomplished by utilizing the keyword driven test automation framework Robot Framework. It consists of test files that define the executed test in high-level and libraries that define test keywords and interfaces to the tested software. There are libraries to control devices such as power supply and USB-hubs, but the interface between the framework and them are made along with the thesis. The test files and test libraries that define keywords used in test files have been made based on previous automation projects of Intel. There are plenty of test libraries in Robot Framework, but many are not useful in test automation framework of an embedded Linux project, so some have been created for that purpose. Robot Framework’s logs and reports are gathered into Jenkins, so that the information about the software version, test device and the test execution can be found in the same place. An automation build server, Jenkins, is utilized to build new developed software automatically on every test device and to execute certain automatic tests on the devices.
The result of this thesis is a test automation framework for an UAV and suitable test libraries for frameworks of future UAV projects. Automated testing can be profitable and speeds up the whole testing and reporting process. It takes from several weeks to months to create fully functional test automation framework with all the required tests. In future projects most of the modules can be utilized and this can shorten the assembly of the framework by a few workweeks. Automated testing is a suitable way to execute testing and system validation in an embedded UAV project and especially at the early stage of a project it’s a good target to work on by a testing team.
The test automation framework is accomplished by utilizing the keyword driven test automation framework Robot Framework. It consists of test files that define the executed test in high-level and libraries that define test keywords and interfaces to the tested software. There are libraries to control devices such as power supply and USB-hubs, but the interface between the framework and them are made along with the thesis. The test files and test libraries that define keywords used in test files have been made based on previous automation projects of Intel. There are plenty of test libraries in Robot Framework, but many are not useful in test automation framework of an embedded Linux project, so some have been created for that purpose. Robot Framework’s logs and reports are gathered into Jenkins, so that the information about the software version, test device and the test execution can be found in the same place. An automation build server, Jenkins, is utilized to build new developed software automatically on every test device and to execute certain automatic tests on the devices.
The result of this thesis is a test automation framework for an UAV and suitable test libraries for frameworks of future UAV projects. Automated testing can be profitable and speeds up the whole testing and reporting process. It takes from several weeks to months to create fully functional test automation framework with all the required tests. In future projects most of the modules can be utilized and this can shorten the assembly of the framework by a few workweeks. Automated testing is a suitable way to execute testing and system validation in an embedded UAV project and especially at the early stage of a project it’s a good target to work on by a testing team.