Abstract
Automated software testing has proven its value for software development increasingly over the past few years. Software testing is an important phase in the entire software development process. There are various automated software testing tools are available today, which are used for testing various software applications whether it is desktop-based, mobile application, or a Web-based application. Evaluating a software testing tool is rather a subjective task, depending on the evaluator’s opinions rather than based on the objective approach. For this purpose, we have studied research papers, articles, journals, books, conference papers, few Web sites, etc., related with the study of software testing tools based on which we performed a survey of various automated software testing tools, i.e., Selenium, Watir, QTP, TestComplete, WinRunner, LoadRunner, SilkTest, Apache Jmeter, Wapt, Tellurium, Web Load, NeoLoad, LoadUI, Appvance, rational performance tester, SahiPro, Telerik Test Studio, Ranorex, Storm, Soap UI, TestNG, FitNese, Xebium, etc. The purpose of this research work is to summarize the existing literature and to establish an overview of the existing automated software testing tool to benefit the practice of users and for future research. We are attempting to provide detailed insight into automated software testing tools which can help the tester to choose the tool most suited to test his/her application.
Access provided by Autonomous University of Puebla. Download conference paper PDF
Similar content being viewed by others
Keywords
1 Introduction
The software testing process intends to distinguish all the imperfections existing in a software. Testing is no longer observed as a movement that begins simply after the coding stage, it ought to be inescapable all through the product advancement life cycle. Testing is a lot of exercises that can be arranged and directed deliberately [1]. It is the way toward accessing a framework or system parts by manual or programmed intends to confirm that it fulfills expected requirements or not. It additionally distinguishes the contrasts among expected and genuine outcomes.
Testing can be done by using automated software testing tools, which is also known as test automation tools [2] is when the tester writes scripts and uses another software to test the software. It can perform load, execution, practical and stress testing, and so on. It improves precision and sets aside time and cash in contrast with manual testing. Manual testing requires many labor-intensive tasks, running numerous program executions, and handling a great amount of information. Testing often consumes 40-50% of development efforts, and it consumes more effort for systems that require a higher level of reliability [3]. So, it will give rise to the demand for automated software testing tools. Appropriate tools can alleviate the burden of clerical, tedious operations and make them less error-prone. Sophisticated tools can support test design and test case generation, making it more effective. Direction to supervisors and analyzers on the best way to choose testing apparatuses that will be generally helpful to their association and experts is significant, as device determination extraordinarily influences testing productivity and viability.
We proceed with this paper with our writing study in which we have characterized and investigated many softwares (e.g., Selenium testing tool, Watir, QTP, TestComplete, WinRunner, Load Runner, SilkTest, Apache Jmeter, Wapt, Tellurium, Web Load, Neo Load, LoadUI, Appvance, rational performance tester, SahiPro, Telerik Test- Studio, Ranorex) dependent on different software quality attributes like understandability, modifiability, modularity, cost-effectiveness, extendibility, reliability, flexibility, reusability, browser compatibility, and OS compatibility [4,5,6,7,8].
Analysis of automated software testing tool gives administrators and analyzers understanding that can drive significant choices in regards to device determination for their undertaking. This data will give a superior comprehension of the apparatuses. As there are different automated testing tools which have different element yet despite the fact that they likewise have hardly any restrictions. This makes them monotonous to use for testing. There is a prerequisite of such a device that can be demonstrated its capability to do the entire testing process in less time, costs less cash, and needs less exertion and labor.
This paper will further contain Sect. 2 as a review methodology that describes the method adopted for the literature review. The literature review is described in Sect. 3. Further, the result of review work is presented in Sect. 4, and Sect. 5 presented the conclusion of all the above work.
2 Literature Review
The literature review was done to establish an understanding of the state of research in the area of automated testing tool, and the goal is to address the existing research done for automated testing tools and to present results related to these. The literature review represented in this paper is such that which identifies publications of relevance, evaluates, and selects publications for review and organizes them such that common concepts are identified and structured manuscript in different sections.
Anju Bansal [1] presented details of the flow of test information while testing an application. It also represents a different form of black box testing, white box testing, and gray box testing. Software testing can provide an independent view of the software to allow the business to appreciate and understand the risk of software implementation. This paper also provides the detailed insight into types of testing along with their advantages and disadvantages. With black box testing, one need not to have knowledge of programming language, testing can be done from user point of view, but test case is very hard to design, and some part of the backend is not tested at all. Apart from black box testing, white box testing focuses on the internal logic of code, it helps in uncovering the error from the code, but for this task, skilled testers are needed, and it is very tedious and time-consuming. While the third type, i.e., gray box testing generally combines the benefits of both types of black and white box testing.
A framework based on Selenium WebDriver and TestNG is proposed by Satish Gojare, Rahul Joshi, and Dhanashree Gaigaware [2]. As Selenium has a lack of customized report generation facility, therefore the author proposed a framework which is used to generate the customized report. The component of the proposed framework is object repository which performs the task of maintaining and repairing test cases, the input file will contain the input required by the web pages under test, and the utility section contains web page-related functions. Test suite can be formed by taking input from these three component object repository, input file, and utility file. Above all these, the test result after running the test suite can be fed to TestNG unit which will then generate a test report.
Quality of software system is defined based on quality attributes such as portability, reusability, interoperability, reliability, and performance. Software systems are checked based on their quality. Therefore, the quality characteristics are considered to be very important during the development of software. Therefore, Ritika Vern and Sanjay Kumar Dubey [4] present a study of few quality characteristics based on fuzzy logic technique. This will help the researcher, developer, and tester to decide their perspective in the area of software quality.
The quality attribute is required to capture how the functional requirement of an application is achieved. To trace the quality of the software, the quality attribute plays a very important role. Gorton, essential software architecture [6], gives a description of various quality attributes which helps to capture the quality of software, and it also sets a comparison criteria for comparing various software.
SWEBOK V3.0, [8] a guide to the software engineering body of knowledge Chap. 4 software testing, this chapter will represent the importance of software testing as a part of software development, and it also describes the basic terminologies and software quality-related attributes like maintainability, portability, usability, etc.
Nisha Gogna [9] talked about the most basic features of browser-based automation testing tool, i.e., Watir and Selenium. In this paper, the author describes mainly the details of components of Selenium such as Selenium IDE, Selenium RC, and the Selenium Grid. According to which, Selenium IDE is the integrated development environment used for preparing test cases and is used as Firefox add-ons. Firefox has many add-ons to be used with Selenium IDE which will increase its usability. The author also described briefly about Selenium RC, according to which the developer has to use programming language for writing test script to get maximum flexibility and extendibility. The Selenium Grid is another component of Selenium testing tool which scales the use of Selenium RC on multiple platforms and on multiple browsers. This paper also gives the details of the platform, browser, and languages supported by the Selenium testing tool. Also, Selenium has a deep learning curve to switch from one component to another as compared to Watir.
Based on the study of Selenium RC and Selenium WebDriver, the author Mahan Sunhare, Abhishek Tiwari [10] found that the architecture of Selenium RC is more complicated as compared to Selenium WebDriver and Selenium WebDriver has also friendlier API than Selenium RC. Software developers thought to build beautiful and attractive web pages, but they did not bother about their accessibility and presentation on various browsers. Therefore, the author describes the need of focusing on browser compatibility issue for a consistent look of web pages on all browsers.
In this paper, the author, Shaukat [11], presents the taxonomy of various automated software testing tools along with the importance of software testing methods as a part of the software development life cycle (SDLC). The author’s perspective is to present with a comparative study of various automated software testing tools such that one can get a brief overview of all the tools presented in the paper. The tools which are chosen for comparative study are Selenium, Watir, Sahi Pro, HP-QTP, TestComplete, Ranorex, NeoLoad, hp LoadRunner, FitNese, SilkTest, TestNG, Apache Jmeter, Soap UI, Tellurium, WebTest, Xebium, Wapt, WebLoad Testanywhere, LoadUI, Appvance, rational performance tester, Visual Studio, and Telerik Test Studio. All these tools are studied based on operating system support, browser support, application used for testing, language support, cost-effectiveness, etc.
A study on various open source automated testing tools and a brief comparison of the same based on application support, language support, platform support, and understandability is presented in the paper by the author Bhat and Chaudhary [12]. Based on the survey, it is found that some of open source tools have some limitations while a commercial one has some good features. Therefore, the selection of the tool is completely based on the project needs and testers knowledge. According to the study of this paper, among all studied tools, Selenium has support for vast programming languages and platforms.
Chandraprabha et al. [13] talked about the systematic study of Selenium testing tool with all its components, architecture, and limitations also. As Selenium is an open source automated Web testing tools and being component-based, it is used by most of the testers. According to the study, automated testing is very advantageous as it saves time, money, and effort. It is also reliable and improves the accuracy of the testing process. Along with the details of the Selenium testing tool’s component, the author also talked about the limitations of the component. According to which, the main feature of Selenium IDE is easy to record and playback, support autocomplete command, customization is allowed through plug-ins, allow to set breakpoints and debug the script, but apart from all these features, it has few limitations as it can be only used as a Firefox plug-ins, it has its own language Selenese. With Selenium RC, it is possible to run tests inside every JavaScript compatible browser using a wide range of programming language. On contrary to this feature, it is slow, struggles while running concurrent tests, and does not allow simultaneously tests across different OS and browsers. But with the help of Selenium Grid, one can run test cases across all browsers. Selenium WebDriver being a robust, open source, cost-effective and widely used tool cannot readily support new browsers.
Altaf et al. [14] specify all the pros and cons of every component of the Selenium testing tool. Selenium is a freeware open source testing tool. There are many challenges with it, and the main is that it has drawbacks, the user interface is slow for many reasons.
Mustafa et al. [15] had discussed about sets of software testing tool and classify them over the types of testing they can perform. Here, stress, load, regression, functional, unit, performance, and security testing are defined. The author had also represented the result of his/her study through the graph. One graphical representation specifies the type of application which is mostly tested, and the result shows that Web application widely tested by using software testing tool. There is another graph that shows a widely performed type of testing, and the result shows that functional testing is widely performed on applications.
3 Result of Literature Review
This section presents a brief study of most widely used testing tools based on literature review, which includes various testing tools. Individual tools such as Selenium testing tool, Watir, QTP, TestComplete, WinRunner, LoadRunner, SilkTest, Apache Jmeter, Wapt, Tellurium, Web Load, Neo Load, LoadUI, Appvance, rational performance tester, SahiPro, Telerik Test Studio, Ranorex are classified in Table 1 which represents the basic details of tools such as developer’ s name, year in which the tool is initially developed, OS support, browser support, application support, testing type, language support and whether the tools is open source or a commercial.
All the above-mentioned automated software testing tools are compared based on software quality attributes like understandability, modifiability, modularity, cost-effectiveness, extendibility, reliability, flexibility, browser compatibility, OS compatibility [4,5,6,7,8].
3.1 Software Quality Attributes
The detailed definition of all the above-mentioned software quality attributes is listed below, and their comparison based on these attributes is given in Table 2.
-
1.
Modifiability: This defines the ability of software testing tool of being modified according to user requirement [4, 6].
-
2.
Understandability: It is the attribute that determines how easy is the tool to be used without the need for expertise [4].
-
3.
Extendibility: It defines the degree to that software should be extended, i.e., functionalities should be added to the existing software [7].
-
4.
Modularity: It is the degree to which a system’s component may be separated [7].
-
5.
Compatibility: It is the usability of the same software in different environments (like different OS, browsers, etc.) [7].
-
6.
Cost-effectiveness: It is the attribute that tells us whether the software is freely available to the user or there is purchasing cost associated with it [7].
-
7.
Flexibility: It is the degree of ease with which a system can respond to any change [4].
-
8.
Reliability: It is the degree to which the result of testing should be accurate or consistent. [4].
4 Conclusion
In total, from the survey and reviewed literature, we found that the tool selection depends on diverse evidence, such as development choices, evaluation objectives, execution facilities, and on so many parameters. In general, there may not be a unique tool that will satisfy particular needs, so maybe a suite of tools would be an appropriate choice. So, it gives us motivation to classify automated software testing tools and study them to explore their features and limitations. Analysis of automated software testing tool provides managers and testers insight that can drive important decisions regarding tool selection for their task. This information will provide a better understanding of the tools. As there are various automated software testing tools available which have various feature, but although they also have few limitations. This makes them tedious to use for testing. In today’s era, there is a requirement of such a tool which can be proved its capability to carry out the whole testing process in less time, costs less money, and needs less effort and man power. Also, during our study, we found few tools are widely used because of their features and performance, while some of them lag. So, in our further study, we give preference to such tools that are widely used.
Abbreviations
- QTP:
-
QuickTest professional
- IDE:
-
Integrated development environment
- RC:
-
Remote control
- API:
-
Application program interface
References
Bansal A (2014) A Comparative study of software testing techniques. Int J Comput Sci Mob Comput
Gojare S, Joshi R, Gaigaware D (2015) Analysis and design of Selenium testing tool web driver automation testing framework. Elsevier
Bhadauria SS, Kothari A, Prasad L (2011) Design architecture class diagram for comprehensive testing tool. Orient J Comput Sci Technol
Vern R, Dubey SK (2013) A survey on evaluation of quality of software system by using fuzzy logic approach. Global J Comput Sci Technol Softw Data Eng
International standard for the evaluation of software quality. https://en.wikipedia.org/wiki/ISO/IEC_9126
Gorton (2011) Essential software architecture. Springer, Berlin Heidelberg
Senthilkumar R, Arunkumar T (2016) A survey on prioritization of software quality. Indian J Sci Technol 9(44)
SWEBOK V3.0 A guide to the software engineering body of knowledge
Gogna N (2014) Study of browser based automated test tool Watir and Selenium testing tool. Int J Inform Edu Technol
Sunhare M, Tiwari A (2016) Survey of comparative study for automated tools such as Selenium testing tool RC, Selenium testing tool web driver. Int J Sci Res Dev 4(6)
Shaukat K (2015) Taxonomy of automated software testing tool. Int J Comput Sci Innov
Bhat W, Chaudhary K (2016) A comparative study on software testing tools based on open source technology. Int J Multi Res Dev 3(1)
Chandraprabha, Kumar A, Saxena S (2013) Systematic study of a web testing tool: Selenium testing tool. Int J Adv Res Sci Eng 2(11)
Altaf I, ul Rashid F, Dar JA, Rafiq M (2015) Survey on Selenium testing tool in software testing. IEEE Computer Society
Mustafa KM, Al-Qutaish RE, Muhairat MI (2009) Classification of software testing tools based on the software testing methods IEEE
Kaur H, Gupta G (2013) Comparative study of automated testing tools: Selenium testing tool, QTP and TestComplete. Int J Eng Res Appl 3(5)
Singh J, Sharma M (2015) Performance evaluation and comparison of Sahi Pro and Selenium testing tool web driver. Int J Comput Appl 129(8)
Bhateja N (2015) A study on various software automation testing tools. Int J Adv Res Comput Sci Softw Eng 5(6)
Singh J, Sharma M (2015) A comprehensive review of web-based automation tools. Int J Innov Res Comput Commun Eng 3(10)
Dubey N, Shiwani S (2014) Studying and comparing automated testing tools: Ranorex and TestComplete. Int J Eng Comput Sci 3(5)
Rattan R, Shallu (2013) Performance evaluation and comparison of software testing tool. Int J Inform Comput Technol 3(7). ISSN 0974-2239
Gunasekaran S, Bargavi V (2015) Survey on automation testing tool for mobile applications. Int J Adv Eng Res Sci 2(11)
Rahate SR, Bhave U (2016) A survey on test automation. Int J Innov Res Comput Commun Eng 4(6)
Arora I, Bali V (2015) A brief survey on web application performance testing tools literature review. Int J Latest Trends Eng Technol 5
Kaur M, Kumari R (2011) Comparative study of automated testing tools: Testcomplete and QTP. Int J Comput Appl 24(1)
Bhadauria S, Kothari A, Prasad L (2011) A full featured component based architecture testing tool. 8(4)
Regina Ranstrom, Automated web software testing with Selenium testing tool
Bruns A, Kornstadt A, Wichmann D (2009) Web application tests with Selenium testing tool. IEEE Comput Soc
Angmo R, Sharma M (2014) Performance evaluation of web-based automation testing tools. IEEE Comput Soc
Hooda I, Chillar SR (2015) Software test process, testing types and techniques. Int J Comput Appl 3(12)
Dwivedi S, Gupta G (2015) Proposed framework based on performance evaluation and analysis of testing tool. Int J Innov Res Comput Commun Eng 3(4)
An open source platform GitHub. https://github.com
Tools support platform. https://support.smartbear.com
Ranorex. https://www.ranorex.com
Author information
Authors and Affiliations
Corresponding authors
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 The Author(s), under exclusive license to Springer Nature Singapore Pte Ltd.
About this paper
Cite this paper
Prasad, L., Yadav, R., Vore, N. (2021). A Systematic Literature Review of Automated Software Testing Tool. In: Abraham, A., Castillo, O., Virmani, D. (eds) Proceedings of 3rd International Conference on Computing Informatics and Networks. Lecture Notes in Networks and Systems, vol 167. Springer, Singapore. https://doi.org/10.1007/978-981-15-9712-1_10
Download citation
DOI: https://doi.org/10.1007/978-981-15-9712-1_10
Published:
Publisher Name: Springer, Singapore
Print ISBN: 978-981-15-9711-4
Online ISBN: 978-981-15-9712-1
eBook Packages: EngineeringEngineering (R0)