.. # ******************************************************************************* # Copyright (c) 2025 Contributors to the Eclipse Foundation # # See the NOTICE file(s) distributed with this work for additional # information regarding copyright ownership. # # This program and the accompanying materials are made available under the # terms of the Apache License Version 2.0 which is available at # https://www.apache.org/licenses/LICENSE-2.0 # # SPDX-License-Identifier: Apache-2.0 # ******************************************************************************* Getting Started ############### .. doc_getstrt:: Verification Get Started :id: doc_getstrt__verification__process :status: valid :tags: verification This document guides you through the initial steps of the software verification process, from creating test cases to executing and result reporting. It leverages the :need:`doc_concept__verification__process` and :need:`gd_guidl__verification_guide`. Relevant Documents ****************** Key documents to get an understanding about verification activities are: * **Concept Document:** :need:`doc_concept__verification__process` provides a high-level overview of the verification concept. * **Verification Guideline:** :need:`gd_guidl__verification_guide` details test case development, execution, and reporting procedures. * **Verification Plan:** :need:`wp__verification__plan` implementation outlines the overall verification strategy and objectives. (Note that the implementation of the verification plan can be found in the platform management plan.) General Workflow **************** The workflows can be split into 4 major parts: * Test planning filling the template :need:`gd_temp__verification__plan`. * Test specification and implementation for the respective testing level * Test execution by the CI. (Manual test cases are treated as automated test with user interaction and timeouts.) * Test reports are created when all verification artifacts on a module and platform level are available for a specific baseline. The details of what needs to be done in each part are described in the :ref:`verification_workflows`. Tooling Support *************** The following tools support the verification process: * **Bazel:** For building the software and running tests (supported by ITF). * **Google Test:** For unit testing in C++. * **Rust's built-in testing framework:** For unit testing in Rust. * **Pytest:** For component to integration testing in Python. * **ITF (Integration Test Framework):** As framework for integration testing based on pytest. * **Sphinx-needs:** Tracing artifacts like requirements to test cases. Additionally, tools will be provided to automatically generate coverage tests based on the unit source code.