Workshop TDD4ES 18/11/2010 EP 1 iwt-090191 TDD4ES Workshop Building blocks for Test-Driven Development of Embedded Software 18/11/2010 dr. ing. Jeroen Boydens ing. Piet Cordemans ing. Sille Van Landschoot ing. Wim Catteeuw @ep_research http://ep.khbo.be 18/11/2010 TDD4ES Content Session 1 (Tuesday 16/11/2010) 1. Introduction 2. TDD in practice 3. TDD for embedded software Session 2 (Thursday 18/11/2010) 1. Test on target (continued) 2. Test on host 3. Remote testing 2
23
Embed
Building Block for Test-Driven Development of …...2010/11/18 · Workshop TDD4ES 18/11/2010 EP 1 TDD4ES iwt-090191 Workshop Building blocks for Test-Driven Development of Embedded
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
06_RemoteTesting_DiY • Write new test on host • Run test on target • Review results on host
18/11/2010 TDD4ES
3.5 Exercise
40
06_RemoteTesting
Requirements • Testing target implementation on host
• Led test
• DS1820 test (environment temperature)
Goals • TDD with remote testing
• Testing hardware aware functionality
• Testing hardware independent functionality
Workshop TDD4ES
18/11/2010
EP 21
18/11/2010 TDD4ES
3.5 Exercise
41
06_RemoteTesting
LED + on + off + get : int + set(int)
DS1820 + getTemperature : int + double getTemperature : double
• Led test • DS1820 test (environment temperature)
18/11/2010 TDD4ES
TDD4ES overview
42
Test on target
Test on host
Remote testing
1. Limited number of tests
2. Minimalistic framework
3. Program code
1. Unlimited number of tests
2. Full option framework
3. Program code with hardware virtualization
1. Unlimited number of tests
2. Full option framework with remote testing functionality
3. Program code with remote testing functionality
Workshop TDD4ES
18/11/2010
EP 22
18/11/2010 TDD4ES
TDD4ES overview
43
Memory
Dependency
Slow
Test on host Test on target Remote testing
+++ Test & Program
on host
+++ Real drivers
+++ Real drivers
+++ Development limited to host
+/- Program &
Broker on target
--- Test & Program
on target
--- Only virtual
drivers
--- Frequent flash programming
- Frequent flash programming*
18/11/2010 TDD4ES
Literature
• K. Beck. Test-Driven Development: By Example. Addison-Wesley, 2003.
• K. Beck and C. Andres. Extreme Programming Explained: Embrace Change (2nd ed.). Addison-Wesley, 2004.
• B.W. Boehm. Software Engineering Economics (Prentice-Hall Advances in Computing Science & Technology Series). Prentice Hall PTR, October 1981.
• J. Boydens, P. Cordemans, and E. Steegmans. Test-Driven Development of Embedded Software. In European Conference on the Use of Modern Information and Communication Technologies, 2010.
• E. Dijkstra. The humble programmer. Commun. ACM, 15(10):859866, 1972.
• M. Feathers. Working Effectively with Legacy Code. Prentice Hall PTR, 2005.
• M. Fowler. UML Distilled (3rd ed.). Addison-Wesley, 2004.
• M. Fowler. Refactoring: Improving the design of existing code. Addison-Wesley, 1999.
• E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995.
• J. Grenning. Progress before hardware. Agile Alliance Newsletter, 4:74_79, 2004.
44
Workshop TDD4ES
18/11/2010
EP 23
18/11/2010 TDD4ES
Literature continued
• M. Karlesky, W. Bereza, and C. Erickson. Effective test driven development for embedded software. In IEEE 2006 Electro/Information Technology Conference, 2006.
• R. Koss, and J. Langr. Test-Driven Development in C. In C/C++ Users Journal, 2002.
• M. Müller and F. Padberg. About the return on investment of test-driven development. In International Workshop on Economics-Driven Software Engineering Research EDSER-4, 2003.
• R. Osherove. The Art of Unit Testing. Manning, 2009.