Creating user interface based automated regression test suite

Name
Arli Türk
Abstract
The main goal of this Thesis was to create initial user interface based automated regression test suite for EAK project to cope with testing of growing functionality and speed up the developement process. First, the regression testing was examined to understand that it is needed because possibility to introduce new bugs to old functionality while developing new components for application. While regression testing is vital part of software testing there are also some problems that it will create. One major problem was risk that critical bugs would not be found because there would not be enough time to test everything. To deal with this risk, the idea of priority assigning to tests cases was introduced. Having priorities, the tester will test most important functionality first and if time runs out then functionalities with lower priorities would not be tested as thoroughly as were test cases with higher priorities. At second part of this Thesis automation was introduced to deal with growing functionality, routine work and human errors at testing. While automation is powerful tool to use if it is used in the correct way it also may cause loss of valuble resources if it is done in the wrong way. Most important thing is to remember that automation will not teach testers how to test, so testing process should be reviewed and if there are any existing problems then they should be dealt before starting to automate tests. In most cases it is not realistic to automate all the testing in project, so tests for automation should be chosen carefully. Testers should think if testing of some functionality requires exploratory testing, if yes then it is not a good candidate for automation. Also if output of test is hard to confirm by automated test (for example picture is generated) then it should be tested manually. But test cases that have large amount of data or that require a lot of routine are excelent candidates for automation (assuming that components to be tested are very stable and will not be changed in near future). 38 At third part of this Thesis Selenium Webdriver was introduced as the automation tool which was used to create automated tests for EAK project. It was explained that this tool was selected because of its ability to automate functional tests, posibility to create tests in Java programming language, report generating ability and because it is freeware application. Overview of Selenium IDE was given, that can be used to record trivial automated tests or to use as supportive tool for creating more complex tests with Webdriver. Data driven testing was shortly intorduced and also most important parts of Webdriver functionality were investigated like what possibilities are to create waiting logic, how to locate webelements and how to confirm results. It was explained how to set up environment for developing Webdriver tests in Eclipse developing environment. TestNG and ReportNG frameworks were intorduced to create dependencies between automated tests and to generate more readable reports. As result of this thesis initial set of automated regression tests were created for EAK project along with test cases and list of application functionalities that can be used as regression test plan.
Graduation Thesis language
Estonian
Graduation Thesis type
Bachelor - Information Technology
Supervisor(s)
Herlle Hein, Artur Assor
Defence year
2013
 
PDF