Experience Embedded

Professional Training, Consulting and Project Support

On this page, you find dates and registration for the face-to-face training. Please click here for the live online training.

Embedded Software Test: Best Practices for Unit/ Module /Component Testing

  • Content
     
  • Objectives
     
  • Participants
     
  • Requirements
     

The embedded software test training highlights the development and test process as well as the related dependencies, extensions and interactions. This way, you can exploit synergies and perform tests efficiently.

Numerous hands-on exercises on software and hardware help you implement what you learned in the training.

Software developers, hardware developers, test engineers

Basic knowledge of a higher-level programming language (e.g. C/C++) is of advantage.

Development and Test Process in the W-Model (V-Model Extension)

  • Development stages: analysis, design, implementation
  • Test stages: component test, integration test, system test, acceptance test
  • Test types: functional, non-functional, structure-oriented test
  • Post test, regression test, maintenance test
  • Standards relevant to testing
  • Developing testable software
  • Definition of terms: unit, module, component
  • Difference between debugging and testing

Static Tests

  • Review process: document review, coder review, inspection, walkthrough
  • Tool-aided static code analysis

Dynamic Tests

  • Blackbox: equivalence class construction, threshold testing, decision table testing, state transition testing, use case testing
  • Whitebox: statement testing/ coverage, decision testing/ coverage, condition testing/ coverage
  • Experience-based techniques: error guessing, explorative testing
  • Systematic approaches for developing test cases
  • Selection criteria for test methods
  • Test method assessment

Code Metrics

  • Lines of code, cyclomatic number according to McCabe, Halstead metric
  • Using metrics in the test process

Design for Test

  • S.O.L.I.D. principles
  • Single responsibility, open closed
  • Liskov substitution
  • Interface segregation, dependency inversion

Testing Object-Oriented Software

  • Testing class hierarchies
  • Testing methods of a class
  • Testing class relations
  • Testing inheritance
  • Testing polymorphic class hierarchies

Test-Driven Development, TDD

  • Advantages of TDD
  • Embedded TDD strategies
  • TDD example

Integration of System Components - Overview

  • Integration test, system test, acceptance test

Integration of Hardware and Software

  • Test execution on hardware

Further Activities in the Test Process - Overview

  • Test management, planning, control
  • Risk management, fault and incident management
  • Configuration management and version control
  • Software quality features according to ISO 9126
  • Test documents according to IEEE 829
  • Test tools types, selection, implementation

Hands-on Exercises

  • Exercises on test analysis, test design, test implementation, test execution, test report
  • Execution of code Review
  • Execution of blackbox and whitebox tests with Tessy, with and without HW
  • Test data determination using the classification tree method with CTE
  • Determining code metrics using the tools cccc and CMT++
  • Using Google Test and Google Mock
  • The Arm/ Keil µVision and a Cortex™-M evaluation board are used for tests on HW

The training price includes:
Lunch, drinks, training documentation and your training certificate.


ALL INCLUSIVE!

Related trainings

Scrum in the Agile Development of Embedded Systems
Training code: E-SCRUM

Coaching: Test
Training code: CE-TEST


Related trainings

OPEN FACE-TO-FACE FORMAT

Price *Duration
2.200,00 €4 days
Training code: E-EMB-TEST

* Price per attendee, in Euro plus VAT


> Registration form download (PDF)
> Training details as PDF

Onsite Training

Our customized workshops integrate your specific project tasks in our training content and accommodate your requirements on content, time, location, duration, technical environment and knowledge transfer methodology.

Please contact us for further information or an individual quotation.

> Training details as PDF

Coaching

Our coaching services offer a major advantage: our specialists introduce their expertise and experience directly in your solution process, thus contributing to the success of your projects.

Coaching: Test

Embedded Software Test: Best Practices for Unit/ Module /Component Testing

Content

Development and Test Process in the W-Model (V-Model Extension)

  • Development stages: analysis, design, implementation
  • Test stages: component test, integration test, system test, acceptance test
  • Test types: functional, non-functional, structure-oriented test
  • Post test, regression test, maintenance test
  • Standards relevant to testing
  • Developing testable software
  • Definition of terms: unit, module, component
  • Difference between debugging and testing

Static Tests

  • Review process: document review, coder review, inspection, walkthrough
  • Tool-aided static code analysis

Dynamic Tests

  • Blackbox: equivalence class construction, threshold testing, decision table testing, state transition testing, use case testing
  • Whitebox: statement testing/ coverage, decision testing/ coverage, condition testing/ coverage
  • Experience-based techniques: error guessing, explorative testing
  • Systematic approaches for developing test cases
  • Selection criteria for test methods
  • Test method assessment

Code Metrics

  • Lines of code, cyclomatic number according to McCabe, Halstead metric
  • Using metrics in the test process

Design for Test

  • S.O.L.I.D. principles
  • Single responsibility, open closed
  • Liskov substitution
  • Interface segregation, dependency inversion

Testing Object-Oriented Software

  • Testing class hierarchies
  • Testing methods of a class
  • Testing class relations
  • Testing inheritance
  • Testing polymorphic class hierarchies

Test-Driven Development, TDD

  • Advantages of TDD
  • Embedded TDD strategies
  • TDD example

Integration of System Components - Overview

  • Integration test, system test, acceptance test

Integration of Hardware and Software

  • Test execution on hardware

Further Activities in the Test Process - Overview

  • Test management, planning, control
  • Risk management, fault and incident management
  • Configuration management and version control
  • Software quality features according to ISO 9126
  • Test documents according to IEEE 829
  • Test tools types, selection, implementation

Hands-on Exercises

  • Exercises on test analysis, test design, test implementation, test execution, test report
  • Execution of code Review
  • Execution of blackbox and whitebox tests with Tessy, with and without HW
  • Test data determination using the classification tree method with CTE
  • Determining code metrics using the tools cccc and CMT++
  • Using Google Test and Google Mock
  • The Arm/ Keil µVision and a Cortex™-M evaluation board are used for tests on HW

Wishlist


No trainings