Analyzing Algorithms for Improving Software Test Automation

Verified

Added on  2019/09/16

|7
|1811
|450
Report
AI Summary
This report investigates the application of algorithms to improve test automation in software development. It examines the shift from manual to automated testing and the benefits of increased efficiency and reduced risk. The research analyzes secondary sources to ascertain how algorithms, including randomized and genetic algorithms, contribute to improved test coverage and reduced cycle times. The report reviews literature on various techniques, such as structural testing, model-based testing, and search-based testing, highlighting the role of algorithms in test case generation and software quality assurance. Findings indicate that algorithms are integral to the software project lifecycle, with randomized algorithms widely used in software testing. The report concludes that the implementation of algorithms significantly enhances test automation, leading to better defect detection and overall software quality.
Document Page
Improving test automation using algorithms
Abstract
In the software industry, automation helps in improving the test efficiency of the software test
organizations. To ensure the satisfaction of the test coverage and thereby reducing its risk, there
are more people employed for the manual testing, or in place of this, the automation techniques
and tools are used for improving the level of test automation. The method that reduces the cycle
time and the time for the test is adopted. The current research focuses on the use of algorithms
for improving this test automation. The objective of the research is to ascertain the
improvements in the test automation when algorithms are used. For this, the secondary sources
like the previous researchers have been analyzed to come to a conclusion. In all the research, it
has been observed that when the algorithms were used, the test automation got improved. The
algorithms are a part of the life cycle of the software project. It has also been found that the
randomized algorithm is widely used by the software testers and in this, there are many
components that are based on the randomness.
1
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
Introduction
Primarily, the software and the web are used for testing the architecture of the client and the
server. If the companies want to achieve the high quality of their software, then they have to use
the technique of software testing. The software is tested so that the faults can be detected that
lead to failure of the software. But this task is very time consuming and expensive.
Approximately, 50% of the software system development resources get consumed in this process
(Rauf, 2015). In simple words, software testing can be defined as a process in which the software
is verified and validated so that the software is able to meet the technical and the business
requirements.
In the software industry, the test efficiency can be improved by the automation process. This test
is the testing of the software in the companies. To ensure that the coverage of the test is
satisfactory and to reduce the risks related to the projects, the companies use either manual or the
automated tools for improving their test automation level. The selection of either of them
depends on the reduction in the cycle time of the project and the time taken for the test.
It has been observed that the many automation testers have been given this job without giving
them proper guidelines about the automation test process. They do not follow any process or
strategy to do this work. After some time, they do not observe any improvement in the cycle time
or the execution time. So, an efficient method needs to be deployed, and the automakers should
be made to work using that process. Therefore, the purpose of this research is to portray that how
the test automation can be improved using the algorithms. The current research will discuss the
steps of software automation, and the algorithm for addressing the issues will be discussed that
2
Document Page
are the face in the system management automation for the services like Firewall, DHCP, and
DNS.
The research tries to meet the following objective:
1. To ascertain the improvements in the test automation when algorithms are used.
Literature review
(Anand, et.al, 2013) wrote ‘An orchestrated survey of methodologies for automated software test
case.' In the paper, the authors believe that the generation of test cases is one of the most labor-
intensive tasks in testing the software. They impact the effectiveness and the efficiency of the
software testing. In the paper, the researchers have surveyed those techniques of automatic
generation of software test cases that are most prominent in the companies. Basically, five
techniques have been surveyed including (a) structural testing using symbolic execution, (b)
model-based testing, (c) combinatorial testing, (d) random testing and its variant of adaptive
random testing, and (e) search-based testing generation. The purpose of this research is to give
an overview of the automatic test case generation. From this paper, the current research got an
idea about the various techniques of automation and got an overview of the benefits, uses and the
shortcomings of each of the method. So, this paper helped in the establishment of a base for the
current study.
(Sharma, 2014) wrote a paper on ‘A Survey on Software Testing Techniques using Genetic
Algorithm’ where the researcher have mentioned that the broad aim of the software industry is to
ensure that the high-quality software is delivered to the final user. For ensuring the high quality
of the software, the test software is required. Testing helps the companies in ensuring that the
software is able to meet the specifications of the users and his requirements too. but, there are
3
Document Page
some issues related to testing like generating the test cases in an effective manner, then
prioritizing them , etc. Time, effort and cost need to be dedicated to managing these issues.
These issues are taken care of using many different techniques and methods. One of them is the
use of evolutionary algorithms for the automatic test generation. The researchers have
specifically used the genetic algorithm for this. It has been found that generic algorithm was able
to address the various issues that were faced during testing and it has been a successful method
for improving the test automation.
(De Resist, et. Al, n.d.) has written ‘Automated Model-Based Testing' where the authors
believe that if the quality of software systems needs to be assessed and improved, then
systematic testing needs to be done. Here, the research is focused on the test tool ‘TorX’ that
integrates the automatic test generation, executing the test and analyzing it. The method has
been tested on several academic and the industrial case studies, and it has been useful. Therefore,
the researchers conclude that by automating the methods, they were able to improve their testing
methods.
(Arcuri, et. Al, 2014) studied the ‘Hitchhiker’s guide to statistical tests for assessing randomized
algorithms in software engineering.' Here, the researchers used the proper statistical tests to
analyze the algorithms. The reason behind doing this is that chance affected the randomized
algorithms. The researchers used the secondary data to conduct their research like they reviewed
the recent publications that account for the nature of these algorithms. The researchers have
analyzed the algorithms so that the software engineering tasks can be solved. They have
particularly focused on the software testing, and it has been found that the randomized
algorithms have been able to solve the problems related to the testing.
4
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
The literature review has summarized and analyzed the various research papers that have been
written in this area and their relation to the current research. These papers have been reviewed n
detail to come to the findings and conclusion of the current research.
Research methodology
The research has been done using the secondary sources of information and the experience of
various researchers and experimenters of using the various automation frameworks. The
literature review section describes the various researches that have been analyzed here, and they
are used to come to conclusions for the current study. The secondary sources have been utilized
here. This research is descriptive because it describes the characteristics of the algorithms that
are capable of improving the test automation methods.
Findings and results
From the analysis of the secondary sources of data, it can be concluded that there are two ways
of doing the testing of the software, one is manual testing, and the other is automatic. But, the
automated testing has greater benefits than the manual testing. The algorithms are a part of the
life cycle of the software project. This helps in verifying that the product or the service helps in
meeting the expectations of the quality. Using the algorithms, the defects can be located in the
programs although the type of algorithm that is used cannot guarantee that all the defects will be
identified in the software. Thus, the companies must use the various set of algorithm throughout
the life cycle of the software.
It has also been found that the randomized algorithm is widely used by the software testers and
in this, there are many components that are based on the randomness. When the algorithm is run
5
Document Page
twice on the same problem, it may give different results. One of the random algorithms that are
used the most of the random testing. In this, the random testing is combined with the symbolic
execution. The thing that affects this testing is the ‘chance.' This is one of the shortcomings of
this algorithm. It may find an optimal solution in less time, or the coverage may not give an
optimal solution.
Conclusion
From the above discussion, it can be concluded that the test automation gets improved largely
when algorithms are used in the testing.
6
Document Page
References
Anand, S., Burke, E.K., Chen, T.Y., Clark, J., Cohen, M.B., Grieskamp, W., Harman, M.,
Harrold, M.J., and McMinn, P., 2013. An orchestrated survey of methodologies for automated
software test case generation. Journal of Systems and Software, 86(8), pp.1978-2001.
Arcuri, A. and Briand, L., 2014. A hitchhiker's guide to statistical tests for assessing randomized
algorithms in software engineering. Software Testing, Verification and Reliability, 24(3), pp.219-
250.
De Resyste, C., TorX: Automated Model Based Testing.
Rauf, E.A. and Reddy, E.M., 2015. Software Test Automation: An Algorithm for Solving
System Management Automation Problems. Procedia Computer Science, 46, pp.949-956.
Sharma, C., Sabharwal, S. and Sibal, R., 2014. A survey on software testing techniques using
genetic algorithm. arXiv preprint arXiv:1411.1154.
7
chevron_up_icon
1 out of 7
circle_padding
hide_on_mobile
zoom_out_icon
[object Object]