When it has to be right
Sometimes a product must have no hidden defects. Releasing a beta version and waiting for feedback
from the customers is not acceptable when the cost of failure is too high. Where
the potential results of a product failure include gas explosions and harm to patients,
most countries have regulations that require products to be certified by a suitable
authority before deployment.
Sevensoft has experience in the development of certified products, both in terms
of electronics and software. There is more information about IS electronics on the
Micropower and IS page.
Sevensoft also has experience in the development of embedded software that conforms
to the Food and Drugs Administration (FDA) moderate concern level.
Development of certified software requires the adoption of proper development processes
and the discipline to follow them. It is very difficult to conform to the certification
requirements unless the development process is sufficiently controlled and documented
from the outset. A set of enumerated software requirements is the foundation of
the process as it is virtually impossible to audit the completeness of the verification
tests without them. Once an enumerated set of verification tests has been written,
a traceability matrix can demonstrate that all the requirements have been met. Writing
software requirements with the mindset of 'how will we verify this?' is very beneficial,
and quickly puts a damper on 'feature creep'.
Certified products may require maintenance releases, and just like the initial release
these must not contain serious defects. The FDA places tremendous emphasis on regression
testing as their analysis of product recalls shows that 88% of recalls caused by
software defects would or should have been caught by regression testing. The use
of a software unit testing tool such as
Tessy is immensely useful as it generates a test harness, applies the testcases,
tests the results, displays the execution paths and generates a summary report automatically.
Regression testing therefore becomes so quick that there is no excuse for not doing
it. Tessy can be used to generate a comprehensive set of testcases using the classification
Polyspace is a software
test tool that covers a different set of software defects as it focuses on runtime
exceptions. Software can be analysed for runtime exceptions such as divide by zero
or array bounds violations automatically, and hence comprehensively. The weakness
of this fully automatic approach is that no tests are made to check that the result
of a software unit matches the requirements.
If you would like more information about our services please contact us