Automated Testing in Automotive
Automated Testing in Automotive
Automated Testing in Automotive
I. INTRODUCTION
Not only do we have to test the right things, but
we also have to test them the right way in order to
get a positive return on our testing investment.
Static, structural, and behavioral test techniques are
each good for finding certain kinds of bugs during
certain phases of the project. However, theres
another decision we have to make as test
professionals for each test suite: Automated or
manual? Some tests are well-suited for
automationindeed, some kinds of tests cant be
done manually in any meaningful way. Other tests,
conversely, as a practical matter are either most
effective when done manual or only doable
manually. Test automation projects are just as risky
as system development projects, and just as many
fail. As with test techniques, selection of the
appropriate choice in this regard will have a serious
impact on the return on test investment.
manual testing:
Installation, setup, operations, and maintenance.
In many cases, these tests involves loading CDROMs and tapes, changing hardware, and other
ongoing hand-holding by the tester.
Configuration and compatibility. Like
operations and maintenance testing, these tests
require reconfiguring systems and networks,
installing software and hardware, and so forth, all
requiring human intervention.
Error handling and recovery. Again, the need to
force errorsby powering off a server, for
examplemeans that people must stay engaged
during test execution.
Localization. Only a human tester with
appropriate skills can decide whether a translation
makes no sense, is culturally offensive, or is
otherwise inappropriate. (Currency, date, and time
testing can be automated, but the need to rerun these
tests for regression is limited.)
Usability. As with localization, human judgment
is needed to check for problems with the facility,
simplicity, and elegance of the user interface and
workflows.
Documentation and help. Like usability and
localization, checking documentation requires
human judgment. Theres no return on investment
in trying to automate these kinds of tests, typically.
One of my clients once spent thousands of dollars
and staff hours trying to automate configuration and
compatibility tests, only to give up months into the
effort.
IV. WILDCARDS
In some cases, tests can be done manually,
automated, or both.
Functional. Functionality testing can often be
automated, and automated functional testing is often
part of an effort to create a regression test suite or
smoke test. However, it makes sense to get the
testing process under control manually before trying
to automate functional testing. In addition, youll
want to keep some of the testing manual. As Cem
Kaner, James Bach, and Bret Pettichord write in
Lessons Learned in Software Testing, manual
testing is adept at finding different kinds of
4
[11] H. Sthamer, J. Wegener, and A. Baresel. Using
Evolutionary Testing to improve Efficiency and Quality in
Software Testing. In Proc. of the 2nd Asia-Pacific Conference
on Software Testing Analysis & Review. Melbourne, 2002.
[12] X. Wu, S. Lentijo, and A. Monti. A novel interface for
power-hardware-in-the-loop simulation. In IEEE Workshop
on Computers in Power Electronics, 2004. [9] D. Lee and M.
Yannakakis. Principles and methods of testing finite state
machines: A survey. Proceedings of the IEEE, 1996.