Test Automation for Process Automation System
Kanninen, Jyri Tapani (2015)
Kanninen, Jyri Tapani
2015
Automaatiotekniikan koulutusohjelma
Teknisten tieteiden tiedekunta - Faculty of Engineering Sciences
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ä
2015-02-04
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tty-201501291008
https://urn.fi/URN:NBN:fi:tty-201501291008
Tiivistelmä
Automation system manufacturers have been developing automation application software for decades. Recently, the amount of test automation integrated in the application research and development has been on the rise due to the increase in the number of version management and continuous integration platforms developed. However, the main problem in developing test automation for automation systems is due to great differences in software architecture and interfaces between the manufacturers, which make the use of many commercial options difficult. In this thesis, the goal is to research and develop an initial test automation concept for paper machine’s machine-direction control system, using MetsoDNA as the automation system platform, to decrease the work hours needed in manual testing during a development process. The systems engineering method V-model was used as a structure in the development of the test automation concept.
Initially, a workflow was identified which the developer, when developing a new product, has to go through in order the test the functionality of the new product. This workflow was seen as the single most crucial aspect that needed to be automated, in addition to the functional testing of an actual system. The test concept exploration was conducted by interviewing knowledge workers who have been involved in researching, designing and implementing test automation for automation systems in a different product scope. From the interviews, two alternatives, keyword-driven and data-driven concepts, rose as feasible concepts, which were further analyzed using a trade-off analysis. Data-driven test concept was chosen as the most feasible option, and a fully functional prototype was constructed to make a solid case for further development and to identify any major issues which might pose a development risk for the product scope of this thesis. After successful prototype evaluation, the test concept went through design phase in which the reporting from each workflow phase was implemented. The evaluation of the system was done by running the workflow multiple times with a project specification and preliminary functional tests. As a result, the developed and deployed test automation concept saves the developer from manually performing the workflow of testing a new product, which is directly relative to saved work hours in development. Automaatiojärjestelmien valmistajat ovat kehittäneet automaatio-ohjelmistoja jo vuosikymmeniä. Viime aikoina testiautomaation määrä ohjelmistojen tuotekehityksessä on ollut kasvussa version hallinnan ja jatkuvan integroinnin alustojen kehityksen ansiosta. Pääongelmana automaatiojärjestelmien testiautomaation kehityksessä on kuitenkin suuret erot automaatio-ohjelmistojen arkkitehtuurissa sekä rajapinnoissa, jotka tekevät useimpien kaupallisten testiautomaatio vaihtoehtojen implementoinnin vaikeaksi. Tässä työssä on tarkoituksena tutkia ja kehittää alustava testiautomaatio konsepti paperikoneen konesuuntaisen säädön säätöjärjestelmälle, joka käyttää automaatiojärjestelmänä MetsoDNA:ta. Tavoitteena on vähentää henkilötyönä tapahtuvaa testausta uuden tuotteen kehitystyön aikana. Testiautomaation kehityksessä käytettiin apuna systeemisuunnittelun metodia V-malli.
Työn aluksi tunnistettiin työketju, jonka kehittäjä käy läpi testatessaan uuden tuotteen toiminnallisuutta. Tämä työketju nähtiin tärkeimpänä yksittäisenä osiona joka tarvitsi automatisoida, todellisen järjestelmän funktionaalisen testauksen lisäksi. Mahdollisten testikonseptien tutkiminen suoritettiin haastattelemalla tietotyöläisiä jotka ovat olleet mukana kehittämässä, suunnittelemassa ja implementoimassa testiautomaatiota automaatiojärjestelmiin. Haastatteluista nousi esille kaksi mahdollista testikonseptia: Aineisto-ohjattu (data-driven) ja avainsana-ohjattu (keyword-driven). Molempien testikonseptien heikkouksia ja vahvuuksia analysoitiin, minkä perusteella aineisto-ohjattu testikonsepti valittiin sopivimmaksi vaihtoehdoksi. Aineisto-ohjatusta testikonseptista rakennettiin täysin toimiva prototyyppi, jotta konseptin jatkokehitys olisi perusteltua ja mahdolliset epäkohdat järjestelmän implementoimisessa säätöjärjestelmään saataisiin identifioitua. Onnistuneen prototyypin jälkeen implementoitiin testikonseptiin suunnitteluvaiheessa raportointi mahdollisuudet jokaisesta työketjun vaiheesta. Järjestelmän toiminnan todentaminen ja arviointi suoritettiin ajamalla työketju läpi useita kertoja eräällä projekti määrittelyllä sekä alustavalla funktionaalisella testillä. Tuloksena tuotettu testi automaatio konsepti säästää kehittäjän uuden tuotteen henkilötyönä tapahtuvalta testaukselta, mikä on suoraan suhteessa säästettyjen työtuntien määrään kehitystyössä.
Initially, a workflow was identified which the developer, when developing a new product, has to go through in order the test the functionality of the new product. This workflow was seen as the single most crucial aspect that needed to be automated, in addition to the functional testing of an actual system. The test concept exploration was conducted by interviewing knowledge workers who have been involved in researching, designing and implementing test automation for automation systems in a different product scope. From the interviews, two alternatives, keyword-driven and data-driven concepts, rose as feasible concepts, which were further analyzed using a trade-off analysis. Data-driven test concept was chosen as the most feasible option, and a fully functional prototype was constructed to make a solid case for further development and to identify any major issues which might pose a development risk for the product scope of this thesis. After successful prototype evaluation, the test concept went through design phase in which the reporting from each workflow phase was implemented. The evaluation of the system was done by running the workflow multiple times with a project specification and preliminary functional tests. As a result, the developed and deployed test automation concept saves the developer from manually performing the workflow of testing a new product, which is directly relative to saved work hours in development.
Työn aluksi tunnistettiin työketju, jonka kehittäjä käy läpi testatessaan uuden tuotteen toiminnallisuutta. Tämä työketju nähtiin tärkeimpänä yksittäisenä osiona joka tarvitsi automatisoida, todellisen järjestelmän funktionaalisen testauksen lisäksi. Mahdollisten testikonseptien tutkiminen suoritettiin haastattelemalla tietotyöläisiä jotka ovat olleet mukana kehittämässä, suunnittelemassa ja implementoimassa testiautomaatiota automaatiojärjestelmiin. Haastatteluista nousi esille kaksi mahdollista testikonseptia: Aineisto-ohjattu (data-driven) ja avainsana-ohjattu (keyword-driven). Molempien testikonseptien heikkouksia ja vahvuuksia analysoitiin, minkä perusteella aineisto-ohjattu testikonsepti valittiin sopivimmaksi vaihtoehdoksi. Aineisto-ohjatusta testikonseptista rakennettiin täysin toimiva prototyyppi, jotta konseptin jatkokehitys olisi perusteltua ja mahdolliset epäkohdat järjestelmän implementoimisessa säätöjärjestelmään saataisiin identifioitua. Onnistuneen prototyypin jälkeen implementoitiin testikonseptiin suunnitteluvaiheessa raportointi mahdollisuudet jokaisesta työketjun vaiheesta. Järjestelmän toiminnan todentaminen ja arviointi suoritettiin ajamalla työketju läpi useita kertoja eräällä projekti määrittelyllä sekä alustavalla funktionaalisella testillä. Tuloksena tuotettu testi automaatio konsepti säästää kehittäjän uuden tuotteen henkilötyönä tapahtuvalta testaukselta, mikä on suoraan suhteessa säästettyjen työtuntien määrään kehitystyössä.