This section covers the validation guidelines for Intel® DAL-based application developers, validation teams, and Intel business units which represent non-Intel teams. The goal of this section is to provide clear and detailed guidelines and expectations regarding the validation tasks that must be done during the application development cycle and certification flow.
The SDK in Intel DAL provides a unit testing framework called DalUnit
In general there are three main areas that should be covered as part of the validation of an Intel DAL-based application:
– The actual code that will be downloaded into the firmware and which should be signed with production keys in order to load on production machines, including the manifest and pack/DALP creation, design and usage in general or along with the matching software stack.
– The host side software that was developed with the given trusted application which manages and communicates with this trusted application and might also communicate with other applications and back-end servers. This includes the installer and various use cases of the software.
End-to-End Flows and Setup
– This section should cover the following areas:
The real validation of the whole solution and application by end-to-end flows and user scenarios.
Integration testing with Intel DAL infrastructure (software/firmware), platform drivers, and setups coverage using different combinations of hardware (PCH/CPU etc.), firmware (1.5M/5M and SKUs) and operating systems.
Interoperability validation with other application and components (other Intel DAL-based applications and/or Intel® Management Engine (Intel® ME)/Intel® Trusted Execution Engine (Intel® TXE) applications such as Media-Vault*).
The validation should cover the following test levels:
Unit tests (e.g. method level)
Integration tests (testing various components integration)
System tests (full system end-to-end flows which exercise user-flows).
On top of that, the following test types must be covered for sufficient coverage:
Functional tests (covering: Main Flow Functionality, Advanced Functionality, Negative Flows, etc.)
Stress and Load testing
Usability and Compliance testing
All of the above should be reflected in the master test plan that defines the general validation strategy, tools, setups, and timeline.