|
March
/ Apr 2004 Book Review
|
|
Testing Embedded Software This was a long awaited book! I had been looking forward to getting my hands on it. What a pleasure! Edwin Notenboom and Bart Broekman have successfully put all the basic fundamentals of testing into an easily readable and understandable format. The facts differentiating the specialist testing of embedded software from everyday testing of software systems (running on computers that can accommodate various different functions) have been neatly summarised in separate chapters. The book is based on the TMap® methodology adapted for the embedded testing environment. The book is divided into six parts including the TEmb® methodology, one part of very useful appendices, and four parts describing the TMap® model, including the Lifecycle Model, Infrastructure, Techniques and Organisation. This is the first book that I have come across that has a special chapter dedicated to testing by developers, and a chapter dedicated to testing by an independent testing team. The uniqueness of these two chapters lies in a discussion on how the different teams will approach testing by making use of the TMap® model. |
The importance of testing by developers is emphasised because of the lesser cost of early defect removal. Testing types for developers include unit testing and integration testing. Integration testing is discussed with reference to a few different methods of integration. The task of an Application Integrator is described because of the importance of coordinating the integration process correctly. This chapter describes all the facets of testing, but only in very little detail. I feel that developers, who tend to be undereducated on testing, could perhaps feel disappointed in the content of this chapter. On the contrary, the chapter on testing by an independent test team contains all the formal detail of the testing process in much more detail. A whole section is spent on test techniques, which include: risk based techniques, testability review, inspections, safety analysis, checklists, and a separate chapter for test design techniques. This section adds a fascinating new light on how to test embedded systems. Part of deriving a test case is to base the test case on the processing logic. All possible combinations of path flows can be catered for. This is a technique that can only be used if the specification for a system is very well described. Another technique that should add a lot of value to creating test cases for embedded systems is the state transition method. This method is described in full detail in chapter 11. The section that will differentiate this book from all other testing books is definitely the section on infrastructure. This section includes discussion on test environments, tools for testing embedded systems, and automation tools. An embedded software system is software embedded into hardware that interacts with the real physical world. The system receives signals through sensors, switches or keyboards, giving output through a light, a reading or a picture etc. The testing of the interaction of an embedded system with its external interfaces is done through making use of three different testing stages. The first stage, called simulation stage, needs a simulation model because usually there are little or no outside signals or interfaces available. Dedicated software tools are needed to build and run a simulation model. The testing of the prototyping and pre-production stages are explained in just as much detail. This book by Broekman and Notenboom is a courageous piece of work, and is a definite must read for anyone interested in becoming more knowledgeable about testing of embedded systems. The level of experience you need to read this book is that of an experienced tester. You do not need any knowledge of structured testing.
|
<< January / February 2004 |
May / June 2004 >> |