Fundamentals of Software Testing for Embedded Systems
Training
In London
Description
-
Type
Training
-
Level
Intermediate
-
Location
London
-
Duration
2 Days
-
Start date
Different dates available
Testing is a vital aspect of verifying the design of a software system. This is especially true in a real-time embedded environment, where the system may be subject to strict safety or reliability requirements.
Facilities
Location
Start date
Start date
About this course
How to create their own test harnesses
The use of test harnesses for embedded systems
Integration testing using test doubles
How to develop in a Test-Driven Development style
The course is designed for software engineers working in an embedded, real-time environment. The target audience is engineers who have to create and also test their own code. The course is also highly beneficial for test engineers new to software testing in a real-time environment.
Attendees should have a good working knowledge of the C language, and experience of simple programming structures: Linked lists, arrays, etc
This course introduces the concepts and practice of testing embedded software across the entire development lifecycle. It covers testing software in an embedded environment and is a mixture of lectures and practical exercises.
Attendees will also perform practical exercises in software verification and Agile development practices.
Reviews
This centre's achievements
All courses are up to date
The average rating is higher than 3.7
More than 50 reviews in the last 12 months
This centre has featured on Emagister for 6 years
Subjects
- Systems
- Design
- Testing
- IT
- Software
- IT Systems
- Fundamentals
- Embedded Systems
- Embedded programming
- IT programming
- Embedded testing
- IT testing
- Software system
Teachers and trainers (1)
Bright Solutions
Trainer
Course programme
Course Outline
Why do we test?
- Measuring confidence in a product.
- How and why errors occur in software.
- Testing as quality improvement.
Terminology:
- The language of testing
The Swiss Cheese model:
- Being effective in your testing
- A layered approach to testing
Test Harnesses:
- The principles of test harness construction.
- Test harness tools
Using Unity:
- Introduction to the Unity test suite
- Functional testing with Unity
Black Box Testing:
- The principles of black-box testing
- Test Conditions
- Test Cases
- Test Procedures
Systematic Black Box Testing:
- The problems with ad-hoc test creation.
- The Classification Tree Analysis method.
Test Doubles:
- Software integration techniques
- The problems with black-box testing during integration
- Test stubs
- Mock objects
- Wrappers
Using CMock:
- Introduction to the CMock test suite
- Create mock objects
- Integration testing with mocks
Coverage Testing:
- The principles of white-box testing
- Coverage metrics
- The problems of white-box testing
Static Analysis – The Compiler:
- The compilation process
- The compiler’s semantic analysis capabilities
- The limitations of the compiler
Static Analysis- Data Flow Analysis:
- Data usage in software
- D-U Path analysis
Static Analysis – Coding Standards:
- Coding standards
- Style guides
- MISRA-C
Static Analysis – Tools:
- Types of static analysis tool
- Selecting a tool
- Problems with SA tools
Agile Processes and Testing:
- Agile software development
- Test-driven design
- The ‘Russian Doll’ model
- Continuous Integration
Test Planning:
- When to perform testing
- Create a test plan
Fundamentals of Software Testing for Embedded Systems