For agile testing, the more testers know, the better. With more relevant information and knowledge, agile testers can be sensitive to potential issues and therefore be able to provide more efficient feedback on an agile project.
Although implicit, most agile testers serve to bridge the product team’s expectation and actual development work. In this sense, agile testers play a critical role, especially when they possess valuable knowledge and skills to understand developers and product owners from different points of view. But to do this requires skills that are not common to many ‘traditional’ testers. What do these ‘agile testing’ skills include?
Agile Testing – Necessary Skills
|Database||Most software can’t be built without a database. If testers understand databases or have relevant experience, they can implement some check-points and know what to look for when developers mention a parameter’s data type change from integer to float, for example. Testers with database experience can also apply equivalence partitioning in a more efficient way. Additionally, testers will be more aware of the intended behavior of the software or what the impact is when developer says a ‘GO’ is missing in a given script.|
|Build process or version control||Some software is maintained in a few different versions at the same time, and on different operating systems. If tester understands the build and version control process and workflow, they will know what to test on what build and conduct testing using the correct environment. In addition, testers need to observe issues in software across versions and builds and develop a deeper insight into the issues that occur.|
|Programing language||If tester has some basic knowledge/experience in programing, and especially the language that the software is built with, then they have a greater ability to uncover issues at first glance at a deeper level. This is the quick feedback that agile projects are looking for. Also, it is easier to figure out the mystery of those non-reproducible issues, and narrow down the problem.|
|Test tool knowledge||Automated testing is a key to an agile project and relevant automation tool knowledge and skills are necessary. Other test tools, such as Windows Problem Steps Recorder, Firebugs, etc. can help testers to save time from repetitive or cumbersome steps, do investigation, etc.|
|Unix command language||Understanding Unix commands can help testers to develop a sense of the software and system behavior, and better understand how the operating system interacts with user input. With this knowledge, testers can identify invalid issues or contribute a more friendly and doable solution for software product or service.|
|XML||For automated testing, testers should understand XML, which is mechanism to isolate logic or process from data. This is used in many automation frameworks and schemes. If a tester understands how XML can be used and implemented in a software system, they can understand the system’s behavior better and design automation tests in a data driven fashion. Examples could include configuration files in XML for software initiation, data in XML between 2 communicating websites, software localization, etc.|
Developers often communicate using programing or coding terminology. Testers in an agile testing environment need to understand them and the information they convey. The skills mentioned here will help testers understand, communicate and work with developers, so that testers can allocate and target testing efforts appropriately with the goal of revealing issues in the most effective and efficient manner.