Abstract
Test Driven Development (TDD) is a process for software engineering that advocates constructing test cases before writing actual code; indeed, coding is treated as an exercise in validating the test cases. While such an approach appeals to many software developers, one cannot simply apply TDD to component-based software engineering (CBSE). The primary obstacle is the more complex life cycle for software components that must be packaged, deployed and executed within software containers or deployment environments. In this paper we describe two case studies that show different ways by which TDD can be applied to CBSE. Our focus remains on the dependencies that exist between components and how to manage these dependencies during testing to still enable successful unit 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
Apache, Cactus Test Framework (2009), http://jakarta.apache.org/cactus
Beck, K.: Test Driven Development: By Example. Addison-Wesley Longman, Amsterdam (2002)
Czarnecki, K., Wasowski, A.: Feature Diagrams and Logics: There and Back Again. In: Proceedings of the 11th International Software Product Line Conference (SPLC), pp. 23–34 (2007)
Eclipse Foundation, Web Tool Platform (WTP) project (2009), http://www.eclipse.org/webtools
Edwards, S.H.: Framework for Practical, Automated Black-Box Testing of Component-Based Software. Software Testing, Verification and Reliability 11(2) (2001)
Fowler, M.: Mocks aren’t stubs (January 2007), http://martinfowler.com/articles/mocksArentStubs.html
Gao, J.: Component Testability and Component Testing Challenges. In: Component-Based Software Engineering Workshop (2000)
Heineman, G.: CompUnit Component model (2009), http://sourceforge.net/projects/compunit
Heineman, G., Council, W.: Component-Based Software Engineering: Putting the pieces together. Addison-Wesley, Reading (2001)
Holzner, S.: Eclipse Cookbook. O’Reilly Media Inc., Sebastopol (2004)
Jalote, P., Munshi, R., Probsting, T.: Components Have Test Buddies. In: Component-Based Software Engineering Symposium, pp. 310–319 (June 2006)
Janzen, D., Saiedian, H.: Test-driven development concepts, taxonomy, and future direction. IEEE Computer 38(9), 43–50 (2005)
JUnitEE (2009), http://www.junitee.org
Lau, K.-K., Wang, Z.: Software component models. IEEE Transactions on Software Engineering 33(10), 709–724 (2007)
Meyer, B.: Object-Oriented Software Construction, 2nd edn. Prentice Hall, Englewood Cliffs (1997)
Muccini, H., van der Hoek, A.: Towards Testing Product Line Architectures. In: International Workshop on Test and Analysis of Component-Based Systems (TACoS), vol. 82(6), pp. 99–109 (2003)
Muthu, R.: Testing Software Components Using Boundary Value Analysis. In: Proceedings of the 29th EUROMICRO conference New Waves in System Architecture (2003)
Pavlova, I., Akerholm, M., Fredriksson, J.: Application of built-in-testing in component-based embedded systems. In: ROSATEA 2006, pp. 51–52 (2006)
Tyler, B., Soundarajan, N.: Testing Framework Components. In: Component-Based Software Engineering Workshop, pp. 138–145 (May 2004)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Heineman, G.T. (2009). Unit Testing of Software Components with Inter-component Dependencies. In: Lewis, G.A., Poernomo, I., Hofmeister, C. (eds) Component-Based Software Engineering. CBSE 2009. Lecture Notes in Computer Science, vol 5582. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-02414-6_16
Download citation
DOI: https://doi.org/10.1007/978-3-642-02414-6_16
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-02413-9
Online ISBN: 978-3-642-02414-6
eBook Packages: Computer ScienceComputer Science (R0)