On Testing Embedded Software
2016 (English)In: Advances in Computers, ISSN 0065-2458, Vol. 101, 121-153 p.Article in journal (Refereed) Published
For the last few decades, embedded systems have expanded their reach into major aspects of human lives. Starting from small handheld devices (such as smartphones) to advanced automotive systems (such as anti-lock braking systems), usage of embedded systems has increased at a dramatic pace. Embedded software are specialized software that are intended to operate on embedded devices. In this chapter, we shall describe the unique challenges associated with testing embedded software. In particular, embedded software are required to satisfy several non-functional constraints, in addition to functionality-related constraints. Such non-functional constraints may include (but not limited to), timing/energy-consumption related constrains or reliability requirements, etc. Additionally, embedded systems are often required to operate in interaction with the physical environment, obtaining their inputs from environmental factors (such as temperature or air pressure). The need to interact with a dynamic, often non-deterministic physical environment, further increases the challenges associated with testing, and validation of embedded software. In the past, testing and validation methodologies have been studied extensively. This chapter, however, explores the advances in software testing methodologies, specifically in the context of embedded software. This chapter introduces the reader to key challenges in testing non-functional properties of software by means of realistic examples. It also presents an easy-to-follow, classification of existing research work on this topic. Finally, the chapter is concluded with a review of promising future directions in the area of embedded software testing.
Place, publisher, year, edition, pages
Elsevier, 2016. Vol. 101, 121-153 p.
Non-functional property testing, Performance testing, Energy consumption of software, Search-based software testing, Symbolic execution
IdentifiersURN: urn:nbn:se:liu:diva-124542DOI: 10.1016/bs.adcom.2015.11.005OAI: oai:DiVA.org:liu-124542DiVA: diva2:899637