|TECH FOCUS: THE FUTURE OF TEST-DRIVEN SOFTWARE DEVELOPMENT|
|On Embedded.com's Forum online , theresponse to Jack Ganssle's “Interview with JamesGrenning “ on the controversial topic of test-drivendevelopment has been overwhelming. The same can be said about thefeedback on a recent companion article “How to use unittesting tools and techniques to improve software quality ,” by Mark Pitchford.
Based on that, some of the most popular classes at the ESC Silicon Valley are bound tobe those on anything to do with software testing, in particular “Test Driven Development for Embedded C(ESC-124),” by James Grenning, a signer of the AgileManifesto and tireless advocate for TDD. Other classes on this livelytopic include: “Common Mistakes and Lessons Learned inSoftware Testing (ESC267)” by Mark Kraeling, “Software Testing by Statistical Methods(ESC-342),” taught by Robert Oshana, and “Fundamentals of Testing Embedded Systems(ESC-404),” from Gina Bonini.
Because of the importance of software testing to ensuring the kindof code quality today's embedded systems design requires, we arepublishing as much as we can on this topic on Embedded.com. In additionto a three part series on “Doing C-code unitytesting on a shoe string ,” by Ark Khasin, recent popularcontributions have included: new approaches to automated softwaretesting, using CMMI forsoftware requirements testing, software component testing, combiningerror detection with unit testing, and model driven software testing .
As embedded software becomes integrated into almost every aspect ofour lives, software quality – and software testing – will be even moreimportant, and we will be looking for contributions from you, whetherin the form of participation in the Embedded Forums, contributedarticles, or opinion articles. I look forward to hearing from you. (Embedded.com Editor Bernard Cole,firstname.lastname@example.org )
|BREAK POINT by Jack Ganssle|
|An interview with James Grenning
Jack Ganssle puts the Agile Manifesto's James Grenning on the hot seat about test-driven development's suitability for embedded systems.
|EDITOR'S TOP PICK by Bernard Cole, Embedded.com Editor|
|How to use new unit testing tools & techniques to improve software quality
Long used mainly in high integrity environments, new unit test tools can now also streamline and improve the quality and reliability of mainstream, less critical environments, even those involving undocumented legacy code.
|ESC SV 2010: News and Events|
|A pair of big-time announcements at ESC
I'm speculating, but there could be two really significant products introduced at ESC in a few weeks.
|ESC: Is the smart grid a little too smart for your own good?
The smart grid promises worthwhile energy savings as well as market opportunity for our industry, but it has some potential privacy and compulsive issues, as well.
|THE EDITOR'S COMMENTARY by Bernard Cole|
|Editor's Commentary: Software problems are also software opportunities
Software problems are also opportunities, if not for Toyota, at least to the rest of the industry, especially if it makes everyone stop and re-evaluate the tools and methods they employ to assess and ensure the quality and reliability of the software code they produce.
|DESIGN ARTICLES on Software Testing Methods|
|Layering it on–a new approach to automating system tests
This article presents the pitfalls and challenges posed by an automation test solution for an embedded system, namely a Voice over IP media gateway. The layered testing architecture it proposes does not always reduce testing effort but converts tasks such as execution, validation, monitoring, and reporting into software routines.
|Using CMMI for software requirements testing in system design & development
Use the Capability Maturity Model Integration (CMMI) standard to improve software project processes, particularly requirements management and traceability.
|Software Component Testing and Test Automation in Embedded Systems
A tutorial on software component testing which also outlines a viable solution for testing and test automation of embedded software components in particular.
|Combining error-detection techniques to find bugs in embedded C software
This paper explains how automated techniques such as pattern-based static code analysis, runtime memory monitoring, unit testing, and flow analysis can be used together to find bugs in an embedded C application.
|Requirements Management Reduces Software Defects and Improves Code Quality
Investment in software requirements management, equal to that made for design and coding, is necessary to secure a firm foundation on which to construct a successful project.
|What you need to know about automated testing and simulation
An overview of automated hardware and software testing and simulation and how to use they can be used together to improve testing speed, test coverage and the ability to test before hardware becomes available.
|Increasing your software teams efficiency and code quality
When we say defective product, it's not the product that is defective but the methodology for creating the product.
|Using requirements based testing to find defects in your software builds
RBT can help you expose and track bugs and determine the root cause of your software quality problems, allowing you to tightly link this with application requirements and various other considerations through out the software lifecycle.
|Use product line engineering to reduce the total costs required to create, deploy & maintain systems & software
An introduction to Software Product Line (SPI) engineering, an emerging discipline in the software industry that offers great promise for high degrees of strategic reuse within a product line portfolio of similar products.
|Why Developers Need to Test – and How They Can Do It Better
With software testing cycles continuing to grow, along with time-to-market and testing team size, companies need to start getting developers more involved in the testing process.
|Paying attention to your software processes to achieve higher quality code
Software methodologies such as the waterfall method or its mutated cousin, the V-Model will result in high qualiity code only if they are backed up with a structured software development process.
|Transitioning from code-based to model-driven software testing
In a three part tutorial Moshe Cohen of Telelogic describes the new UML 2.0 Testing profile and how it can be used to extend traditional code-centric Test Case development into modeling Test Architectures and Test case behaviors, faster and with fewer resources.
|Doing C code unit testing on a shoestring
In a three part article, Ark Khasin describes a new way to use the pre-processor in your standards-compliant C compiler for unit testing for safety specs such as IEC 61508. First up: unit testing requirements and what you will need.
|EDITOR'S NOTE from Bernard Cole, Embedded.com Editor|
| (Come to the ESC. In this one-minute video , RichNass, conference editorial director, summarizes whatthe Embedded Systems Conference offers for engineers: stay up-to-dateon theindustry while updating your skill set. )