Functional Test Tools: Adopted but not Used?
This poll was trying to determine if the software developers have automated tools to validate the behaviour of their software. The question was: do you use tools to automate execution of functional software tests?
Here are the answers:
|My organisation has no tool for functional software tests||37%||38%;|
|My organisation has tools, but my project or I do not use them||19%||26%|
|I use tools for functional tests||44%||36%|
Participants: 268 (147)
Ending date: August 2009 (August 2005)
There is an improvement of tool usage since 2005, but the results seem still to show an ambiguous situation to me: 63 % of companies have functional software tools, but 56% of participants don't use any tool for functional testing. In my personal experience as a developer in (non-agile) business software development organizations, the developers had to be able to understand functional requirements and to test them before their delivery to the user for acceptance testing.
Asking questions about this situation to members of the software development community, I discovered many causes for the non-usage of functional testing tools by developers. The first problem is the awareness problem of the testing activity. Testing is still often considered as something that you do before the deadline of a project.... if you have some time left. Functional testing is even at the end of the testing sequence from the developer side. Automation of this activity is also costly. Besides the price of the commercial tools that can be very expensive, you have also to set-up a production-like environment (software, data) to perform meaningful tests. But this doesn't completely get to the point, as all answering organizations were performing functional tests.
Every functional test tools has own language, so you cannot transfer easily the knowledge you have with one tool to another. It is difficult to maintain automated scripts of functional testing tools. If the application to test evolves too quickly, scripts become obsolete and are not used anymore. It is also mentions that tools are bought sometimes for specific project and may not be useful for other that are based on different software technologies.
However, a majority of the remarks about the difference between tools adoption and tools usage pointed out that the functional test marks in many organizations the division between the developer and tester responsibilities. Despite the fact that agile approaches aim at reducing work specialization with the developer discussing directly with the user, it seems that there is still an important number of organizations where QA specialists perform functional testing. This could be seen also a consequence of the specialization of the functional testing tools, but I don't think they are more difficult to learn than unit testing tools.