Practical Software Testing and Verification Training for Engineering Teams

Develop practical testing and verification skills across C/C++, Python and Rust, progressing from software test fundamentals and static analysis through unit testing, structural coverage, requirements traceability, integration testing, embedded systems, AI/ML verification, automotive testing and CI/CD automation. Alpinum’s Software Testing & Verification Training Programme is a 12-module, cross-industry programme designed for engineers working across avionics, defence, rail, nuclear, automotive, embedded software, IoT and other high-assurance engineering environments.

Why Choose This Software Testing & Verification Programme?

Modern engineering teams need more than familiarity with individual testing tools. Reliable software requires a structured verification approach that connects requirements, source code, test design, coverage, integration behaviour and evidence.

This programme develops those capabilities progressively across C/C++, Python and Rust.

Participants move from foundational verification and validation principles into practical static and dynamic testing, structural coverage and MC/DC, requirements-based testing, protocol and integration testing, embedded and real-time systems, IoT, AI/ML verification, automotive/ADAS testing and automated CI/CD workflows.

The programme culminates in applying these techniques across recognised high-assurance engineering contexts.

From Software Development to Software Verification

This programme is designed as a companion to Alpinum’s Software Development Programme Using Python, C/C++ and Rust.

Engineers who have completed that programme, or who already have equivalent working knowledge of the three languages, can progress into structured software testing and verification across the development lifecycle.

Who Should Attend?

The programme is suitable for:

  • Software engineers and developers
  • Software test and QA engineers
  • Verification & Validation engineers
  • Embedded systems engineers
  • Network and systems programmers
  • AI/ML engineers
  • Automotive and ADAS software engineers
  • IoT engineers
  • Engineers moving into regulated-industry testing
  • Recent engineering graduates
  • Technical leads and architects responsible for software quality

What You Will Learn

By completing the programme, participants will develop the ability to:

  • Apply software verification and validation principles throughout the development lifecycle
  • Perform static analysis across C/C++, Python and Rust
  • Design unit and component tests across multiple languages
  • Measure structural code coverage and apply MC/DC
  • Derive tests from requirements and maintain traceability
  • Verify protocol, network and middleware integrations
  • Test embedded, real-time, IoT and networked applications
  • Apply verification and validation approaches to AI/ML systems
  • Apply safety-critical software testing approaches
  • Integrate static and dynamic verification into CI/CD
  • Relate testing practice to high-assurance industry standards

How the Software Testing Modules Fit Together

The Software Testing & Verification Programme follows a progressive pathway from testing foundations and code-level verification through requirements, system integration and domain-specific testing, before bringing the learning together through automation, assurance and cross-industry application.

Module 1 – Foundations of Testing, V&V & Test Design
Module 2
Static Analysis & Code Quality Across Languages
Module 3
Unit & Component Testing Across Languages
Module 4
Structural Code Coverage & MC/DC
Module 5
Requirements-Based Testing & Traceability
Module 6
Integration & Protocol-Level Testing
Module 7
Embedded & Real-Time Systems Testing
Module 8
IoT & Networking Applications Testing
Module 9
AI/ML Verification & Validation
Module 10
Automotive/ADAS Safety-Critical Testing
Module 11 – Test Automation & CI/CD Integration
Module 12 – Cross-Industry Standards Bridge & Capstone

Software Testing & Verification Training Modules

Practical Software Testing Labs

The programme includes practical work across:

  • Static analysis in C/C++, Python and Rust
  • Unit/component testing
  • Memory and runtime error detection
  • Property-based testing
  • Structural coverage and MC/DC
  • Requirements traceability
  • Wireshark and protocol analysis
  • Network and socket testing
  • MQTT, Kafka and gRPC integration
  • REST/gRPC data servers
  • FreeRTOS and HIL-style testing
  • IoT end-to-end testing
  • AI/ML pipeline validation
  • ADAS/sensor-fusion testing
  • CI/CD pipeline construction
  • Cross-standard verification mapping

Final Software Testing Capstone

Apply the Complete Verification Lifecycle

he programme culminates in a team-based capstone built around a hypothetical cross-industry system containing networked embedded software and an ML-based decision component. Participants progress through requirements-based test planning, static analysis, unit testing, structural coverage and MC/DC, traceability, integration testing, embedded and IoT validation, AI/ML verification and CI/CD automation before mapping the resulting verification evidence against relevant standards.

Assessment

