Abstract
AbstractUnfortunately, we cannot rely on designed and possibly already manufactured systems to operate as expected. These systems may have become defective during their use, or their function may have been compromised during the fabrication or their design. The purpose of testing is to verify whether or not an existing embedded/cyber-physical system can be operated as expected. In this chapter, we will present fundamental terms and techniques for testing. There will be a brief introduction to the aims of test pattern generation and their application. We will be introducing terms such as fault model, fault coverage, fault simulation, and fault injection. Also, we will be presenting techniques which improve testability, including the generation of pseudo-random patterns, and signature analysis. It would be beneficial to consider testability issues already during design. In case of fault-tolerant systems, resilience must be verified.
Publisher
Springer International Publishing
Reference11 articles.
1. Bernardi, P., Rebaudengo, M. Reorda, S.: Using infrastructure IPs to support SW-based self-test of processor cores. In: Workshop on Fibres and Optical Passive Components, pp. 22–27 (2005)
2. Bieker, U., Marwedel, P.: Retargetable self-test program generation using constraint logic programming. In: Proceedings of the Design Automation Conference (DAC), pp. 605–611 (1995)
3. Brahme, D., Abraham, J.A.: Functional testing of microprocessors. IEEE Trans. Comput. 33, 475–485 (1984)
4. Kohavi, Z., Jha, N.K.: Switching and Finite Automata Theory, 3rd edn. Cambridge University Press, Cambridge (2010)
5. Kopetz, H.: Real-Time Systems: Design Principles for Distributed Embedded Applications. Springer, Berlin (2011)