The-Software-Experts |
|
![]() catch your bugs! |
Software Test Training
I offer this test training to make test engineers fit for their job. Testing is a skill of its own.
There is a wide variety of good literature presenting the state of the art of SW testing. However this is
rarely taught at school or universities. This leaves modern SW engineers unprepared for the challenging task
of SW testing. Based on the solid theoretical background as taught in this course, I will also give a wide
variety of examples from real life, which can serve as source of best pracitice for your own applications.
The course is taught on a regular basis at the University of Applied Sciences in Ingolstadt. The background and
the examples are related to software testing for safety critical microcontroller applications which were
programmed in C. However the techniques and theories are also applicable for other applications and programming
languages. This Software Test Training is a 2 days intensive seminar.
The course can be held in English or German. The training material is in English.
I would be glad to receive your requests for
inhouse trainings. You can use our contact sheet for this.
State of the Art of SW Testing
The first part of the course gives a complete overview on testing theory. You will learn what you can
expect from testing and how you have to specify and document tests. Further the main testing
methods will be explained including their capability to find specific errors. The following detailed subjects
will be addressed in the course: Introduction to Software Testing
This is a general introduction into the art of testing. Somtimes the expectations in tests are wrong, sometimes
activities are believed to be testing although they miss the most important features of it. The introduction will
explain terms used in testing and provide a good overview on the subject:
Test Documentation According to IEEE 829
If tests are not specified and documented properly they can not be regarded to be proper tests.
The main features of test documentation are defined in an IEEE standard. I will present the necessary test
documentation which satisfies the demands of the standard and is usable in everyday testing:
State of the Art - Test Methods
There is a set of testing methods which became state of the art. The aim of these techniques is to provide a
good and sensible coverage of tests. On the one hand tests should be as complete as possible and poke into
known areas of problems, but on the
other hand you want to reduce test cases to the needed amount in order to avoid too high testing efforts. In the course I will
show how these techniques can be combined and applied in everyday testing:
SW Testing Techniques
The second part of the course will enter into practical testing. There are various
techniques which should be applied in the right sequence, because each one of them finds different
kinds of errors and the techniques build upon each other. The following subjects will be addressed: Static Code Analysis
Since a couple of years the quality of code checking tools improved and more tools became available. These tools
can perform checks which so far had to be done in code inspections. In this course I will expalin the benefits of static code
analysis, its limits and what is left to be done by inspections. Some of the details are:
Software Inspection
Software inspections are one of the most powerful testing methods. In the course I will give only an overview on the methods
of inspections and reviews. I also offer a dedicated course for inspections with examples and exercises. The content of the
two courses is basially the same, however the proper inspection training has the aim to train you in inspections, whereas this
course part has the aim to supply you with some knowledge about it and give you an overview:
Dynamic Module Tests
There are various test benches available to perform module tests. However I choose Perl and the Inline
package, simply because it is for free and it works excellent. Using this tool I will show how to
set up module tests, focusing on white box testing:
Functional Component Tests
Using the same Perl testing environment you can also perform functional component tests. Only the test cases are different.
Component tests view the test object only at its interface, without considering the interiors. Therefore the test cases
try to stress the interface and check the behaviour of a component against its specification. The details of the
course are:
Integration Tests
Integration tests have to focus on the one hand on the integration of software
components to form the next bigger component, until the software is complete.
But for many applications there is also a system integration which needs a stest strategy.
System integration testing means to test the operation of all system components in
combination with the software. For both kinds of integrations the basic practices
are explained and valuable hints are given in the course. System Tests
The purpose and the special problems of system tests are explained. E.g. the challenge of testing a
system without influences by the test instrumentation. |
|