Assessment can include:

  • Module quizzes
  • Hands-on laboratory exercises
  • Coverage and MC/DC exercise
  • Traceability matrix assignment
  • CI/CD pipeline exercise
  • Final team capstone
  • End-of-course assessment

Training Duration and Delivery

62 Lecture Hours Across 12 Modules

The programme comprises 62 lecture hours, with individual teaching sessions capped at a maximum of four hours.

Practical labs, demonstrations and hands-on exercises are additional to the lecture-hour total and can be scheduled as dedicated practical blocks or structured exercises between teaching sessions.

Who Can Use This Programme?

Discuss Software Testing & Verification Training for Your Team

Build practical software testing and verification capability across C/C++, Python and Rust, from static analysis and unit testing through MC/DC, traceability, CI/CD, embedded systems and safety-critical applications.

Speak to Alpinum about the right training pathway for your engineers.

Frequently Asked Questions

The Software Testing & Verification Programme provides a structured progression from testing and V&V fundamentals through static analysis, unit and component testing, structural code coverage and MC/DC, requirements-based testing and traceability, integration and protocol-level testing, embedded and real-time systems testing, IoT and networking applications testing, AI/ML verification, automotive/ADAS safety-critical testing, test automation and CI/CD, and a final cross-industry standards capstone.

The complete programme totals 64 hours across 16 four-hour sessions and 12 modules. Individual modules are structured as either four-hour or eight-hour components according to their technical scope.

The programme applies software testing and verification techniques across C/C++, Python and Rust. These languages are used throughout relevant modules for activities such as static analysis, unit and component testing, code coverage and CI/CD automation, while later modules extend the verification approach into embedded, networking, AI/ML and automotive applications.

Yes. Practical labs are integrated throughout the programme. Participants work on activities including test-case design, static analysis, unit testing, structural coverage and MC/DC derivation, requirements traceability, protocol and integration testing, embedded verification, IoT reliability testing, AI/ML validation, automotive/ADAS testing and CI/CD automation.

Each module also brings its practical work together into a defined module project or verification deliverable.

Participants develop technical artifacts throughout the programme rather than working only through theoretical exercises.

Outputs include a Test Strategy & Case Design Dossier, multi-language static-analysis pipeline, polyglot component test suite, Coverage & MC/DC Verification Report, end-to-end traceability dossier, multi-protocol integration suite, embedded verification package, IoT reliability report, ML pipeline validation report, ADAS verification evidence and a gated CI/CD pipeline.

The final module brings earlier evidence together into a verification plan, evidence dossier, five-standard mapping table and safety-case fragment.

No commercial licence is required for the tooling specified in the programme. The curriculum is designed around open-source tools that are free to run without a commercial licence.

Depending on the module, tools and frameworks include cppcheck, clang-tidy, pylint, mypy, clippy, GoogleTest, Catch2, pytest, cargo test, gcov/lcov, coverage.py, Wireshark, Scapy, QEMU, Locust, Great Expectations and other open-source technologies.

Yes. The programme introduces regulated software contexts and culminates in a dedicated cross-industry standards module covering DO-178C, EN 50128, IEC 61508, ISO 26262 and IEC 60880.

Participants examine verification concepts, terminology and assurance-level relationships across these standards and reuse earlier programme artifacts in standards-mapping, verification-planning and safety-case exercises.

The programme treats these standards as distinct frameworks and does not assume that their assurance levels are directly equivalent.

Beyond core software testing techniques, the programme develops specialist verification capability across several application domains.

These include embedded and real-time systems, IoT and networked applications, AI/ML systems, and automotive/ADAS safety-critical software. The later modules also cover test automation, CI/CD quality gates and cross-industry verification evidence.

The curriculum defines the Software Testing & Verification Programme as the companion programme to the Software Development Programme Using Python, C/C++ and Rust.

The Software Development Programme focuses on building software-development capability, while this companion programme focuses on how software and software-intensive systems are tested, analysed, verified and supported with technical evidence.

Important: the supplied curriculum describes the programmes as companions but does not state that completing the Software Development Programme is a prerequisite.

The final module is the Cross-Industry Standards Bridge & Capstone.

Participants select a specialisation track in Embedded, AI, Automotive, Networking or Data, draft a verification plan, organise an evidence dossier using artifacts from earlier modules, build a simple GSN safety-case fragment and perform a mock-audit walkthrough.

The final project combines a verification plan, evidence dossier, five-standard mapping table and safety-case fragment for the selected track.