Journal of Software Engineering and Applications, 2012, 5, 841-849 http://dx.doi.org/10.4236/jsea.2012.511097 Published Online November 2012 (http://www.SciRP.org/journal/jsea) 841 Testability Estimation of Framework Based Applications Noopur Goel, Manjari Gupta Department of Computer Science, Banaras Hindu University, Varanasi, India. Email: noopurt11@gmail.com, manjari_gupta@rediffmail.com Received August 29 th , 2012; revised September 28 th , 2012; accepted October 7 th , 2012 ABSTRACT Quality of software systems is highly demanded in today’s scenario. Highly testable system enhances the reliability also. More than 50% of test effort-time and cost are used to produce a highly testable system. Thus, design-for-testability is needed to reduce the test effort. In order to enhance the quality, productivity and reduced cost of the software organiza- tions are promoting to produce the reuse-oriented products. Incorporating reuse technology in both aspects-software development process and test process may payoff many folds. Keeping this view, our study focus the testability of the object-oriented framework based software systems and identify that flexibility at the variable points of the object-ori- ented framework, chosen for framework instantiation, greatly affects the testability of object-oriented framework based software at each level of testing. In the current paper, we propose a testability model considering the flexible aspect of the variable point to estimate testability in the early phase, requirement analysis phase, of development process of the framework based software. The proposed model helps to improve the testability of the software before the implementa- tion starts thus reducing the overall development cost. Keywords: Reuse-Technology; Variation-Points; Object-Oriented Framework Based Software; Basic Test Cases; Framework Interface Classes; Other Application Classes 1. Introduction Quality assurance is highly demanded in any software industry. Researchers and practitioners are aspiring to achieve the goal with many techniques. Software reuse and software testing are the two promising techniques to enhance the quality of the software applications. Framework is one of the promising technologies fos- tering reuse. A framework is the reusable design (the context) of a system or a subsystem stated by means of a set of abstract classes and the ways the objects of (sub- classes of) those classes collaborates [1]. Being a reus- able pre-implemented architecture, a framework is de- signed “abstract” and “incomplete” and is designed with predefined points of variability, known as hotspots, to be customized later at the time of framework reuse [2]. A hotspot contains default and empty interfaces, known as hook methods, to be implemented during customization. While preserving the original design, parts of the frame- work are extended or customized to build applications using frameworks. A hook is a point in the framework that is meant to be adapted in some way such as by fill- ing in parameters or by creating subclasses [3]. Hook description [3] is used for many possible implementa- tions of the Framework Interface Classes (FIC), shown in Figure 1, for developing applications in the application engineering stage [4]. Software testing is effective if it detects faults in the early life cycle of the project development. Software testing is performed with the intent of finding faults and is a vital and indispensable part of the software develop- ment process which itself is a highly time consuming and costly affair. Testing of framework based applications is not a trivial task as the frameworks are inherently com- plex in structure. The resources for testing are limited [6], hence to achieve effective testing, the applications are considered to be designed for testability. The testability of software is an important quality attribute, since it determines the effectiveness of testing, and hence the Figure 1. Framework Application Classes (hooks, frame- work interface classes, other application classes) [5]. Copyright © 2012 SciRes. JSEA