|
3
Gordon Drive, P.O.Box 1347 Rockland, Maine 04841 U.S.A.
|
|
© 2004 Avocet Systems, Inc.
|
Call
Us Today at 207-596-7766 ("Picton Press")
|
|
Avocet Systems, Inc. : The Complete Solution for Embedded Systems
Development Tools
|
|
|
Embedded Update
Testing
There is no single short term goal more important to a firmware developer than
completing a module.
Completing means writing, testing and documenting the code.
Writing means producing a body of code that accomplishes its design goals, and
that follows the lessons of modern software design. Cutting through all of the
hype around OOP, one critical lesson we all need to follow now, is to totally
encapsulate our code and data into each function. The days of global variables
should be long gone.
Documenting means different things to different people, depending on contractual
requirements and corporate standards. Surely, though, any code whose operation
isn't clear from the comments is not documented.
Testing means a complete functional test. When you are done, that module works
- FOR SURE. Testing is where nearly every firmware project breaks down.
Testing has neither the glamour nor the intellectual challenge of creating new
code, yet is at least as important.
Testing avoids embarrassment. When you pass that function off to a colleague,
you'll know that it really works over the entire domain of input conditions.
Testing gives you confidence. God knows we've all created mountains of poorly
tested code. Adding another function is like adding to a house of cards. We
know, deep in our souls, that the foundation is unstable and will create no
end of problems... in the very near future. Sufficient testing creates trust
in the code.
Though Demming and other quality gurus tell us we cannot test quality into a
product, surely the software world has taught us that inadequate testing is
a clear path to failure.
The three most important things to consider in selecting real estate are location,
location, location. In firmware development it's testing, testing, testing.
|
|
|