Search the Elsmar Cove!
**Search ALL of** with DuckDuckGo including content not in the forum - Search results with No ads.

Embedded software requirements - Developer test tools within the same code



Can anyone advise on software requirements for embedded systems that have developer test tools within the same code?

i.e. We have a microprocessor running code that has been developed internally. This code contains development and test tools for retrieving information from the processor and adjusting initial settings during development and testing. Do we need to specify these tools in the Software requirements documents or can we leave them out? I should also point out we are aiming for IEC 60601 and 62304 compliance.


Quite Involved in Discussions
I tend to believe you should set the requirements in the specification for the test codes too in this particular situation, otherwise (as part of ensuring validation) I think you can not prove that your code fulfills the intended use of your software (because there are "leftover"s for testing purposes).


Staff member
Super Moderator
Will the test code be part of the 'deliverable' code?

If that's the case then I agree with Sagai that you probably should specify it. And keep in mind that it will be extremely important to show that you cannot 'accidentally' get into that code. The practice of leaving test code in the deliverable software is not what I would consider industry standard and you may be challenged on it.

If you're not leaving the test code in the deliverable then I would NOT include it in the specification. It's pretty common practice to instrument code to facilitate testing conditions you otherwise would not be able to trigger; e.g., timing conditions, etc. This is often accomplished by conditional compilation. For test purposes you set a flag to compile the test code in but for production you turn the flag off and the code doesn't get compiled in. That's something I would consider standard practice.

Hope that helps. Maybe a little more information about what you're doing will help craft a better answer.
Top Bottom