Google Test/Google Mock to Verify Critical Embedded Software

08/09/2022
by   Hafsa Cheddadi, et al.
0

Critical embedded systems (CES) have become ubiquitous in whether medical, automotive, or industrial. Software failures in such systems are potentially disastrous and could lead to serious consequences not only financially but also life-threatening. However, besides their omnipresence, CES complexity have grown to extreme measures, faced with this increase, manufacturers and suppliers are increasingly interested in effective methods of testing logical correctness and verifying that software parts are error-free.Software testing is a collection of methods used to detect and correct bugs and faults found in software code. The first stage of software testing is unit testing, a widely used technique where individual units of source code are isolated, often divided up into classes and functions, and tested separately to aid in the verification of the behavior and functionality of the system. In this chapter, an overview of GoogleTest (GTest), a xUnit C++ testing framework will be performed, and a comparison of different available unit test frameworks for use in the C++ language. On account of the complexity provided by critical embedded systems, it is difficult to isolate and test the system's behavior, mocking techniques were considered to enable a real implementation to be replaced with a fake implementation, the replacement allowed to overcome the challenges related to hardware dependencies and external factors. Further, this chapter describes GoogleMock, a part of GoogleTest C++ testing framework that makes the tests run in isolation.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset