'This book will be a particularly useful addition to the library of those involved in the testing of embedded software. The authors have correctly identified a gap in the market and provide an eminently practical introduction to the area.'
Stuart Reid, Cranfield University
'This is a long awaited book. It brings the discipline of IT systems to the embedded development environment and complements it with many testing techniques, specifically needed for this environment.'
Otto Vinter, Independent software engineering mentor, Denmark
Embedded systems are everywhere. Modern appliances from TVs to mobile phones cannot function without them. Embedded software has become a vital part of a growing range of automotive, aerospace, biomedical and military systems. As many of these applications are potentially life-threatening, the need for rigorous software testing has never been more compelling. This book provides a comprehensive and practical overview of testing strategies for embedded software.
Highlights of the book include:
An in-depth treatment of test design techniques that can be directly applied in your projects
Detailed descriptions of roles, tasks and responsibilities with organisational structures to help you to establish a professional test organisation
Practical advice on testing that works even when time and resources are limited.
Testing Embedded Software is an invaluable guidebook for test engineers, programmers, project managers and team leaders in the embedded systems industry. It is the first book to provide a complete, in-depth overview of embedded systems testing.
Foreword.
Preface.
Acknowledgments.
I. INTRODUCTION.
1. Fundamentals.
Aims of Testing.
What Is an Embedded System?
Approach to the Testing of Embedded Systems.
2. The TEmb Method.
Overview.
TEmb Generic.
Mechanism for Assembling the Dedicated Test Approach.
II. LIFECYCLE.
3. Multiple V-Model.
Introduction.
Test Activities in the Multiple Vs.
The Nested Multiple V-Model.
4. Master Test Planning.
Elements of Master Test Planning.
Activities.
5. Testing by Developers.
Introduction.
Integration Approach.
Lifecycle.
6. Testing by an Independent Test Team.
Introduction.
Planning and Control Phase.
Preparation Phase.
Specification Phase.
Execution Phase.
Completion Phase.
III. TECHNIQUES.
7. Risk-Based Test Strategy.
Introduction.
Risk Assessment.
Strategy in Master Test Planning.
Strategy for a Test Level.
Strategy Changes during the Test Process.
Strategy for Maintenance Testing.
8. Testability Review.
Introduction.
Procedure.
9. Inspections.
Introduction.
Procedure.
10. Safety Analysis.
Introduction.
Safety Analysis Techniques.
Safety Analysis Lifecycle.
11. Test design techniques.
Overview.
State Transition Testing.
Control Flow Test.
Elementary Comparison Test.
Classification-Tree Method.
Evolutionary Algorithms.
Statistical Usage Testing.
Rare Event Testing.
Mutation Analysis.
12. Checklists.
Introduction.
Checklists for Quality Characteristics.
General Checklist for High-Level Testing.
General Checklist for Low-Level Testing.
Test Design Techniques Checklist.
Checklists Concerning the Test Process.
IV. INFRASTRUCTURE.
13. Embedded Software Test Environments.
Introduction.
First Stage: Simulation.
Second Stage: Prototyping.
Third Stage: Pre-Production.
Post-Development Stage.
14. Tools.
Introduction.
Categorization of Test Tools.
15. Test Automation.
Introduction.
The Technique of Test Automation.
Implementing Test Automation.
16. Mixed Signals.
Mirko Conrad and Eric Sax.
Introduction.
Stimuli Description Techniques.
Measurement and Analysis Techniques.
V. ORGANIZATION.
17. Test Roles.
General Skills.
Specific Test Roles.
18. Human Resource Management.
Staff.
Training.
Career Perspectives.
19. Organization Structure.
Test Organization.
Communication Structures.
20. Test Control.
Control of the Test Process.
Control of the Test Infrastructure.
Control of the Test Deliverables.
VI. APPENDICES.
Appendix A: Risk Classification.
Appendix B: Statecharts.
States.
Events.
Transitions.
Actions and Activities.
Execution Order.
Nested States.
Appendix C: Blueprint of an Automated Test Suite.
Test Data.
Start.
Planner.
Reader.
Translator.
Test Actions.
Initialization.
Synchronization.
Error Recovery.
Reporting.
Checking.
Framework.
Communication.
Appendix D: Pseudocode Evolutionary Algorithms.
Main Process.
Selection.
Recombination.
Mutation.
Insertion.
Appendix E: Example test plan.
Assignment.
Test Basis.
Test Strategy.
Planning.
Threats, Risks, and Measures.
Infrastructure.
Test Organization.
Test Deliverables.
Configuration Management.
Glossary.
References.
Company Information.
Index.