Bloggo back to the blog
G(r)ood Testing Volume 6 – Test Automation is an Industry Practice-->
This month I’ll be speaking on the Test Automation Day for the 3rd time. The TA Day is a unique conference since it is has a specialized Topic. A topic that is relevant: Test Automation is becoming an industry practice. This column explains why testers should anticipate to an involvement with automated and tool aided testing.
Economics determine how organizations operate and how much money they spent on IT. Organizations need to invest in order to meet laws and regulations that are imposed on them. They also need to expand their services and align with technological developments. Systems are becoming more complex and the number of interfaces increases. Additionally, the rise of the BRIC countries, with their large supply of cheap IT professionals puts a pressure on our rates, and investment have a short ROI. The changes that the business wants, lead to lot of work for the IT departments, but work needs to be done fast and cheap. Expensive professionals that are manually executing regression tests for several consecutive weeks do not fit into this picture.
The systems we develop are changing. There is an increasing differentiation in devices, OS-versions and browsers. This means that we have to repeat our tests for different configurations. Better not do this manually. Mobile devices are often tested using a docking station that embeds ten or more devices. The scripts are automated. Location -dependent functions are also often tested in a laboratory by means of simulators. Virtualization makes it possible to imitate the entireback office, resulting in a complete test harness that supports the automatic tests. Compared with years ago we need to do rely more on technical solutions, but luckily they are have become more mature and commercially available.
Software is constantly changing. Agile has now reached a critical mass and the number of organizations that choose SCRUM is still increasing rapidly. This has implications for how we test. Within SCRUM projects we test more often than within traditional waterfall projects. Repeating manual tests is annoying and does not fit into the time frame of the sprint. Automation is a logical step. Some teams take it further, and strive for an executable design. Behavior Driven Development, for example, bridges the gap between specification and test design. With Model-Based Testing the model is used to generate tests automatically. All these approaches lead to automated tests.
Continuous Delivery aims to release code several times a day. In this scenario, it’s unacceptable when a small group of testers block the migration to production, because they have not finished their tests. With continuous delivery test execution needs to be fast and needs to be integrated in the automated build and deploymentprocess.
In addition there is a shift to testing in production. Because of their predictability automated tests are hereby safer than manual ones. Data mining is used to analyze the real-life behavior of the supply chain. Large quantities of data are collected, since the more data you collect the more accurate your results. Large datasets are unfortunately impossible to analyze by hand, therefore tools are used to do the analysis for us.
I believe that until recently we testers took great satisfaction and pride in drafting decision tables and designing large Excel spreadsheets. On the other side of the spectrum, we have model based testing (MBT). Rather than design the tests by hand, a model is used to derive tests in a fraction of the time. But even when we do not use MBT there are plenty of tools available on the market that can derive tests for us. Manual Test design is therefore hard to justify to cost critical managers.
I do not aim to state that automatic testing can replace manual testing completely. Manual testing is another ball game than running automatic checks, but everything indicates that tool aided testing is on the rise. I have notices that current generation of testers is often reluctant to automation, whereas the new generation of testers perceives automation as a standard practice. They will thus contribute to agreater adoption of automated testing. Even testers that are trying to stayaway from technical testing will sooner or later be confronted with tooling and test automation. It’s inevitable, so better be prepared.