Abstract

Testing is art and science that should ultimately lead to lower cost businesses through increasing control and reducing risk. Testing specialists should thoroughly understand the system or application from both the technical and the business perspective, and then design, build and implement the minimum-cost, maximum-coverage validation framework. Test Au- tomation is important ingredient for testing large scale applications. In this paper we discuss several automation frameworks, their advantages and disadvantages. We also propose a custom automation framework model that is suited for applications with very complex business requirements and numerous interfaces.Keywords: Software Testing, Test Automation, Test Automation Framework, Data Driven, Keyword Driven, HybridIntroductionS oftware testing has been a rapidly grow- ing industry in the past ten years. Neverthe- less, the domain is new so there is a lot of room for improvement and a lot of room for innovative ideas. very interesting and chal- lenging chapter of software testing is soft- ware testing automation. This falls some- where between software testing and software development, using both programming con- cepts as well as testing ones. Diving further into software automation, one of the biggest challenges is to keep the testing perspective while codding, as the independence of testing versus development is extremely im- portant principle.We see a lot of improvements in Software automation in the past five years. As it happens in any growing industry, there were set a lot of trends. It usually starts with rec- ord and play approach and evolved to a mod- ular approach and moving towards the data- driven and keyword driven. Of course, these trends started a lot of debates on which de- sign is better or more suitable for your team, your business and your needs.Before we start discussing automation design, we will define some of the most common terms related to this topic. Software testing is defined as an investigation con- ducted to provide stakeholders with infor- mation about the quality of the product or service under test [3]. Therefore, the main goals of this activity are to detect and prevent defects as well as to insure the intended be- havior of the tested software [5], [6], [7].Software automation represents the use of software to control the execution of tests, the comparison of actual outcomes to pre- dicted outcomes, the setting up of pre- conditions, and other control and re- porting functions (BS 7925-1) [1].Test Automation Framework represents a framework used for automation. It pro- vides some core functionality (e.g. logging and reporting) and allows its testing capabili- ties to be extended by adding new librar- ies [1]. An automated framework may be loosely defined as a set of abstract con- cepts, processes, procedures and environment in which automated tests will be designed, created and implemented. In addition, it in- cludes the physical structures used for creation and implementation, as well as the logical interactions among those compo- nents [2].A automation framework has the struc- ture of a software application. As applica- tion, a automation framework defines common functions such as handling external files, GUI interaction, provides templates for structure, and therefore developing automated solution is very similar to devel- oping software applications [3], [7], [9], [10], [11], [12], [13].In any type of design of software auto- mation framework, in order to appli- cation, we need the following:· Test case or flow - The definition of a case in automation is the same as the case defined by ISTQB: A set of input values, execution preconditions, expected results and execution post- conditions, developed for a particular objective or condition, such as to ex- ercise a particular program path or to verify compliance with a specific re- quirement [After IEEE 610]. …

Highlights

  • Automated solution is very similar to developing software applications [3], [7], [9], [10], [11], [12], [13]

  • There are a couple of test automation framework types but the most common are: data – driven, keyword – driven and hybrid

  • In this article we are going to focus on two designs of software testing automation frameworks that answers to the requirements described above: PageObject design and a custom framework developed as a new automation solution for several projects. These days, the one of most discussed trend in software testing automation is the PageObject design, which is very well supported by Selenium 2.0 offering the PageObject pattern

Read more

Summary

2Department of Economic Informatics and Cybernetics

Testing is an art and science that should lead to lower cost businesses through increasing control and reducing risk. The test data and the actions on the application elements/objects are stored in external files This approach makes it easier for the test engineers to create test cases without ever touching the framework code. Creating new test cases is done by teams without any programming skills This type of framework fits a broader range of applications but it is usually limited only by the technology used to implement it. It requires less generalization, compared to the keyword driven framework but it still allows more flexibility than the purely data driven one [1], [2], [3], [10] These days, the one of most discussed trend in software testing automation is the PageObject design, which is very well supported by Selenium 2.0 offering the PageObject pattern.

Test Data Files
Application under test
Test Script
Test Case file test name data section name
Conclusions
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call