2007 · 36 citations · 4 references
EngineeringComputer EngineeringComputer ScienceEmbedded SystemsSoftware EngineeringSystems ArchitectureComputer-based TestingDesign For TestabilityEmbedded Software DesignEmbedded Systems DesignSoftware TestingEmbedded Software DevelopmentEmbedded System TestingEmbedded Systems PrototypingEmbedded TestEmbedded TestabilityEmbedded TestingTest-driven DevelopmentTesting
Despite a prevalent industry perception to the contrary, the agile practices of Test-Driven Development and Continuous Integration can be successfully applied to embedded software. We present here a holistic set of practices, platform independent tools, and a new pattern (Model Conductor Hardware - MCH) that together produce: good from tests programmed first, logic decoupled from hardware, and systems testable under automation. Ultimately, this approach yields an order of magnitude or more reduction in software flaws, predictable progress, and measurable velocity for data-driven project management. We use the approach discussed herein for real-world production systems and have included a full C-based sample project (using an Atmel AT91SAM7X ARM7) to illustrate it. This example demonstrates transforming requirements into test code, system, integration, and unit tests driving development, daily micro design fleshing out a system's architecture, the use of the MCH itself, and the use of mock functions in tests.
4
Steve Freeman, Tim Mackinnon, Nat Pryce et al. · 2004 · 92 citations
Computing, Computer Science, Design +13
Presenter First: Organizing Complex GUI Applications for Test-Driven Development
Micah Alles, David C. Crosby, Carl Erickson et al. · 2006 · 23 citations
Computing, Computer Science, Design +17
Embedded Agile Project by the Numbers With Newbies
Nancy Van Schooenderwoert · 2006 · 11 citations