A Research Methodology of Software Industry

Requirement

Prepare a research report on the topic "Improving test automation using algorithms".

Solution

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.

Do you need professional writers to assist you with your software engineering assignment? Get computer engineering assignment help from allassignmenthelp.com right away! Our professionals can provide the students with high-quality assignment writing.

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 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 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. 
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 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.

Place Order For A Top Grade Assignment Now

We have some amazing discount offers running for the students

Place Your Order

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.

Get Quality Assignment Without Paying Upfront

Hire World's #1 Assignment Help Company

Place Your Order