Visible to Intel only — GUID: GUID-035E495E-E524-4111-842D-ACA01F70C50A
Visible to Intel only — GUID: GUID-035E495E-E524-4111-842D-ACA01F70C50A
Validation Guidelines
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:
- Trusted 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.
- Host-Side Software - 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 SetupCoverage - 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
- Performance testing
- Usability and Compliance testing
- Security testing
- Legal validation
All of the above should be reflected in the master test plan that defines the general validation strategy, tools, setups, and timeline.