A Study on Latest Automation Testing Tools
Efficiency and Cost Reduction in Software Testing
by Nadeem Khan*,
- Published in Journal of Advances in Science and Technology, E-ISSN: 2230-9659
Volume 10, Issue No. 20, Nov 2015, Pages 0 - 0 (0)
Published by: Ignited Minds Journals
ABSTRACT
Softwaretesting phase is one of the most important part in software developmentprocess. Software are built and is tested throughout the software developmentcycle which determines the final success of the software. Testing processresults in additional cost of the software. Manual testing efforts can bereduced by using the automated testing with specific tools.
KEYWORD
automation testing tools, software development process, software testing phase, manual testing efforts, automated testing
I. INTRODUCTION
Software testing is a process to identify bugs that exist in a software product. It is the process of Validation and Verification of all the components of a system against specified requirements or to find the differences between expected and actual results. Software testing is also performed to achieve quality by using the software with applicable test cases. Testing can be integrated at various points in the development process depending upon the tools and methodology used. In Latest Trend Software Testing usually starts after requirements [1]. At a unit level phase, it starts concurrently with coding; whereas at integration level, it starts when coding is completed. Testing process can be performed by two ways that are manual or automation. Manual testing is a process to test the software manually to find out the bugs. Manual testing is performed without using any automated tool. While performing the manual testing a test plan is used that describe the systematic and detailed approach of testing a software application. The goal of the testing is to make sure that the software application under test is defect free but it is merely an impossible assumption. Manual testing is not suitable for large projects as it requires more resources and time [4]. Automated testing is a process in which tools execute a pre-defined scripted test on software to find defects. Automated software testing is the finest way to increase the effectiveness and efficiency of software testing. Automation testing can does what manual testing does not. Automation testing also improves the accuracy and saves the time of the tester & organization’s money. It is best appropriate in the environment where the requirements are repeatedly changing & huge amount of regression testing is required to be performed.
II. AUTOMATED TESTING PROCESS
Test Automation demands considerable investments of money and resources. Successive development cycles will require execution of same test suite repeatedly. Using a test automation tool it's possible to record this test suite and re-play it as required. Once the test suite is automated, no human intervention is required. This improved ROI of Test Automation. Goal of Automation is to reduce number of test cases to be run manually and not eliminate manual testing all together.
Automation Process
Following steps are followed in an Automation Process
Test tool selection
Test Tool selection largely depends on the technology the Application Under Test is built on. Tool must support the technology to be tested
Scope of Automation
Scope of automation is the area of your Application Under Test which will be automated. Following points help determine scope:
- Scenarios which have multiple data
- Technical feasibility!!
- Business components reusability!!
Planning, Design and Development
During this phase you create Automation strategy & plan, which contains following details-
- Automation tools selected
- Framework design and its features
- In-Scope and Out-of-scope items of automation
- Automation test bed preparation
- Schedule and Timeline of scripting and execution
- Deliverables of automation testing
Test Execution
Automation Scripts are executed during this phase.
How to Choose an Automation Tool?
Selecting the right tool can be a tricky task. Following criterion will help you select the best tool for your requirement-
- Environment Support
- Minimize training cost of selected tools
- Ease of use
- Testing of Database
- Object identification
- Easy to debug the automation software scripts
- Ability to recognize objects in any environment
- Extensive test reports and results
- Image Testing
- Error Recovery Testing
- Object Mapping
- Scripting Language Used
- Support for multiple testing frameworks
Following are the latest test automation tools used currently in the Information Technology world 1. Telerik Test Studio
Test Studio is a comprehensive and one of the most intuitive automation testing tools available. It offers robust functional UI testing, exploratory testing, load testing, performance testing, testing in Visual Studio, and mobile testing apart from manual testing capabilities. 2. Selenium Selenium is an automated software testing tool for testing web applications. It automates browsers, enabling users to sail through various browser-specific testing purposes. What makes this even more important is that most major browser vendors are taking steps to make Selenium an integral part of their browsers.
3. Rubidium
Rubidium is one the popular automation testing frameworks for Android. It supports native and hybrid applications, and makes writing automated black-box test cases easy. It also integrates seamlessly with Gradle, Ant, and Maven which helps to run test cases as continuous integration.
4. Test Complete
Test Complete is a open test platform that helps you create reusable, robust and automated tests across desktop, web, mobile, and multiple devices easily and effectively. Silverlight applications can also be tested using Test Complete.
5. Watir
Watir which is pronounced as water is another tool (Ruby libraries) to automate web browsers. Ruby enables connection to databases, reads files, export XML, etc., and also structures your code as reusable libraries. And moreover, it is an open source library, which gives you the flexibility of automation. Watir lets you write tests that are easy to maintain and flexible.
6. Visual Studio Test Professional
This is the most comprehensive testing solution for all Microsoft platforms, including desktops, phones, tablets, servers, and also the cloud. With MSDN subscription you can also access all the other Microsoft products and services, which can further
Nadeem Khan
7. QTP (UFT)
HP's QTP, which is launched as Unified Functional Testing, provides automated functional testing and automated regression testing. It supports scripting interfaces and offers a GUI for easy use. It can be used for enterprise quality assurance. It uses VB scripts to specify test procedures and manipulate application's objects which are being tested.
8. Soap UI
This is an open source web service testing application for SOA (service oriented architectures) and REST (representational state transfers). It offers automated functional testing, automated load testing, and compliance testing. It also offers mocking and simulation features apart from web service inspection.
9. Test Drive
Test Drive helps in rapid automation; it effectively tests browsers and even legacy applications apart from GUI's like Ajax, Java, Flex, and Silverlight.
10. Fitness
Fitness is a wiki and a web server apart from an automated testing tool. It is designed to run acceptance testing than unit testing. The wiki pages created in Fitness are run as tests. The specifications can be tested against the application itself, resulting in a round trip between specifications and implementation.
CONCLUSION
This paper presents a study on various automated testing tools that is used on different platforms. Test automation is one of the most cost-effective and time-saving methods of testing software products with long maintenance cycles. Undoubtedly, it makes the life of a test engineer a lot easier, when compared to the manual testing. However, there are quite a lot of automation testing tools available in the market, which makes it difficult to understand which tool should be used according to various testing requirements.
REFERENCES
Anne Mette Jonassen Hass (2008), Guide to Advanced Software Testing, Artech House Software Test Automation - Http://En.Wikipedia.Org/Wiki/Test_Automation M. Prasanna, S.N. Sivanandam, R. Venkatesan, R. Sundarrajan, “A survey on automatic test case generation”, Academic Open Internet Journal, www.acadjournal.com , Vol. 15, 2005. Manual Testing Http://En.Wikipedia.Org/Wiki/Manual_Testing S. Thummalapenta, S Sinha, N Singhania, S Chandra, “Automating Test Automation”, Proceedings Of The 34th International Conference On Software Engineering (Icse), May 2012