Hans Buwalda is an internationally recognized expert in test development and testing technology management and a pioneer of keyword-driven test automation. He was the first to present this approach, which is now widely used throughout the testing industry. Originally from The Netherlands, Hans now lives and works in California as CTO of LogiGear Corporation, directing the development of what has become the successful Action Based Testing™ methodology for test automation and its supporting TestArchitect™ toolset. Prior to joining LogiGear, Hans served as project director at CMG (now CGI) in the Netherlands. He is co-author of Integrated Test Design and Automation and a frequent speaker at international conferences.
Test design can contribute greatly to how manageable and maintainable your automation is. Hiding detailed steps in actions makes their automation easier to maintain, and the high-level actions can be leveraged to define less common tests. Here's how you can write tests as a sequence of actions to improve coverage.
Test automation is not necessarily a technical challenge. The real focus is on the structure and design of the tests and their automation, in particular for tests that need to run through the UI. As with software, tests can be designed from the top down or from the bottom up. Which is better for test automation?
Keywords have become a popular way of writing tests. Hans Buwalda used keywords to devise the Action Based Testing method in which tests are written as sequences of “actions” represented with keywords. However, keywords are just a physical representation of actions, and there are other ways to do this.
Artificial intelligence (AI) is propelling to the forefront once more. With the growing importance of AI comes the question: How do I test it? AI systems do not necessarily behave predictably. This means that traditional test cases of the form "do this, expect that" are not always sufficient.
Unit testing is a great way to verify software at an early stage and to ensure that modified functions are still working as specified. However, unit tests are not a magic wand. Rather than making such a big testing effort, consider taking "rain checks" for certain tests.
With the arrival of continuous integration/continuous delivery (CI/CD), the notion of continuous testing is taking center stage. Knowing that comprehensive tests are running smoothly can be of benefit for the CI/CD pipeline. Using the repetitive character of CI/CD for testing can be a way to address issues.
The key success factor for DevOps is the commitment from teams, managers, and other stakeholders. There should be agreement that tests and their automation can be important re-usable products, which need attention and cooperation to be able to support approaches like DevOps effectively.