Issues, Challenges and Best Practices of Software Testing Activity
Total Page:16
File Type:pdf, Size:1020Kb
Issues, Challenges and Best Practices of Software Testing Activity ZULKEFLI MANSOR Research Center for Software Technology and Management Faculty of Information Science and Technology Universiti Kebangsaan Malaysia 43000 Bangi, Selangor Darul Ehsan MALAYSIA [email protected] http://www.ftsm.ukm.my/kefflee ENEBELI E.NDUDI Faculty of Computer Science and Information Technology Universiti Selangor Jln Timur Tambahan, 45700 Bestari Jaya, Selangor Darul Ehsan MALAYSIA [email protected] Abstract: - Software testing activity is a huge challenge in software development project today due to end user needs. The end users need the project to be completed in short time with zero defect and high quality of product. Therefore, the testing activity should be started as earlier as possible because it will helps in fixing enormous errors in early stages of software development and reduces the rework of tracking bugs in the later stages. In addition, a clear understanding on the objective of testing and the planning on how, where, and what the system should be tested for is also challenges to the testing team. These issue makes software testing time consuming process coupled with various challenges erupting from inability of software testers to perform their task effectively. Hence, this paper investigated the issues, challenges and best practices of software testing activity. The document analysis was carried out in order to analyze the information. The findings reveals that 9 main issues and challenges in software testing activities. 9 best practices also discover from the survey. The findings will help software community especially testing team to aware the issues and challenges could be faced and how to perform testing activities in best way. Key-Words: - Quality, Effort, Failure, Product, Bugs, Defect, Error 1 Introduction constitutes a crucial part of software development Software products are fast growing and succeeding process. Inefficient or lack of testing has caused in easing end-user needs to complete various task much software project failure in the past, also have using computers in the recent years. The end-user led to some social problems and financial losses due often wants to get software products to be to its inability to meet stakeholder’s expectations. implemented as soon as possible. They need a Regardless of efforts made by software engineers to developed software product with new features to be contain the challenges of software testing, software created within short period of time. However users product have never been disassociated with bugs or do not want to deal with defected software product. defects. Prior research pointed the incompetence of In order to maximize profits and keep happy a software tester to be the root of challenges facing customers, software development industries utilize software quality assurance. However, challenges of various developments disciplined to create a product software testing did not just attached to incompetent that meets end-user requirements. Failure to meet tester but other factors such as poor documentation, user requirement has cost several software product poor planning, software domain and others. In order to exist even add extra problem to industries. to solve testing challenges, it is important to Studies have shown that software failure is traceable perform testing over and over and quest for to ineffective testing of the system under undercover future defect. This paper tends to development. Researchers have recommended address the issues and challenges facing software regular testing by competent individual to counter testing by reviewing prior challenges that were ineffective testing challenges. Software testing articulated by various researches. Solutions to the challenges as suggested by prior studies are to be 3.1 Inability of Testing to Detect Uncovers discussed and presented for awareness such as bug Defects detection and finally testing best practices. Some testing activity unable to detect uncover Although testing is cable detecting present bug defect due to few constraints such as lack of in software product but cannot predict or uncover experiences of testing team, no automated tool, lack future errors. This make testing time consuming of knowledge and others. Ahamed [4] mentioned practice as testers scrutinize the entire system often that unidentified bugs could causes future software to contain these challenges. Testing of software is a failure. The problem of performing a software widespread validation method within industry, but it testing is for defect detection which software can is still largely ad hoc, expensive, and uncertain only suggest the presence of flaws, not their effective. Therefore a solution to these challenges is absence. The essence of software testing is to to test a system completely. Nevertheless, software explore the whole system in search of bugs or for tester always faced with lack of time and resources, defect detection, and reliability estimation. which is capable of limiting their ability to Furthermore, [5] also supported the statement that effectively complete software testing efforts, thus testing can be used to show the presence of errors, ruling out exhaustive testing [1]. This study but never to show their absence. Therefore, inability investigates the challenges facing testing through an of software testing to track future error (defect) existing researches relating the said challenges. As become a big challenge of software system testing. fewer attentions were given to issues facing testing and countermeasures to it might constraint this 3.2 Less Competent Testing Personnel study from gathering more information that really Testing process of software requires some sets of captures the problems in software testing. However, skills from the tester to perform testing effectively. prior research review will virtually provide the When software tester or testing team is less necessary information and close as possible. As this competent, the finished product is likely to fail in study focuses on the challenges rocking testing, term of meeting customer’s requirement or technical countermeasures will be investigated through a errors that can constraints organization profit secondary research approach. The research approach maximization even running at loss. Ahamed [4] also of this study adopts a conceptual method where believed that the issues of applying software testing information are to be retrieved from a credible and to reliability estimation is that the input distribution reliable sources. used for selecting test cases may be flawed, that the key to software testing is trying to find the modes of 2 Methodology software failure. Furthermore, the organization also The document analysis method was employed in difficult to find the suitable or competent testing order to analyses the issues and challenges of team to be hired. Therefore, competent testing team software testing activity. The selected journals and to perform testing activity is really crucial in articles related to the issues were analyses which software development. from 2006 onwards. 3.3 Lack of Testing Model 3 Current Challenges Another issues is lack of testing model or Testing of software today is a huge challenging framework that can guide new software tester to activity in software system projects. Katherine & refer as a guideline. Ramos, Esteban & Guzman [6] Alagarsamy [2] and [3] defined testing as “one of suggested that it is very important for software the five main technical activity areas of the software testing team members to develop other essential engineering lifecycle that still poses substantial competences to perform testing activities efficiently challenges. It’s generally believed that unidentified in a global context in order solve current issues bug at the time of software testing is one of the facing software testing. Unfortunately, there is no biggest challenges soft-ware testing is facing well-defined competence model [7] that allows currently. This is because a software system that organizations to assess step or procedures to passes it present test without defect does not perform testing activity in a software project. A guarantee future error free of the software. testing model should consists details the process involved that required to be effective testing The following sub sections will discuss few current activity. challenges faced by testing team. 43 3.4 Time Consumption 3.7 Maintenance of Testing as a Service Time consumption always become a barrier to the (Taas) software development communities. In testing Cloud computing idea which successfully saves activity, the time allocation is very limited which the cost computer hardware and other values it normally more 60% of the time is allocated for added to information technology was view to cause development phases while time for testing activity is some negative impact on software testing and less than 40%. Trivedi [8] had quoted that modern maintenance. Testing as a Service (TaaS) is known software systems must be extremely reliable and is as the major impact in cloud computing. TaaS correct. Automatic methods for ensuring software cloud infrastructures is referred as a new business correctness range from static techniques, such as and service approach that a provider undertakes (software) model checking or static analysis, to software testing practices of application system dynamic techniques, such as testing. He also within a given cloud infrastructure for end-user