Home
Company Profile
Our Clients
Training
Courses
course list
roadmap
all dates
forthcoming
booking
Graduate
Training
Mentoring
Location
Links
Contact us
 sign up for Feabhas e-news

 


 Testing Training Courses
T-401
Embedded Software Testing

Length: 4 days
Cost: £1694
Course description - see below or view PDF
Check course dates - click here
Booking information - click here
 Course Detail

Course Description:
Testing is a vital aspect of verfying 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. Engineers require a good knowledge of how to test their code but, beyond that, they must understand other techniques to find and eliminate errors earlier in the design lifecycle. Supporting testing are the concepts of configuration and change management, vital skills required for managing industrial software.

This course introduces the concepts and practice of testing real-time embedded software across the entire development lifecycle.

Attendees will also perform practical exercises in static analysis and dynamic software testing.

Overview:
A four day course covering testing software in a real-time embedded environment. The course is a mixture of lectures and practical exercises.

Course Objectives:
• To understand the need for testing in an embedded environment
• To develop practical testing skills
• To give an understanding of the test process and how it fits with the development lifecycle
• To identify the different types of testing and where and when they should be used.
• To introduce good testing practices

Delegates will learn:
• How to perform static analysis of code
• The creation of black box test harnesses
• The creation of white box tests
• An understanding of software metrics
• How to create tests from Use Cases

Pre-requisites:
Attendees should have a practical working knowledge of the C language.

Who should attend:
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.

Duration:
Four days

Course Materials:
Delegate handbook

Related courses:
• C-501 C for Real-Time Developers
• AC-401 Advanced C Programming
• C++501 C++ for Embedded Developers
• AC++-501 Advanced C++ for Embedded Systems

Course Workshop:
At lease a third of the course is devoted to practical exercises. Delegates will gain hands-on experience developing test harnesses, static analysis and software metric analysis.

Course Outline:

Introduction to testing
- Why test software?
Concepts of Testing
- Why exhaustive testing is not practicable
- The concept of good test/bad tests
- Categories and levels of test
- Test cases and test procedures
Test Harnesses
- Principles of test harnesses
- Creating a test harness
- Commercial test tools
Dynamic Testing
- Structured basis testing
- Equivalence Partitions
- Boundary Value Analysis
- Problems with polymorphic code
Model-Based Testing
- Synthesis- versus Analysis- models
- Generating tests from state diagrams
Coverage Testing
- Why perform White-box tests?
- Coverage measures – Statement, Branch, Condition, Path and others
- Coverage testing tools
Code reviews
- Benefits of reviews
- Review process
- Checklists
Static Analysis
- Static analysis concepts
- The use of the compiler for
- static analysis
- The implications ISO C standard Annex F
- Static analysis tools
- Coding standards
Metrics
- Why gather metrics?
- Using metrics to manage and control testing
- Metrics for test
Software Integration
- Importance of planning your integration.
- Top-down vs Bottom-up
- Integration
- Practical integration models
Testing from use cases
- Introduction to use cases
- Calculating test cases
- Structured Basis testing for use cases
- Generating test cases from use cases
Regression testing
- Purpose of regression tests
- The build process
Configuration Management
- Why is configuration management vital?
- Configuration items
- Version control
- Change Management
- CM tools
Test Management
- The test process
- How the test process relates to
- the software V-model
- “Design by contract”
- Test-driven development
- Agile development processes

 telelogic website

Training Courses
C Training Courses
C++ Training Courses
Embedded Linux
Training Courses

Java Training Courses
Microsoft Embedded Training Courses
MISRA-C Training Courses
RTOS Training Courses
Software Engineering Training Courses
SNMP Training Courses
SysML Training Courses
TCP/IP Training Courses
Testing Training Courses
Microsoft Windows Device Driver Courses
UML Training Courses

Feabhas Codes
AC-401
AC++-501
AWDM-501
CE-501
C-501
C++-303
C++-501
C++-502
C++-503
DP-402
EL-201
EL-202
EL-301
EL-503
EL-504
J-501
J-502
MC-101
MSDN-2530
MSDN-2535
MSDN-2540
MSDN-2545
MSDN-2540N
NDIS-501
OO-101
OO-301
OO-503
RB-201
RTOS-201
SE-401
SE-501
SNMP-301
T-401
TCP-401
WDF-501
WDM-501