Components Have Test Buddies

  • Pankaj Jalote
  • Rajesh Munshi
  • Todd Probsting
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4063)


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.


Early Release Defect Data Quality Control Process Role Testing Test Script 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    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)Google Scholar
  2. 2.
    Rex Black Managing the Testing Process. Microsoft Press (1999)Google Scholar
  3. 3.
    Brown, N.: Industrial-strength management strategies. IEEE Software (July 1996)Google Scholar
  4. 4.
    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)MATHCrossRefGoogle Scholar
  5. 5.
    Elbaum, S., Malishevsky, A.G., Rothermel, G.: Test case prioritization: A family of empirical studies. IEEE Transactions on Software Engineering (2002)Google Scholar
  6. 6.
    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)Google Scholar
  7. 7.
    Rothermel, G., Untch, R.H., Chu, C., Harrold, M.J.: Prioritizing test cases for regression testing. IEEE Transactions on Software Engineering (2001)Google Scholar
  8. 8.
    Onoma, A.K., Tsai, W.T., Poonawala, M.H., Suganuma, H.: Regression testing in an industrial environment. Communications of the ACM (1998)Google Scholar
  9. 9.
    Salomon, D., Russinovich, M.E.: Inside Microsoft Windows 2000, 3rd edn. Microsoft Press (2000)Google Scholar
  10. 10.
    Srivastava, A., Thiagarajan, J.: Effectively prioritizing tests in development environment. ACM SIGSOFT Software Engineering Notes (2002)Google Scholar
  11. 11.
    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)CrossRefGoogle Scholar
  12. 12.
    Weyuker, E.J.: Testing Component-Based Software: A cautionary Tale. IEEE Software (5), 54–59 (1998)Google Scholar
  13. 13.
    Wu, Y., Pan, D., Chen, M.H.: Techniques for Testing Component-Based Software. In: Proc. of ICECCS, pp. 222–232 (2001)Google Scholar
  14. 14.
    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)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Pankaj Jalote
    • 1
  • Rajesh Munshi
    • 1
  • Todd Probsting
    • 1
  1. 1.One Microsoft WayMicrosoft CorporationRedmondUSA

Personalised recommendations