No doubt: Intensive testing improves quality. But
manual testing has risks: Often the test result depends on the tester’s form on
that day. The attention diminishes when the same test cases are executed again
and again. The effort of the testers costs time and budget, which results in a reduction of the productivity.
Additionally to the developer's quality-awareness, constructive QA
by processes, methods, tools, frameworks, re-usable components, etc. automated testing is a key to increase
quality without reducing the productivity. Test automation even can increase
productivity because many defects are detected earlier (probably more defects
and much earlier than with manual testing) and thus the costs for bug-fixing
are lower. The following list shows some well-proven test automation methods:
- Continuous integration of components which are completed and checked-in by the developers to an executable application (build automation). Thereby it can be permanently verified that the code is compileable, references e.g. to libraries can be resolved, etc.
- Execution of all unit tests, e.g. JUnit classes, created by the developers – within the continuous integration process.
- Performing a tool-based code analysis to check the conformity with the agreed programming guidelines. For this very powerful tools as Sonar are available, which can also be executed within the continuous integration process (see: Using Sonar for steady Analyses of the Code Quality).
- Automated GUI tests (black box tests) where scripts enter values into the fields of web dialogs, activate dialog elements and check for asserted values or states. For this tools as Sahi or Selenium are proven, where complex scenarios of test cases can be defined which help to verify that an application is still working as expected after every new build process (regression testing).
- Automated load tests to analyze the behaviour of a system regarding permanent load or overload and related to its concurrent use by many users, processing large amounts of data or a high number of transactions.
No doubt that automated test methods can improve
quality and productivity. The earlier defects can be detected, the lower
the effort for bug-fixing is. The higher the degree of automation, the lower are
the personnel costs. Both have a positive effect on the productivity.
No comments:
Post a Comment