Impact Analysis of Intelligent Agents in Automatic Fault-Prone Components Prediction and Testing: Impact Analysis of Intelligent Agents in Test Automation

Impact Analysis of Intelligent Agents in Automatic Fault-Prone Components Prediction and Testing: Impact Analysis of Intelligent Agents in Test Automation

Jeya Mala Dharmalingam (Thiagarajar College of Engineering, India)
Copyright: © 2018 |Pages: 30
DOI: 10.4018/978-1-5225-5951-1.ch014

Abstract

Software quality is imperative for industrial strength software. This quality will be often determined by a few components present in the software which decides the entire functionality. If any of these components are not rigorously tested, the quality will be highly affected. Without knowing which of these components are really critical, it will not be possible to perform high level testing. Hence, to predict such fault-prone or critical components from the software prior to testing and prioritizing them during the testing process, an agent-based approach is proposed in this chapter. The framework developed as part of this work will certainly reduce the field failures and thus will improve the software quality. Further, this approach has also utilized important metrics to predict such components and also prioritized the components based on their critical value. Also, the work proposed in this research has also been compared with some of the existing approaches and the results reveal that, this work is a novel one and can both predict and test the components from the software.
Chapter Preview
Top

Introduction

As per the study of National Institute of Standards and Technology, the cost for an inadequate infrastructure for software testing is estimated to be from $22.2 to $59.5 billion (Tassey, 2002). As exhaustive testing (testing 100%) is not feasible (David C., Jinlin Yang, Sarfraz Khurshid, Wei Le and Kevin Sullivan, 2005; Myers,1979), the industries are forced to stop the testing process at one point of time and deliver the software to the customers. This leads them to compromise the quality of the software due to customers’ need for quick delivery of quality software, reduced software development lifecycle, changing markets with global competition and rapid development of new processes and technologies.

The surveys have indicated that, many of the complex systems’ failures are due to insufficient testing of software before they are deployed to the customer side (Bernardi, 2011; Schneidewind, 1978). After the analysis, it has been identified that, the highly critical components are not being properly tested or simply ignored without knowing their critical level due to time and cost compromises.

The identification of such critical components from the software prior to testing is still a research area, since the automated testing tools available in the market doesn’t address the said problem. Based on our field surveys conducted in several organizations during the past months, it has been identified that, most of the defects reported by the customers after delivery are present in these higher critical components. This gives us the insight on the importance of critical components identification and their verification prior to the delivery of the software. But, the identification of the criticality level of a component involves the evaluation of various metrics and measures associated with them.

Hence, an automated software testing framework that can identify and prioritize the critical components based on the various metrics and measures associated with each of the components and can also provide an optimized critical paths list which can reduce the time and cost needed in the testing process without compromising the testing of these critical components is the need of the hour.

From the literature survey, it has been identified that only a very few works have been conducted in the said research area, and that too have been limited by the type and number of metrics used by them. If the software under test is small and simple then the identification can be done manually. As the real time complex systems have huge functionalities, there is a need for an approach that embeds both intelligence and automation as a tool.

Since software testing is NP-hard (Non-Polynomial hard) (Nagappan, 2006), and as manual testing is costly and error prone, several existing research works on structural testing have employed computationally intelligent techniques, such as artificial intelligence and evolutionary computation methods, to achieve optimization in the testing process (Alok Singh, 2009; Basturk & Karaboga, 2006; Baykasolu A, Lale Özbakır & Pınar Tapkan, 2009; Dorigo M., Maniezzo, V., Colorni, A., 1996, Teodorović & Dell, 2006; Fathian M, Babak Amiri & Ali Maroosi., 2007; Karaboga, 2008, 2009; Pham D.T., Ghanbarzadeh A., Koc E., Otri S., Rahim S., & Zaidi M., 2006; R. Srinivasa Rao, S.V.L. Narasimham, M. Ramalingaraju., 2008; Wong Li-Pei, Chi Yung Puan, Malcolm Yoke Hean Low, Chin Soon Chong., 2008).

Complete Chapter List

Search this Book:
Reset