^{1}

^{*}

^{1}

^{2}

The quality factor of class diagram is critical because it has significant influence on overall quality of the product, delivered finally. Testability has been recognized as a key factor to software quality. Estimating testability at design stage is a criterion of crucial significance for software designers to make the design more testable. Taking view of this fact, this paper identifies testability factors namely effectiveness and reusability and establishes the correlation among testability, effectiveness and reusability and justifies the correlation with the help of statistical measures. Moreover study developed metric based testability estimation model and developed model has been validated using experimental test. Subsequently, research integrates the empirical validation of the developed model for high level acceptance. Finally a hypothesis test performs by the two standards to test the significance of correlation.

Building quality software is an important issue considering that software industries are now used in all kind of environments, including some where human life depends on the computer’s correct functioning to get better performance and to get competitive advantage [

It is an inevitable fact that software testability information is a helpful strategy complementary to testing. Higher test coverage may be completed by making a design more testable for the same quantity of effort, which as a result increases the confidence to the system. It is evident from literature review that there is no known complete and comprehensive model or framework available for estimating the testability of object oriented software taking design phase into consideration [

Software testability study has been an essential research direction since 1990s and becomes more pervasive when entering 21st century [

A design is a process that starts from a study of a domain problem leading to some formal documentation. Software design, in some ways, is an eccentric art [

Plenty of work has been carried out in describing the need and importance of incorporating software testability since early 90s. A number of methods of measuring testability have been proposed. Unfortunately, significant achievements made by the researchers in the area have not been widely accepted and are not adopted in practice by industry. It has been found that there is a conflict in considering the factors while estimating software testability in general and at design level exclusively. It has been inferred from the literature survey on testability analysis that there is a heavy need of identifying a commonly accepted set of the factors affecting software testability [

Dromey’s quality model [

1. Identification of Testability Factors that influences testability of software.

2. Identification of Object Oriented Design Metrics.

3. A means of linking them.

The relative significance of individual identified testability factors that have major impact on testability estimation at design phase is weighted proportionally. The values of these design metrics can be identified by class diagram metrics. In order to set up a metric based model for Testability estimation, a multiple regression technique has been used to get the coefficients of regression variables and regression intercept, shown in

Model | Unstandardized Coefficients | Standardized Coefficients | t | Sig. | ||
---|---|---|---|---|---|---|

B | Std. Error | Beta | ||||

1 | (Constant) | 59.524 | 48.835 | 1.219 | 0.347 | |

Effectiveness | −4.671 | 3.739 | −0.563 | −1.249 | 0.338 | |

Reuseability | 0.806 | 0.351 | 1.034 | 2.294 | 0.149 |

a. Dependent Variable: Testability.

quality product. Multivariate regression equation is given in Equation (1) which is as follows

where

Y is dependent variable

X_{1}, X_{2}, X_{3}, _{n} are independent (regressor) variables.

a_{1}, a_{2}, a_{3} _{n} are the regression coefficient of the respective independent variable.

a_{0} is the regression intercept

It has been broadly reviewed and discussed in Section 4; Effectiveness and Reusability are the major factors affecting software testability estimation at design phase. Therefore, these identified major testability factors were addressed well in advance while incorporating testability at design stage. By applying the regression method, study already developed Effectiveness Model [

It was observed that every Object Oriented Design metrics affect quality factor. Design metrics namely Inheritance (MFA: Measure of Functional Abstraction), Encapsulation (DAM: Data Access Metrics), Cohesion (CAM: Cohesion Among Methods) and Coupling (DCC: Direct Class Coupling) are used to address the key testability factors namely Effectiveness and Reusability. These two identified factors are further used to measure testability index of object oriented software at design stage in development life cycle.

For developing software testability model, the data has been taken from [

In

Model | R | R Square | Adjusted R Square | Std. Error of the Estimate |
---|---|---|---|---|

1 | 0.851^{a} | 0.725 | 0.450 | 10.80129 |

a. Predictors: (Constant), Reusability, Effectiveness.

The applications for case studies in validation process for the developed testability model (Equation (5)) have been taken from [

The descriptive statistics of the output

Empirical validation of work proves that how significant developed model, where metrics and model are able to quantify the testability index of object oriented design in design stage. This validation is an essential phase of research to estimate the developed model for appropriate execution and high level acceptability. It is also the fine approach and practice for claiming the model acceptance. To justify claiming for acceptance of developed model, an experimental validation of the developed testability model at design phase has been carried out using tryout data [

・ r_{s} > 0.4815 means significant results.

・ Testability Estimation model had statistically significant rank correlations with 23 of 23 projects.

Charles Speraman’s a Coefficient of Correlation r_{s} was applied to test the significance of correlation between Calculated Values of Testability model and its “Known Values”. The “r_{s}” was calculated using the formula given by Speraman’s Coefficient of Correlation

where

r_{s} is coefficient of Rank Correlation

d is the difference between calculated index values and known values of reusability.

n is the number of software projects for experiment. (In this research n = 23 software projects).

∑ is notification symbol, significance “The Sum”

The correlation index values between testability obtained by developed model and expert ranking are shown in _{s} [± 0.4815] are checked in correlation values

Case Study Group | Projects |
---|---|

Case Study A | 4 |

Case Study B | 5 |

Case Study C | 4 |

Case Study D | 4 |

Minimum | Maximum | Mean | |
---|---|---|---|

Testability | 50.72 | 61.39 | 56.0475 |

Effectiveness | 2.06 | 4.40 | 3.1034 |

Reusability | 1.75 | 27.80 | 16.9501 |

Testability | Effectiveness | Reusability | |
---|---|---|---|

Testability | 1 | 0.988 | 0.872 |

Effectiveness | 0.988 | 1 | 0.902 |

Reusability | 0.872 | 0.902 | 1 |

Minimum | Maximum | Mean | |
---|---|---|---|

Testability | 22.66 | 26.10 | 24.7120 |

Effectiveness | 5.20 | 19.20 | 10.9616 |

Reusability | −13.82 | 41.60 | 10.5418 |

Testability | Effectiveness | Reusability | |
---|---|---|---|

Testability | 1 | 0.835 | 0.770 |

Effectiveness | 0.835 | 1 | 0.994 |

Reusability | 0.770 | 0.994 | 1 |

Minimum | Maximum | Mean | |
---|---|---|---|

Testability | 50.72 | 61.39 | 56.0475 |

Effectiveness | 2.06 | 4.40 | 3.1034 |

Reusability | 12.00 | 27.80 | 19.5117 |

Testability | Effectiveness | Reusability | |
---|---|---|---|

Testability | 1 | 0.988 | 0.971 |

Effectiveness | 0.988 | 1 | 0.993 |

Reusability | 0.971 | 0.993 | 1 |

Minimum | Maximum | Mean | |
---|---|---|---|

Testability | 50.72 | 61.39 | 56.0475 |

Effectiveness | 2.06 | 4.40 | 3.1034 |

Reusability | 1.75 | 27.80 | 16.9501 |

Testability | Effectiveness | Reusability | |
---|---|---|---|

Testability | 1 | 0.782 | 0.994 |

Effectiveness | 0.782 | 1 | 0.820 |

Reusability | 0.994 | 0.820 | 1 |

Testability × Effectiveness | Testability × Reusability | |
---|---|---|

Case Study A | 0.988 | 0.872 |

Case Study B | 0.835 | 0.770 |

Case Study C | 0.988 | 0.971 |

Case Study D | 0.782 | 0.994 |

Projects | Testability Value | Testability Ranking | Σd^{2} | r_{s} | r_{s} > 0.4815 | ||
---|---|---|---|---|---|---|---|

Calculated Value | Known Value | Estimated Ranking | Known Ranking | ||||

P1 | 51.31 | 5.8787 | 19 | 19 | 0 | 1.00 | √ |

P2 | 50.72 | 7.7159 | 18 | 20 | 4 | 1.00 | √ |

P3 | 60.77 | 9.1878 | 22 | 22 | 0 | 1.00 | √ |

P4 | 61.39 | 9.5653 | 23 | 23 | 0 | 1.00 | √ |

P5 | 59.61 | 9.1742 | 21 | 21 | 0 | 1.00 | √ |

P6 | 20.25 | 2.2678 | 8 | 15 | 49 | 0.98 | √ |

P7 | 23.57 | 2.615 | 12 | 16 | 16 | 0.99 | √ |

P8 | 37.54 | 5.0134 | 17 | 17 | 0 | 1.00 | √ |

P9 | 56.61 | 5.0223 | 20 | 18 | 4 | 1.00 | √ |

P10 | 33.65 | 1.599 | 16 | 10 | 36 | 0.98 | √ |

P11 | 16.74 | 1.176 | 4 | 3 | 1 | 1.00 | √ |

P12 | 5.45 | 0.832 | 1 | 2 | 1 | 1.00 | √ |

P13 | 7.13 | 1.49 | 2 | 6 | 16 | 0.99 | √ |

P14 | 17.83 | 1.294 | 6 | 5 | 1 | 1.00 | √ |

P15 | 19.31 | 1.772 | 7 | 11 | 16 | 0.99 | √ |

P16 | 23.28 | 1.532 | 11 | 7 | 16 | 0.99 | √ |

P 17 | 23.22 | 2.242 | 10 | 14 | 16 | 0.99 | √ |

P18 | 17.17 | 2.242 | 5 | 13 | 64 | 0.97 | √ |

P 19 | 16.38 | 1.577 | 3 | 9 | 36 | 0.98 | √ |

P 20 | 26.02 | 1.547 | 15 | 8 | 49 | 0.98 | √ |

P 21 | 24.08 | 1.243 | 13 | 4 | 81 | 0.96 | √ |

P 22 | 22.66 | 2.041 | 9 | 12 | 9 | 1.00 | √ |

P 23 | 24.74 | 0.5995 | 14 | 1 | 169 | 0.92 | √ |

can conclude without any loss of generality that Testability Estimation Model, measures are highly reliable and significant at design phase.

A practical coefficient of correlation of Effectiveness and Reusability with Testability strongly indicates the higher significance and importance of taking into consideration both the identified key factors (Effectiveness and Reusability) for making an evaluation of software testability at design phase. Moreover to justify the result, a test to compute the statistical importance of the correlation coefficient obtained possibly will be appropriate. A null hypothesis testing is applied to test the significance of Correlation Coefficient (r) using the given Equation (7):

With n − 2 degree of freedom, a coefficient of correlation is evaluated as statistically important when the t value equals or exceeds the t critical value in the t distribution critical values.

H_{0} (T^E): Testability and Effectiveness are not highly correlated.

H_{0} (T^R): Testability and Reusability are not highly correlated.

Using 2-tailed test at the 0.05 for a 95% confidence interval with different degrees of freedom, it is clear from

This Study developed ‘Metric Based Testability Estimation Model for Object Oriented Design: Quality Perspective’. The Model has been validated using the same set of try-out data. An empirical validation of the developed model is also performed using try-out data. Some of the major findings are as given below:

・ Software testability has been recognized as a key factor to quality software, addressed in design phase of object oriented software development to produce quality software.

Case Study A | Case Study B | Case Study C | Case Study D | |
---|---|---|---|---|

Testability × Effectiveness | 0.988 | 0.846 | 0.988 | 0.782 |

tr | 9.046345 | 2.628374 | 9.046345 | 1.774351 |

tr-Critical Value | 2.776 | 2.5706 | 2.776 | 2.776 |

tr > tr-Critical Value | √ | √ | √ | × |

H_{0}(T^E) | Reject | Reject | Reject | Accept |

Case Study A | Case Study B | Case Study C | Case Study D | |
---|---|---|---|---|

Testability × Reuseability | 0.872 | 0.770 | 0.951 | 0.994 |

tr | 2.519263 | 2.90 | 5.743702 | 12.85178 |

tr-Critical Value | 2.776 | 2.5706 | 2.776 | 2.776 |

tr > tr-Critical Value | × | √ | √ | √ |

H_{0}(T^R) | Accept | Reject | Reject | Reject |

・ Low level measures of each of the testability factors may be obtained.

・ Software design constructs are most appropriate and power full for controlling software quality factors in design phase.

・ There is a feasibility of establishing correlation between testability and other quality factors in the order to address them in design phase.

・ Effectiveness and Reusability are identified as two major factors affecting software testability in designing phase.

・ Testability indexing (TI) is possible using the model “Metric Based Testability Estimation Model for Object Oriented Design: Quality Perspective” for Industry project ranking.

・ The models may be generalized and used by other researcher for making testability leveling of projects undertaken.

Software testability key factors namely effectiveness and reusability are identified and their significance on testability Estimation at design phase has been tested and justified. Testability Estimation model for object oriented design has been developed and the statistical inferences are validated for high level model acceptability. The developed model to evaluate testability of object oriented software is extremely consistent and correlated with object oriented design artifacts. Testability Estimation model has been validated theoretically as well as empirically using experimental test. That validation study on this research work proves that developed testability estimation model is highly acceptable, more practical in nature and helps the software industry in project ranking.

First and foremost, I would like to express my sincere gratitude to my supervisor Prof. Dr. YDS Arya & Co- supervisor Associate Prof. Dr. M H Khan for the continuous support of my PhD study and research, motivation, enthusiasm. Their guidance helped me in all the time of research. Last but not the least; I would like to thank my parent for their patience, understanding and support that drive me to complete my study.