Free Literature Review About Automation Testing
Automation Testing 3
Automated Test Case Creation and Execution 4
Automated Test Reports 4
Web Application Testing 4
Advantages of Automation Testing for Web Applications 5
Support of Programming Languages 5
Review of Some Automation Frameworks 6
IBM Rational Functional Tester (RFT) 6
Works Cited 7
Testing is a vital facet of the process of software development. Testing has a critical role in maintaining the quality of the software applications. There are two forms of testing – manual and automated. Manual testing is the most fundamental form of testing. It requires testers to execute a set of steps known as test cases. However this type of testing is tedious, error prone and subject to human judgment errors as well. Automation testing utilizes some prewritten test suites and automated programs that execute a set of steps known as test suites over a software to be tested. An automated test framework can be understood as an integrated system with a set of rules for automatically testing a particular software product or service. An automated test suite integrates different functions like support libraries, data sources, reusable modules and reporting frameworks. A test automation suite does most of the work by controlling the test execution and comparing actual and expected results and then generating a report (Srinivasa, Abu Bakar and Swamy, 335). In this paper, we review some of the available literatures to understand the automation testing.
Automation testing finds use many applications as it facilitates the automation of the software testing process. In the current time, the demand of automation test suites has increased as the availability of skilled resources has gone down, and the number of software products to be tested has increased. Automation is effective both in terms of results and the cost as well. There are many automated test suites available that can be used as is or with some modifications depending upon the requirement of the software being tested. The automated tools can be used for both independent applications, web services and web applications. (Bose, and Thakur, 761).
Automated Test Case Creation and Execution
Automation testing requires the use of specialized software tools for automating the testing process. There is a controlling software that manages the execution of all the test steps. The test manager also known as test director is usually a software that controls this flow. Human intervention is required only at the time of the creation of the test cases or the test suite and also for providing various configuration information like machine details, database, and access details.
The execution of test scripts is done using some scripting tools like Unix Shell scripts or Ant and Maven tools. For most of the automation test suites, the execution is through batch scripts. (Bose, and Thakur, 761).
Automated Test Reports
Automation test tools provide a capability of testing the test outcomes with the expected results. The testing results and log are recorded and presented to the people managing the testing of the application. The test reports are generated after the completion of the test run. The test report can be HTML based or text based depending upon the settings of the automation tool (Zeng, Ningkang, and Xubo, 317).
Web Application Testing
An advancement in the internet technologies has led to the development of sophisticated and scalable web applications. A typical web application involves many other modules and applications and even web services. The quality and trustworthiness of web applications has become even more crucial than before. Regression testing involves testing of all dependent components and is more complex for manual testing. Automation test suites play a significant role in web application testing (Zeng, Ningkang, and Xubo, 318)
Automation testing tools cannot cope with the web page changes, and it requires the test scripts to be modified on each web page change. This is applicable for structural changes to web pages. Even a slight shift in the web page might lead to unexpected outputs and error. Although there is some testing automation tool, that cope with fundamental and expected changes as automation tools are being refined and enhanced (Zeng, Ningkang, and Xubo, 318).
Advantages of Automation Testing for Web Applications
The automation testing tools makes the test job easy for web applications. It allows for automation of the testing of the web application without human intervention. Automation testing for web applications has many advantages that include cost reduction, quality maintenance, reliable and efficient testing and adequate reporting (Zeng, Ningkang, and Xubo, 319).
Automation testing makes the reliability of web applications even higher as web applications are tested against a specified set of outcomes. The automation scripts consist of a capture and replay functionality that enables testing of scenario again and again without the loss of any action. Most automation tools are responsible for testing of the whole web application (Zeng, Ningkang, and Xubo, 319).
Support of Programming Languages
Most automation test tools are writing some scripting languages. However, there are tools that use some high-level languages like JAVA. An adequate framework is supported by a robust programming language (Yu, and Giri, 335). The most common programming languages used are Perl, Java, VB, Python, Ruby, C#, TCL, HTML.
Web Browser Support
Most web browsers support automation testing. The major browsers that support automation include Internet Explorer (IE), Mozilla, Chrome and Safari (5.0 and above). Mozilla even provides support for the development of customized browser support. Selenium is an automation tool that makes use of Mozilla and IE for executing test suites (Bose, and Thakur, 763).
Review of Some Automation Frameworks
Jmeter is a new proposed automation framework for testing of web services and web applications based on SOA (Service Oriented Architecture). The test framework does not require human intervention and works independently to test web services. It is fast and efficient. The report generated is in HTML format (Srinivasa, Abu Bakar and Swamy, 335).
IBM Rational Functional Tester (RFT)
RFT is a GUI (Graphical User Interface) based automation testing tool. It is fast and efficient and can produce test scripts for any application. It can make automation test suites for applications that are developed with Java, NET or other web applications (Zeng, Ningkang, and Xubo, 318).
Selenium is a lightweight and robust automated testing framework for web applications. It facilities record and playback features. Selenium supports in creating reporting features and allows cross-browser testing as well (Bose, and Thakur, 763).
Bose, Lipika, and Sanjeev Thakur. "GRAFT: Generic & Reusable Automation Framework for
agile testing." Confluence The Next Generation Information Technology Summit
(Confluence), 2014 5th International Conference-. IEEE, 2014:761-766.
Shenoy, Srinivasa, Nur Asyikin Abu Bakar, and Rajashekara Swamy. "An Adaptive Framework
for Web Services Testing Automation Using JMeter." Service-Oriented Computing and
Applications (SOCA), 2014 IEEE 7th International Conference on. IEEE, 2014: 314-318.
Wandan, Zeng, Jiang Ningkang, and Zhou Xubo. "Design and Implementation of a Web
Application Automation Testing Framework." Hybrid Intelligent Systems, 2009. HIS'09.
Ninth International Conference on. Vol. 2. IEEE, 2009:316-318.
Yu, W. D., and Giri Patil. "A workflow-based test automation framework for web based
systems." Computers and Communications, 2007. ISCC 2007. 12th IEEE Symposium on.