https://doi.org/10.71352/ac.36.075
Improving efficiency of automated functional testing in agile projects
Abstract.
Test-Driven Development (TDD) is probably the most important agile engineering practice. Since it was first described in detail
in [1], this development practice has been adopted widely. This adoption has been also well supported with tools that provide a
framework for defining and executing unit tests on the different development platforms. Test-Driven Development provides a guideline
how to develop applications unit by unit, resulting in
well-designed, well maintainable quality software. TDD focuses on units and it
ensures that the atomic building blocks and their interactions are specified and implemented correctly. There is certainly a need for
automating other tests as well in order to ensure a working integration environment, to validate performance or to ensure that the
application finally behaves as it was specified by the customer. Usually for automating these non-unit tests, developers (mis-)use
the unit test frameworks and the unit test execution tools. This paper investigates the potential problems caused by misusing unit
test tools for automated functional tests in cases when these functional tests are defined through the development technique called
Acceptance Test Driven Development (ATDD). The misuse of the unit testing tools may have direct impact on the testing efficiency
and it may also “close the doors” for features specialized for automated functional tests.
Some results of this investigation have been prototyped in a tool called SpecRun, which aims to provide better automated functional
testing efficiency.
