Vaatimukset testiautomaatiokehitykselle toiminnallisessa testauksessa
Abstract
Tutkielmassa käsitellään ohjelmistojen toiminnallisen testauksen automaatiossa käytettävää kehystä joka toteuttaa testiautomaation arkkitehtuurin ja sen peruspalvelut. Kehyksistä tarkastellaan niiden toiminnallisuuksia, arkkitehtuuriratkaisuja ja suunnitteluperiaatteita sekä listataan vaatimukset, joita kehyksen tulisi toteuttaa. Työssä perustellaan miksi testiautomaatio on tärkeää ketterässä kehityksessä ja listataan merkittävimmät ongelmat, joita testiautomaation käyttöönotossa tyypillisesti kohdataan. Testiautomaatiokehyksen rooli ongelmien ratkaisemiseksi käydään läpi ja perustellaan, miksi sen kehitykseen ja käyttöönottoon kannattaa panostaa.
Tutkielma on tehty kirjallisuus- ja artikkelikatsauksena. Siinä on pyritty löytämään eri lähteistä ratkaisuja testiautomaation ongelmiin testiautomaa-tiokehyksen näkökulmasta sekä löytämään vaadittavat toiminnallisuudet ja vaatimukset jotka kehyksen tulee toteuttaa.
Tutkielmassa tarkastellaan toiminnallisten testien testiautomaatio-ratkaisuja, niiden suunnitteluperiaatteita ja arkkitehtuuri-ratkaisuja. Suunnitteluperiaatteista käydään läpi modulaarisuus, kirjastojen käyttö, avainsana- ja datapohjaisuus, sekä näiden yhdistelmä hybridi testiautomaatiokehys. Tapaustutkimusten pohjalta havaitaan että tämän päivän kehykset ovat tyypillisesti hybridi-kehyksiä ja niissä erotellaan kehyksen ja testausvälineen osuudet eri tasoille arkkitehtuurissa. Kehys toteuttaa tyypillisesti testien hallinnan, testidatan käsittelyn, tulosten raportoinnin sekä testiympäristön alustuksen. Testausvälineen rooli on toteuttaa testiskriptit, jotka ajetaan kehyksen toimesta testattavaa järjestelmää vasten.
Tutkielmaan on koottu testiautomaatiokehysten yleisiä vaatimuksia joita voidaan hyödyntää sovellusaluekohtaisten vaatimusten määrittelyssä. Arkki-tehtuurivaatimusten lisäksi, kehyksen tärkeimmät vaatimukset olivat laaja räätälöitävyys, testausvälineriippumattomuus, tuki hajautetuille testeille sekä kattava testien hallinta niin raportoinnin kuin testien valinnan ja muokkauksen suhteen.
The study goes through the functionalities, design principles and architecture solutions of test automation frameworks. It explains the principles behind frameworks and collects their generic requirements. The importance of test automation is elaborated especially in Agile environments. The typical adoption issues of test automation are covered and the solutions that test automation framework design can offer to solve those issues. The study is based on literature review where these issues are addressed. The study walks through the solutions of test automation frameworks for functional testing. What are their design principles and architectural solutions. The modularity, library usage, keyword- and data-driven design principles are discussed as well as the combination of these, the hybrid design. Based on various case studies, the most common framework type today is hybrid. It implements the design principles mentioned and separates the testing tool and framework parts in the architecture. The framework’s role is to implement test management, test data handling, results reporting and test configuration features. Testing tool’s responsibility is to implement the actual test scripts executed against the system under test. The generic requirements of test automation frameworks were collected in the study. In addition to architecture requirements, the most important re-quirements were full configurability, testing tool independency, support for distributed tests and extensive test management functionalities, including test selection, editing and reporting. Based on this study, application area specific requirements can be processed.
The study goes through the functionalities, design principles and architecture solutions of test automation frameworks. It explains the principles behind frameworks and collects their generic requirements. The importance of test automation is elaborated especially in Agile environments. The typical adoption issues of test automation are covered and the solutions that test automation framework design can offer to solve those issues. The study is based on literature review where these issues are addressed. The study walks through the solutions of test automation frameworks for functional testing. What are their design principles and architectural solutions. The modularity, library usage, keyword- and data-driven design principles are discussed as well as the combination of these, the hybrid design. Based on various case studies, the most common framework type today is hybrid. It implements the design principles mentioned and separates the testing tool and framework parts in the architecture. The framework’s role is to implement test management, test data handling, results reporting and test configuration features. Testing tool’s responsibility is to implement the actual test scripts executed against the system under test. The generic requirements of test automation frameworks were collected in the study. In addition to architecture requirements, the most important re-quirements were full configurability, testing tool independency, support for distributed tests and extensive test management functionalities, including test selection, editing and reporting. Based on this study, application area specific requirements can be processed.
Main Author
Format
Theses
Bachelor thesis
Published
2015
Subjects
The permanent address of the publication
https://urn.fi/URN:NBN:fi:jyu-201508172688Use this for linking
Language
Finnish