Featured Webinar: AI-Enhanced API Testing: A No-Code Approach to Testing | Watch Now

ISO 26262 Software Compliance in the Automotive Industry

Software System Testing

System testing tests the system as a whole. Once all the components are integrated, the entire system is tested rigorously to verify it meets the specified functional, safety, security, and other nonfunctional requirements.

Specialized testing teams perform this type of testing in safety-critical software. System testing falls within the scope of black box testing. As such, it shouldn’t require any knowledge of the inner design of the code or logic.

An important distinction with system level testing is the system is tested in an environment that is close to the production environment where the application will be deployed. At this stage, specific safety functions are validated, and system wide security testing is run.

Automotive System Testing at the Service Level

Individual systems within an automobile may not be considered part of a service. However, connectivity into larger systems means they should be. For example, in an automobile, the role of the engine control unit (ECU) alone is to ensure proper combustion and emissions in the engine, but the car is tracking fuel economy, using the ECU, and reporting it to a central server over a wireless connection.

This mileage data is then used to plan routes and estimate operating costs. Suddenly, the ECU is a critical leaf node in a business decision making process.

Image of an engine control unit (ECU) and user services all connected to the cloud.
Engine control unit (ECU) and user services all connected to the cloud.

Instead of viewing system quality in terms of meeting individual device requirements, the scope is broadened to consider the quality of the services provided. Testing at the service level ensures nonfunctional requirements are met. For example, performance and reliability are difficult to assess at the device level or during software unit testing. Service based testing can simulate the operational environment of a device to provide realistic loads. In the HVAC example, the new temperature sensor can be tested with varying request rates to see if it meets performance requirements.

Security is a significant concern in automotive systems. Cyber attacks most likely originate from the network itself by attacking the exposed APIs. Service based testing can create simulated environments for robust security testing, either through fuzzing (random and erroneous data inputs) or denial-of-service attacks. A new temperature sensor in the HVAC example might operate correctly with expected requests, but crash when overloaded. An attacker might be able to exploit this to overload the system and cause an outage.

Virtual Test Environment and Service Level Testing

A real test lab requires the closest physical manifestation of the environment in which an automobile is planned to work. Even in the most sophisticated lab, it’s difficult to scale to a realistic environment. A virtual lab fixes this problem.

Virtual labs evolve past the need for hard-to-find (or non-existent) hardware dependencies. They use sophisticated service virtualization with other key test automation tools.

Service Virtualization

Simulates all the dependencies needed by the device under test to perform full system testing. This includes all connections and protocols used by the device with realistic responses to communication. For example, service virtualization can simulate an enterprise server backend that an automobile communicates with. Similarly, virtualization can simulate a dependent system, like traffic or weather data, in a realistic manner.

Service and API Testing

Provide a way to drive the system under test in a manner that ensures the services it provides (and APIs provided) are performing flawlessly. These tests can be manipulated via the automation platform to perform performance and security tests as needed.

Test Lab Management and Analytics

Provide the overarching control of the virtual labs. Once virtualized, the entire lab setup can be replicated as needed and test runs can be automated and repeated. Analytics provide the necessary summary of activities and outcomes.

Runtime Monitoring

Detects errors in real time on the system under test and captures important trace information.

Parasoft SOAtest and Virtualize for Service Level Testing of Automotive Software

Developers can build integrations earlier, stabilize dependencies, and gain full control of their test data with Parasoft Virtualize. Teams can move forward quickly without waiting for access to dependent services that are either incomplete or unavailable. Companies can enable partners to test against their applications with a dedicated sandbox environment.  These Parasoft solutions are particularly valuable in the development and testing of software-defined vehicles (SDVs).

Parasoft SOAtest delivers fully integrated API and web service testing tools that automate end-to-end functional API testing. Teams can streamline automated testing with advanced functional test creation capabilities for applications with multiple interfaces and protocols.

SOAtest and Virtualize are well suited for network-based system-level testing of various types, including the following:

Comprehensive protocol stack that supports HTTP, MQTT, RabbitMQ, JMS, XML, JSON, REST, SOAP, and more.

Security and performance testing during integration and system testing with integration into the existing CI/CD process.

End-to-end testing that combines API, web, mobile, and database interactions into virtual test environments.

Dark blue banner with image of man talking to woman holding a tablet in hand in a server room.
Image of man and woman with tablet in hand having a discussion in a server room.

Elevate your software testing with Parasoft solutions.