International Journal of Scientific & Engineering Research, Volume 6, Issue 5, May-2015 1285
ISSN 2229-5518
An Empirical Study on Testability
Measurement of Object Oriented Software
M.A. Khanum1, Arun Mani Tripathi2
Associate Professor, Department of Computer Application , Integral University, Lucknow,India 1
M.tech student, C.S.E., Integral University, Lucknow, 2
I. INTRODUCTION
Software systems are fastest emerging trend in the real world and the probable possibilities concerning the functions and features provided by a precise application is generating remarkable interest amongst a huge number of users around the world [1-3]. As the importance grows, so does the request for software application. In view of the fact that development of large software system involves a number of activities which are need to be properly coordinated to fulfill expected requirements [4][5]. Therefore in current scenario the importance for developing good quality software is not longer an advantage but an essential factor. Software testing is one the most fundamental method to correct the system faults and also help in improving the software quality directly [6].
Assessment of software product quality throughout the development life cycle is very important to manage and improve the software quality [7-10]. Assessment of software quality after the completion of development work is no longer an advantage but it is more important to monitor and manage the quality of software when it is under development [11][12]. Thus, there is a need for identifying the design properties, which may be used in early stage of development to give good indication of software quality [13]. In order to provide the significant assessment of software product quality, it is important to identify a set of high-level desirable quality attributes, and to find a way to relate the design properties to quality attributes, significantly. In this regard an effort has been made in this paper.
II. SOFTWARE TESTABILITY
The common definition of testability is ease of performing testing. Object oriented design testability is an
external quality attribute that estimates the complexity and the required effort for software testing. Software testability is a main aspect to permit the detection of difficulties to uncover defects in software. The IEEE Standard Glossary defines testability as the degree to which a system or component facilitates the establishment of test criteria and performance of tests to determine whether those criteria have been met [14][16].Software testability is a non- functional requirements and important to the testing team member, who are involved in user acceptance testing. Non functional requirements are generally a quality requirement and may make the user more satisfied and pleased[15]. Testability is one of the significant concept in software design and testing software program and its components. Creating programs and components with greater level testability constantly simplify the test process; reduce cost, and increases software quality [17].
Software testability is a major factor to software quality. In order to estimate testability, its direct measures are to be recognized [18][19]. In this study, the commonly accepted group of factors for testability are identified. Object oriented design level factors will also be examined keeping in view their overall impact on the software testability. Most of the mechanisms available for testability estimation of object oriented software, may normally be used in later phases of system development life cycle and rely upon information extracted on the operationalization of software [20]. Such methods provide an indication of testability and hence quality, but too late to improve the product, prior to its completion. The characteristics of testable software like adequate complexity, low coupling and good separation of concerns make it easier for reviewers to understand the software artifacts under review [21][23]. Plenty of work has been carried out in describing the need and importance of
IJSER © 2015 http://www.ijser.org
International Journal of Scientific & Engineering Research, Volume 6, Issue 5, May-2015 1286
ISSN 2229-5518
incorporating software testability since early 90s. A number of methods of measuring testability have been proposed[24]. Unfortunately, the significant achievements made by the researchers in the area have not been widely accepted and are not adopted in practice by industry [22]. It has been found that there is a conflict in considering the factors while estimating software testability in general and at design level exclusively.
In this section study will be identified different design characteristics that have their impacts on software testability measurement and product quality as well. The involvement of each properties help to improve the software design will also be analyzed. The consolidated charting for the object oriented design properties considered by different researchers is shown in following table. This study shows that abstraction is least important factor in while cohesion, coupling, encapsulation and inheritance play key role in testability measurement.
TABLE I OBJECT ORIENTED DESIGN CONSTRUCTS CONTRIBUTING IN TESTABILITY MEASUREMENT A CRITICAL LOOK | |||||
Design Parameters | Cohesion | Coupling | Encapsulation | Inheritance | Abstraction |
Author/Study | Cohesion | Coupling | Encapsulation | Inheritance | Abstraction |
MC Gregor et al. (1996) | √ | √ | |||
Bruce & Shi(1998) | √ | √ | |||
B.Pettichord(2002) | √ | ||||
Baidry et al.(2002) | √ | ||||
M Bruntik (2004) | √ | ||||
S.Mouchawrab (2005) | √ | √ | √ | ||
I.Ahson et al.(2007) | √ | √ | √ | √ | |
Nazir et al.(2005) | √ | √ | √ | √ | |
Lee et al.( (2012) | √ | √ | √ | √ | √ |
Khan et al. (2012) | √ | √ | √ | √ | |
Nikfard & Babak (2013) | √ | √ | √ |
Correlation establishment is an important step between testability and its major identified factors. In this step the recognized software testability factors are to be correlated with the Object Oriented design properties. A regression line will be established to quantify testability factors in
terms of design characteristics with the help of design
metrics. Here ENM shows encapsulation metrics, INM shows inheritance metrics, CPM shows cohesion metrics and COM shows coupling metrics value in following figure.
Fig. 1. Correlation Establishment
VI. MODEL DEVELOPMENT
Quantification of design diagram Effectiveness and Functionality is precondition for the testability estimation model. For that reason before developing testability model, the research paper has developed 2 models for
Effectiveness and Functionality. In order to develop all the models given below multivariate linear model is applied.
Y=µ + β1 *X1 + β2 *X2 +…….+ βn *Xn +ε (1)
IJSER © 2015 http://www.ijser.org
International Journal of Scientific & Engineering Research, Volume 6, Issue 5, May-2015 1287
ISSN 2229-5518
Flexibility is strongly related to testability and regularly plays a key role to deliver high class, best quality testable
software within time and given budget [6] [19]. It is one of the most important notions in design for testing of software programs and components [11][12].
TABLE III Coefficientsa | ||||||
Model | Unstandardized Coefficients | Standardized | t | Sig. | ||
Model | B | Std. Error | Beta | t | Sig. | |
1 | (Constant) | -2.004 | 3.836 | -.522 | .654 | |
1 | Coupling | .029 | .231 | .039 | .126 | .911 |
1 | Inheritance | 14.091 | 4.678 | 1.180 | 3.012 | .095 |
1 | Encapsulation | 3.964 | 3.174 | .492 | 1.249 | .338 |
a. Dependent Variable: Flexibility |
TABLE IIIII Model Summary | |||||||||
Model | R | R Square | Adjusted R Square | Std. Error of the Estimate | Change Statistics | ||||
Model | R | R Square | Adjusted R Square | Std. Error of the Estimate | R Square | F | df1 | df2 | Sig. F |
1 | .920a | .847 | .618 | .77456 | .847 | 43.699 | 3 | 2 | .220 |
a. Predictors: (Constant), Encapsulation, Coupling, Inheritance |
Effectiveness is strongly related to testability and regularly plays a key role to deliver high class, best quality
testable software within time and given budget [13] [15]. It is one of the most important notions in design for testing of software programs and components [11][17].
TABLE V Coefficientsa | ||||||
Model | Unstandardized | Standardized | t | Sig. | ||
Model | B | Std. Error | Beta | t | Sig. | |
1 | (Constant) | -9.440 | 9.297 | -1.015 | .417 | |
1 | Encapsulation | -4.161 | 16.480 | -.134 | -.252 | .824 |
1 | Coupling | 1.506 | .671 | 1.787 | 2.245 | .154 |
1 | Cohesion | 26.392 | 26.581 | 1.036 | .993 | .425 |
a. Dependent Variable: Effectiveness |
IJSER © 2015 http://www.ijser.org
International Journal of Scientific & Engineering Research, Volume 6, Issue 5, May-2015 1288
ISSN 2229-5518
TABLE VI Model Summary | |||||||||
Model | R | R Square | Adjusted R Square | Std. Error of the Estimate | Change Statistics | ||||
Model | R | R Square | Adjusted R Square | Std. Error of the Estimate | R Square | F Change | df1 | df2 | Sig. F |
1 | .946a | .895 | .738 | 1.22687 | .895 | 35.696 | 3 | 2 | .153 |
a. Predictors: (Constant), Cohesion, Encapsulation, Coupling |
TABLE VII ANOVAb | ||||||
Model | Sum of Squares | df | Mean Square | F | Sig. | |
1 | Regression | 25.720 | 3 | 8.573 | 35.696 | .153a |
1 | Residual | 3.010 | 2 | 1.505 | ||
1 | Total | 28.731 | 5 | |||
a. Predictors: (Constant), Cohesion, Encapsulation, Coupling | ||||||
b. Dependent Variable: Effectiveness |
The generic quality models [12] [16][19] have been considered as a basis to develop the Testability Model.Before developing the model for Testability, it is important to make sure the appropriate association among Testability, Flexibility and Effectiveness of class
diagrams. Table below, shows the relationship values among them. From the correlation values it is clear that both Flexibility and Effectiveness are strongly correlated with Testability.
TABLE VIII Correlations | |||
Testability | Flexibility | Effectiveness | |
Testability | 1.000 | .985 | .992 |
Flexibility | .985 | 1.000 | .961 |
Effectiveness | .992 | .961 | 1.000 |
TABLE IX Coefficientsa
Unstandardized Coefficients Standardized
Model | B | Std. Error | Beta | t | Sig. | |
1 | (Constant) | 4.227 | .173 | 24.366 | .002 | |
Flexibility | .260 | .071 | .419 | 3.657 | .067 | |
Effectiveness | .534 | .104 | .589 | 5.143 | .036 |
a. Dependent Variable: testability
TABLE X Model Summary | ||||
Model | R | R Square | Adjusted R Square | Std. Error of the Estimate |
1 | .999a | .998 | .996 | .09744 |
a. Predictors: (Constant), Effectiveness, Flexibility |
TABLE XI ANOVAb | ||||||
Model | Sum of Squares | df | Mean Square | F | Sig. | |
1 | Regression | 9.338 | 2 | 4.669 | 491.812 | .002a |
IJSER © 2015 http://www.ijser.org
International Journal of Scientific & Engineering Research, Volume 6, Issue 5, May-2015 1289
ISSN 2229-5518
Residual | .019 | 2 | .009 | |||
Total | 9.357 | 4 | ||||
a. Predictors: (Constant), Effectiveness, Flexibility | ||||||
b. Dependent Variable: testability |
Empirical validation is a vital phase of proposed research. Empirical validation is the standard approach to justify the model approval. Taking view of this truth, practical validation of the Testability model has been
performed using sample tryouts. In order to validate developed Testability model the data has been taken from [11].
TABLE XII : COMPUTED RANKING, ACTUAL RANKING AND THEIR RELATION
Testability Ranking
Projects
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
Computed Rank
A l R k
∑d2 rs r s> ±.781
25
• rs above±.781 means significant results. Speraman’s Coefficient of Correlation rs was used to
check the significance of correlation among calculated
values of testability using model and it’s ‘Known Values’. The ‘rs ’ was estimated using the method given as under: Speraman’s Coefficient[1] of Correlation
‘d’ = difference between ‘Calculated ranking’ and
‘Known ranking’ of testability.
‘n' = number of projects (n=10) used in the experiment. The correlation values between testability through model and known ranking are shown in table XII. Pairs of these values with correlation values rs above [±.781] are checked in table. The correlations are up to standard with high degree of confidence, i.e. up to 99%. Therefore we can conclude without any loss of generality that testability Estimation model measures are really reliable and
significant and applicable.
IX. CONCLUSION
The model developed in the paper will address testability at design stage of software development life cycle. It may also help to positioning testability benchmarking of software projects. From the correlation
values it is clear that both Flexibility and Effectiveness are strongly correlated with testability. It plays a significant role as far as the issues of delivering quality software are
concerned. Therefore, the software testability model has been validated theoretically as well as mathematically using experimental try-out. Outcome result shows that the values of software testability computed through model are highly correlated with the ‘known values’. The applied validation on the testability estimation model concludes that developed model is highly consistent, acceptable and reliable. The model is developed, may be used by software industry practitioners and quality controllers to measure testability in order to make good design decisions near the beginning in the software development life cycle.
[1] IEEE Press, “IEEE Standard Glossary of Software Engineering
Technology,”ANSI/IEEE Standard 610.12-1990, 1990.
[2] ISO, “International standard ISO/IEC 9126. Information
technology: Software product evaluation: Quality characteristics and guidelines for their use.” 1991.
[3] Abdullah, Dr, Reena Srivastava, and M. H. Khan. "Testability
Estimation of Object Oriented Design: A Revisit". International Journal of Advanced Research in Computer and Communication Engineering Vol. 2, Issue 8, pages 3086-3090, August 2013.
[4] Zhao, L.: A New Approach for Software Testability Analysis. In: Proceeding of the 28th International Conference on Software Engineering, Shanghai, pp. 985–988 (2006)
IJSER © 2015 http://www.ijser.org
International Journal of Scientific & Engineering Research, Volume 6, Issue 5, May-2015 1290
ISSN 2229-5518
[5] Huda, M., Arya, Y.D.S. and Khan, M.H. (2014) Measuring Testability of Object Oriented Design: A Systematic Review. International Journal of Scientific Engineering and Technology (IJSET), 3, 1313-1319.
[6] Abdullah, Dr, Reena Srivastava, and M. H. Khan. "Testability
Measurement Framework: Design Phase Perspective."International Journal of Advanced Research in Computer and Communication Engineering Vol. 3, Issue 11, Pages 8573-8576 November 2014.
[7] Dromey, R.G.: A Model for Software Product Quality. IEEE Transaction on Software Engineering 21(2), 146–162 (1995).
[8] Huda, M., Arya, Y.D.S. and Khan, M.H. (2015) Quantifying
Reusability of Object Oriented Design: A Testability Perspective. Journal of Software Engineering and Applications, 8, 175-183. http://dx.doi.org/10.4236/jsea.2015.84018
[9] Abdullah, Dr, Reena Srivastava, and M. H. Khan. “Modifiability: A Key Factor To Testability”, International Journal of Advanced Information Science and Technology, Vol. 26, No.26, Pages 62-71
June 2014.
[10] Gao, J., Shih, M.-C.: A Component Testability Model for
Verification and Measurement. In: Proc. of the 29th Annual
International Computer Software and Applications Conference, pp.
211–218. IEEE Comp. Society (2005)
[11] Bansiya, Jagdish, and Carl G. Davis. "A hierarchical model for
object-oriented design quality assessment." Software Engineering, IEEE Transactions on 28.1 (2002): 4-17.
[12] Abdullah, Dr, M. H. Khan, and Reena Srivastava. “Testability Measurement Model for Object Oriented Design (TMMOOD).” International Journal of Computer Science & Information Technology (IJCSIT) Vol. 7, No 1, February 2015, DOI:
10.5121/ijcsit.2015.7115.
[13] Huda, M., Arya, Y.D.S. and Khan, M.H. (2015) Testability
Quantification Framework of Object Oriented Software: A New
Perspective. International Journal of Advanced Research in Computer and Communication Engineering,4,298-302. http://dx.doi.org/10.17148/IJARCCE.2015.4168
[14] Fu, J.P. and Lu, M.Y. (2009) Request-Oriented Method of Software
Testability Measurement. Proceedings of the ITCS 2009
International Conference on Information Technology and
Computer Science, Kiev, 25-26 July 2009, 77-80.
[15] Huda, M., Arya, Y.D.S. and Khan, M.H. (2015) Evaluating
Effectiveness Factor of Object Oriented Design: A Testability
Perspective. International Journal of Software Engineering & Applications(IJSEA),6,4149. http://dx.doi.org/10.5121/ijsea.2015.6104
[16] Lee, Ming-Chang. "Software Quality Factors and Software Quality Metrics to Enhance Software Quality Assurance." British Journal of Applied Science & Technology 4.21 (2014).
[17] Huda, M., Arya, Y.D.S. and Khan, M.H. (2015) Metric Based Testability Estimation Model for Object Oriented Design: Quality Perspective. Journal of Software Engineering and Applications, 8,
234-243. http://dx.doi.org/10.4236/jsea.2015.84024
[18] Badri, M. and Toure, F. (2012) Empirical Analysis of Object- Oriented Design Metrics for Predicting Unit Testing Effort of Classes. Journal of Software Engineering and Applications, 5, 513-
526.http://dx.doi.org/10.4236/jsea.2012.57060
[19] Abdullah, Dr, M. H. Khan, and Reena Srivastava. “Flexibility: A Key Factor To Testability”, International Journal of Software
Engineering & Applications (IJSEA), Vol.6, No.1, January 2015. DOI: 10.5121/ijsea.2015.6108.
[20] Mouchawrab, S., Briand, L.C. and Labiche, Y. (2005) A
Measurement Framework for Object-Oriented Software Testability. Information and Software Technology, 47, 979-997. http://dx.doi.org/10.1016/j.infsof.2005.09.003
[21] Jungmayr, S. (2002) Testability during Design, Softwaretechnik- Trends. Proceedings of the GI Working Group Test, Analysis and Verification of Software, Potsdam, 20-21 June 2002, 10-11.
[22] Bruntink, M. and Van Deursen, A. (2004) Predicting Class Testability Using Object-Oriented Metrics. Proceedings of the Fourth IEEE International Workshop on Source Code Analysis and Manipulation, Chicago, 15-16 September 2004,136-145.
[23] Amin, A. and Moradi, S. (2013) A Hybrid Evaluation Framework of CMM and COBIT for Improving the Software Development
Quality.
[24] Zheng, W.Q. and Bundell, G. (2008) Contract-Based Software
Component Testing with UML Models. International Symposium
on Computer Science and Its Applications (CSA ’08), 978-0-7695,
13-15 October 2008, 83-102.
IJSER © 2015 http://www.ijser.org