Professional Documents
Culture Documents
Contact me at hans.schaefer@ieee.org.
Testing is the last step in the software life cycle. Time pressure is well known and increasing
because too many defects are found late and may have to be repaired. Early test planning and
the use of reviews achieve a high degree of preventive defect removal. Still, at the end you
have to execute the tests, in order to measure the final product quality. The ultimate aim,
however, is that defects show up during test preparation rather than test execution.
These seminars show you “state of best industry practice” testing. You can use the techniques
right away, and even when you use only part of the techniques, you will feel the
improvement.
You also get an overview of the latest testing tools, which may help you make test work
proceed smoother and cheaper.
Finally, I am able to offer ISTQB Foundation and Advanced Level seminars. See
www.istqb.org for details. (In Norwegian see www.istqb.no ).
Seminar 6:
This seminar covers the special, additional requirements for testing real time embedded
systems. Normal testing practice is NOT covered here. Such systems are ridden by a whole
lot of extra problems, in addition to the normal software problems which testing must
address. There are memory and resource corruption, race conditions, deadlocks, live locks,
timeouts, interrupts, scheduling and the generally difficult access to the system under test.
This seminar focuses on the special problems encountered here and ways to deal with them.
The topics discussed here are not normally part of any testing seminars.
We hope you will be an active participant. The seminars have time for discussion and
questions and answers. We would like you to prepare questions on
What would you like to know about testing
Where do you think you should organize testing better.
There are more topics I can cover, but not part of the "standard" seminars.
Contents of the seminars
1. Introduction to testing
What is testing?
Terminology
Conflicting goals
V-model, test phases, agile and iterative models
Black Box versus white box testing, reviews, static analysis as methods
9. Summary
Issues that came up
Priorities
7. Nonfunctional testing
Testing installation, configuration, conversion and compatibility
Testing performance, stress, and volume
Testing reliability
Testing usability
Testing security
Testing other attributes
8. How to verify that changes and error corrections work - regression testing
Retesting during maintenance and after error repair
Maintaining tests
Automating tests
9. Acceptance testing
Customer supplier interaction
The process
1. The basic ideas of defect removal. Introduction, basic facts, terminology, test
model
2. Strategic planning of the defect removal project
4. How to be sure the product is reliable enough - start and exit criteria for testing
6. Testware architecture and test documentation. How to keep order in your test
material. How to tailor the new IEEE 829 standard for test documentation
10. How to do risk management as well as risk and profit based testing: prioritizing
11. Test Process Improvement. The TPI model. How to introduce better testing
methods in your group
1. What is risk
5. Project risk management in test projects: Risks before, during and after the test
9. Summary, References
5. Testing real time and embedded programs (this in itself can be presented as a
one day tutorial)
6. How to check that your test is good enough, how to check supplier test
Coverage criteria and their limits
What you ever wanted to ask your supplier about his test
8. Testing later
What about maintenance?
How to assure that defect correction and changes don’t introduce side-effects
How to put together a regression test
How the supplier may help you
9. Putting together it all
A step-by-step procedure for the whole test.
1. Introduction
2. The special problems with embedded systems and how to test for them
* Many problems are hard to find by testing, and prevention would be much better.
However, testing methods can be described or tailored.
Race conditions
Data corruption
Timing
Deadlocks
Priority
Rounding problems
Long term problems
Hardware related problems
Etc.
Many embedded systems employ state machines. This is why reviewing state machine
models and testing state machines is especially important
4. Discussion, Summary
- Combining testing and inspections, how inspections can save time and budget
- Evaluation of software to be bought
- Usability testing