Abstract
Most large software systems are architected as component-based systems. In such systems, components are developed and tested separately. As components cooperate for providing services, testing of a component also reveals defects in other components. In this paper we study the role testing of other components plays in finding defects in a component by analyzing defect data of an earlier version of Windows. Our analysis shows that testing of other components often is the largest source of finding defects in a component. The analysis also shows that though many components reveal defects in a component, often a small set of components – the Test Buddies – exists whose testing reveals the vast majority of the defects found by testing other components. The Test Buddies of a component are those with a heavy interaction with the component and represent the high priority customers for testing. The Test Buddy information for a system can be determined by the test data of an earlier release, and then can be used in different ways to improve the testing.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Beydeda, S., Gruhn, V.: An integrated testing technique for component-based software. In: International Conference on Computer Systems and Applications. IEEE Press, Los Alamitos (2001)
Rex Black Managing the Testing Process. Microsoft Press (1999)
Brown, N.: Industrial-strength management strategies. IEEE Software (July 1996)
Bush, W.R., Pincus, J.D., Sielaff, D.J.: A static analyzer for finding dynamic programming errors. Software Practice and Experience 30(7), 775–802 (2000)
Elbaum, S., Malishevsky, A.G., Rothermel, G.: Test case prioritization: A family of empirical studies. IEEE Transactions on Software Engineering (2002)
Harrold, M.J., Liang, D., Sinha, S.: An approach to analyzing and testing component-based systems. In: ICSE Workshop Testing Distributed Component-Based Systems (1999)
Rothermel, G., Untch, R.H., Chu, C., Harrold, M.J.: Prioritizing test cases for regression testing. IEEE Transactions on Software Engineering (2001)
Onoma, A.K., Tsai, W.T., Poonawala, M.H., Suganuma, H.: Regression testing in an industrial environment. Communications of the ACM (1998)
Salomon, D., Russinovich, M.E.: Inside Microsoft Windows 2000, 3rd edn. Microsoft Press (2000)
Srivastava, A., Thiagarajan, J.: Effectively prioritizing tests in development environment. ACM SIGSOFT Software Engineering Notes (2002)
Traon, Y.L., Jeron, T., Jezequel, J.M., Morel, P.: Efficient Object-Oriented Integration and Regression Testing. IEEE Transaction on Reliability 49(1), 12–25 (2000)
Weyuker, E.J.: Testing Component-Based Software: A cautionary Tale. IEEE Software (5), 54–59 (1998)
Wu, Y., Pan, D., Chen, M.H.: Techniques for Testing Component-Based Software. In: Proc. of ICECCS, pp. 222–232 (2001)
Wu, Y., Chen, M.H., Offutt, J.: UML-based integration testing for component-based software. In: Erdogmus, H., Weng, T. (eds.) ICCBSS 2003. LNCS, vol. 2580, pp. 251–260. Springer, Heidelberg (2003)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Jalote, P., Munshi, R., Probsting, T. (2006). Components Have Test Buddies. In: Gorton, I., et al. Component-Based Software Engineering. CBSE 2006. Lecture Notes in Computer Science, vol 4063. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11783565_22
Download citation
DOI: https://doi.org/10.1007/11783565_22
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-35628-8
Online ISBN: 978-3-540-35629-5
eBook Packages: Computer ScienceComputer Science (R0)