Search results
1 – 10 of over 84000Zhonglin He, Geoff Staples, Margaret Ross, Ian Court and Keith Hazzard
Suggests that, in order to detect and correct software defects as early as possible, identifying and generating more defect‐sensitive test cases for software unit and subsystem…
Abstract
Suggests that, in order to detect and correct software defects as early as possible, identifying and generating more defect‐sensitive test cases for software unit and subsystem testing is one solution. Proposes an orthogonal software testing approach based on the quality optimization techniques, Taguchi methods. This orthogonal approach treats the input parameters of a software unit or subsystem as design factors in an orthogonal arrays, and stratifies input parameter domains into equivalent classes to form levels of factors. Describes how test cases are generated statistically for each trial of factorial orthogonal experiments. The adequacy of the generated test cases can be validated by examining testing coverage metrics. The results of test case executions can be analysed in order to find the sensibility of test cases for detecting defects, to generate more effective test cases in further testing, and to help locate and correct defects in the early stage of testing.
Details
Keywords
Vibha Verma, Sameer Anand and Anu Gupta Aggarwal
The software development team reviews the testing phase to assess if the reliability growth of software is as per plan and requirement and gives suggestions for improvement. The…
Abstract
Purpose
The software development team reviews the testing phase to assess if the reliability growth of software is as per plan and requirement and gives suggestions for improvement. The objective of this study is to determine the optimal review time such that there is enough time to make judgments about changes required before the scheduled release.
Design/methodology/approach
Testing utilizes majority of time and resources, assures reliability and plays a critical role in release and warranty decision-making reviews necessary. A very early review during testing may not give useful information for analyzing or improving project performance, and a very late review may delay product delivery and lead to opportunity loss for developers. Therefore, it is assumed that the optimal time for review is in the later stage of testing when the fault removal rate starts to decline. The expression for this time point is determined using the S-curve 2-D software reliability growth model (SRGM).
Findings
The methodology has been illustrated using the real-life fault datasets of Tandem computers and radar systems resulting in optimal review time of 14 weeks and 26 months, respectively, which is neither very early in testing nor very near to the scheduled release. The developer can make changes (more resources or postpone release) to expedite the process.
Originality/value
Most of the literature studies focus on determination of optimal testing or release time to achieve considerable reliability within the budget, but in this study, the authors determine the optimal review time during testing using SRGM to ensure the considerable reliability at release.
Details
Keywords
The use of software is overpowering our modern society. Advancement in technology is directly proportional to an increase in user demand which further leads to an increase in the…
Abstract
Purpose
The use of software is overpowering our modern society. Advancement in technology is directly proportional to an increase in user demand which further leads to an increase in the burden on software firms to develop high-quality and reliable software. To meet the demands, software firms need to upgrade existing versions. The upgrade process of software may lead to additional faults in successive versions of the software. The faults that remain undetected in the previous version are passed on to the new release. As this process is complicated and time-consuming, it is important for firms to allocate resources optimally during the testing phase of software development life cycle (SDLC). Resource allocation task becomes more challenging when the testing is carried out in a dynamic nature.
Design/methodology/approach
The model presented in this paper explains the methodology to estimate the testing efforts in a dynamic environment with the assumption that debugging cost corresponding to each release follows learning curve phenomenon. We have used optimal control theoretic approach to find the optimal policies and genetic algorithm to estimate the testing effort. Further, numerical illustration has been given to validate the applicability of the proposed model using a real-life software failure data set.
Findings
The paper yields several substantive insights for software managers. The study shows that estimated testing efforts as well as the faults detected for both the releases are closer to the real data set.
Originality /value
We have proposed a dynamic resource allocation model for multirelease of software with the objective to minimize the total testing cost using the flexible software reliability growth model (SRGM).
Details
Keywords
Avinash Kumar Shrivastava and Nitin Sachdeva
Almost everything around us is the output of software-driven machines or working with software. Software firms are working hard to meet the user’s requirements. But developing a…
Abstract
Purpose
Almost everything around us is the output of software-driven machines or working with software. Software firms are working hard to meet the user’s requirements. But developing a fault-free software is not possible. Also due to market competition, firms do not want to delay their software release. But early release software comes with the problem of user reporting more failures during operations due to more number of faults lying in it. To overcome the above situation, software firms these days are releasing software with an adequate amount of testing instead of delaying the release to develop reliable software and releasing software patches post release to make the software more reliable. The paper aims to discuss these issues.
Design/methodology/approach
The authors have developed a generalized framework by assuming that testing continues beyond software release to determine the time to release and stop testing of software. As the testing team is always not skilled, hence, the rate of detection correction of faults during testing may change over time. Also, they may commit an error during software development, hence increasing the number of faults. Therefore, the authors have to consider these two factors as well in our proposed model. Further, the authors have done sensitivity analysis based on the cost-modeling parameters to check and analyze their impact on the software testing and release policy.
Findings
From the proposed model, the authors found that it is better to release early and continue testing in the post-release phase. By using this model, firms can get the benefits of early release, and at the same time, users get the benefit of post-release software reliability assurance.
Originality/value
The authors are proposing a generalized model for software scheduling.
Details
Keywords
Deepti Mishra, Sofiya Ostrovska and Tuna Hacaloglu
Testing is one of the indispensable activities in software development and is being adopted as an independent course by software engineering (SE) departments at universities…
Abstract
Purpose
Testing is one of the indispensable activities in software development and is being adopted as an independent course by software engineering (SE) departments at universities worldwide. The purpose of this paper is to carry out an investigation of the performance of learners about testing, given the tendencies in the industry and motivation caused by the unavailability of similar studies in software testing field.
Design/methodology/approach
This study is based on the data collected over three years (between 2012 and 2014) from students taking the software testing course. The course is included in the second year of undergraduate curriculum for the bachelor of engineering (SE).
Findings
It has been observed that, from the performance perspective, automated testing outperforms structural and functional testing techniques, and that a strong correlation exists among these three approaches. Moreover, a strong programming background does help toward further success in structural and automated testing, but has no effect on functional testing. The results of different teaching styles within the course are also presented together with an analysis exploring the relationship between students’ gender and success in the software testing course, revealing that there is no difference in terms of performance between male and female students in the course. Moreover, it is advisable to introduce teaching concepts one at a time because students find it difficult to grasp the ideas otherwise.
Research limitations/implications
These findings are based on the analysis conducted using three years of data collected while teaching a course in testing. Obviously, there are some limitations to this study. For example, student’s strength in programming is calculated using the score of C programming courses taken in previous year/semester. Such scores may not reflect their current level of programming knowledge. Furthermore, attempt was made to ensure that the exercises given for different testing techniques have similar difficulty level to guarantee that the difference in success between these testing techniques is due to the inherent complexity of the technique itself and not because of different exercises. Still, there is small probability that a certain degree of change in success may be due to the difference in the difficulty levels of the exercises. As such, it is obviously premature to consider the present results as final since there is a lack of similar type of studies, with which the authors can compare the results. Therefore, more work needs to be done in different settings to draw sound conclusions in this respect.
Originality/value
Although there are few studies (see e.g. Chan et al., 2005; Garousi and Zhi, 2013; Ng et al., 2004) exploring the preference of testers over distinct software testing techniques in the industry, there appears to be no paper comparing the preferences and performances of learners in terms of different testing techniques.
Details
Keywords
Saurabh Panwar, Vivek Kumar, P.K. Kapur and Ompal Singh
Software testing is needed to produce extremely reliable software products. A crucial decision problem that the software developer encounters is to ascertain when to terminate the…
Abstract
Purpose
Software testing is needed to produce extremely reliable software products. A crucial decision problem that the software developer encounters is to ascertain when to terminate the testing process and when to release the software system in the market. With the growing need to deliver quality software, the critical assessment of reliability, cost of testing and release time strategy is requisite for project managers. This study seeks to examine the reliability of the software system by proposing a generalized testing coverage-based software reliability growth model (SRGM) that incorporates the effect of testing efforts and change point. Moreover, the strategic software time-to-market policy based on costreliability criteria is suggested.
Design/methodology/approach
The fault detection process is modeled as a composite function of testing coverage, testing efforts and the continuation time of the testing process. Also, to assimilate factual scenarios, the current research exhibits the influence of software users refer as reporters in the fault detection process. Thus, this study models the reliability growth phenomenon by integrating the number of reporters and the number of instructions executed in the field environment. Besides, it is presumed that the managers release the software early to capture maximum market share and continue the testing process for an added period in the user environment. The multiattribute utility theory (MAUT) is applied to solve the optimization model with release time and testing termination time as two decision variables.
Findings
The practical applicability and performance of the proposed methodology are demonstrated through real-life software failure data. The findings of the empirical analysis have shown the superiority of the present study as compared to conventional approaches.
Originality/value
This study is the first attempt to assimilate testing coverage phenomenon in joint optimization of software time to market and testing duration.
Details
Keywords
Vibha Verma, Sameer Anand and Anu Gupta Aggarwal
The purpose of this paper is to identify and quantify the key components of the overall cost of software development when warranty coverage is given by a developer. Also, the…
Abstract
Purpose
The purpose of this paper is to identify and quantify the key components of the overall cost of software development when warranty coverage is given by a developer. Also, the authors have studied the impact of imperfect debugging on the optimal release time, warranty policy and development cost which signifies that it is important for the developers to control the parameters that cause a sharp increase in cost.
Design/methodology/approach
An optimization problem is formulated to minimize software development cost by considering imperfect fault removal process, faults generation at a constant rate and an environmental factor to differentiate the operational phase from the testing phase. Another optimization problem under perfect debugging conditions, i.e. without error generation is constructed for comparison. These optimization models are solved in MATLAB, and their solutions provide insights to the degree of impact of imperfect debugging on the optimal policies with respect to software release time and warranty time.
Findings
A real-life fault data set of Radar System is used to study the impact of various cost factors via sensitivity analysis on release and warranty policy. If firms tend to provide warranty for a longer period of time, then they may have to bear losses due to increased debugging cost with more number of failures occurring during the warrantied time but if the warranty is not provided for sufficient time it may not act as sufficient hedge during field failures.
Originality/value
Every firm is fighting to remain in the competition and expand market share by offering the latest technology-based products, using innovative marketing strategies. Warranty is one such strategic tool to promote the product among masses and develop a sense of quality in the user’s mind. In this paper, the failures encountered during development and after software release are considered to model the failure process.
Details
Keywords
Organisations make use of different tools and methods in testing software to ensure quality and appropriateness for business needs. Despite the efforts, many organisations…
Abstract
Purpose
Organisations make use of different tools and methods in testing software to ensure quality and appropriateness for business needs. Despite the efforts, many organisations continue to have challenges with the quality of their software. This has impacted the service that the organisation provides to their customers and business partners. Software quality challenges persist because of two main reasons: some organisations do not conduct testing and evaluation of their software, and many organisations pay less attention to the non-technical activities in the testing and evaluation of software in their organisations. Thus, the purpose of this paper is to understand the factors that influence software testing through empirical study.
Design/methodology/approach
This study used actor–network theory (ANT) to assess the factors that influence the testing and evaluation of software, using a South African organisation as case in the study. Qualitative data was collected from 14 participants using semi-structured interview techniques. The interpretivist approach was applied in the analysis of the data.
Findings
From the analysis, six factors, software evaluation, process oriented, implementation policy, change management, power relationship and organisational structure, were found to be of influence on software testing. Based on the factors, a framework was developed to help software testers and managers understand how to customise their testing tools.
Originality/value
The originality of this study comes from its empirical nature, through which it contributes to practice by proposing a model for practical actions towards improving software testing in organisations. Also, this study contributes to ANT usefulness from the point of investigative effectiveness.
Details
Keywords
Nesar Ahmad, M.U. Bokhari, S.M.K. Quadri and M.G.M. Khan
The purpose of this research is to incorporate the exponentiated Weibull testing‐effort functions into software reliability modeling and to estimate the optimal software release…
Abstract
Purpose
The purpose of this research is to incorporate the exponentiated Weibull testing‐effort functions into software reliability modeling and to estimate the optimal software release time.
Design/methodology/approach
This paper suggests a software reliability growth model based on the non‐homogeneous Poisson process (NHPP) which incorporates the exponentiated Weibull (EW) testing‐efforts.
Findings
Experimental results on actual data from three software projects are compared with other existing models which reveal that the proposed software reliability growth model with EW testing‐effort is wider and effective SRGM.
Research limitations/implications
This paper presents a SRGM using a constant error detection rate per unit testing‐effort.
Practical implications
Software reliability growth model is one of the fundamental techniques to assess software reliability quantitatively. The results obtained in this paper will be useful during the software testing process.
Originality/value
The present scheme has a flexible structure and may cover many of the earlier results on software reliability growth modeling. In general, this paper also provides a framework in which many software reliability growth models can be described.
Details
Keywords
N. Ahmad, M.G.M. Khan, S.M.K. Quadri and M. Kumar
The purpose of this research paper is to discuss a software reliability growth model (SRGM) based on the non‐homogeneous Poisson process which incorporates the Burr type X testing…
Abstract
Purpose
The purpose of this research paper is to discuss a software reliability growth model (SRGM) based on the non‐homogeneous Poisson process which incorporates the Burr type X testing‐effort function (TEF), and to determine the optimal release‐time based on cost‐reliability criteria.
Design/methodology/approach
It is shown that the Burr type X TEF can be expressed as a software development/testing‐effort consumption curve. Weighted least squares estimation method is proposed to estimate the TEF parameters. The SRGM parameters are estimated by the maximum likelihood estimation method. The standard errors and confidence intervals of SRGM parameters are also obtained. Furthermore, the optimal release‐time determination based on cost‐reliability criteria has been discussed within the framework.
Findings
The performance of the proposed SRGM is demonstrated by using actual data sets from three software projects. Results are compared with other traditional SRGMs to show that the proposed model has a fairly better prediction capability and that the Burr type X TEF is suitable for incorporating into software reliability modelling. Results also reveal that the SRGM with Burr type X TEF can estimate the number of initial faults better than that of other traditional SRGMs.
Research limitations/implications
The paper presents the estimation method with equal weight. Future research may include extending the present study to unequal weight.
Practical implications
The new SRGM may be useful in detecting more faults that are difficult to find during regular testing, and in assisting software engineers to improve their software development process.
Originality/value
The incorporated TEF is flexible and can be used to describe the actual expenditure patterns more faithfully during software development.
Details