Hans Buwalda

Testing Should be Fun

Welcome to my web site

STAREAST and Better Software Magazine

See me at STAREAST, a very nice conference which this year will be held April 15-20, 2012 in Orlando, Florida. I will do a tutorial there on how to deal with large and complex test automation projects, with the title "BIG Testing". A project can be considered "big" for various reasons. It may need many tests, it may involve complex technologies, or it may have have multiple versions that also have to run on various platforms or with various browsers. This class will present various points of view to deal with big projects, like method, tooling, team organization, out-sourcing, etc.

In the same conference I will also to do a presentation on "Test Design for Automation". In here I will discuss the viewpoint that automation success is not just a matter of clever programming. It matters how you organize and design your tests. For example letting functional tests also verify UI properties like whether a button is enabled will produce a messy and hard to maintain result, that will be unnecessarily sensitive to changes in the system under tests.

Also please take a look at the March/April 2011 issue of the Better Software magazine. In there you will find an overview article I wrote about Action Based Testing, in which the method is presented, and recommendations are given to make automation successful.

And did you know we regularly publish a magazine ourselves, edited by our Michael Hackett? It works with themed issues, without pitching products or services. So if you need to get a quick and useful understanding of a topic like exploratory testing or test methods and metrics, this is a good place to go.


Action Based Testing and TestArchitect

There is little doubt that testing and test automation are among the most challenging tasks in IT. I'm working in this field since 1994 and still learn something new almost every day. Creating tests can be complex, automating them brings issues of maintainability, and it can be challenging to have them ready when needed in agile development cycle ("just in time automation").

In my view the key to success is something I call test architecture. A test architecture consists of a good high level organization of tests into what I call test modules, and an agile keyword-driven automation framework. My solutions for these are the Action Based Testing method and the TestArchitect tool set that supports it.

A good test process in my view is all of these:
  • it must be effective, aggressive in finding also the hidden bugs
  • it must be efficient, keeping costs under control, but most of all not costing too much time
  • it must be manageable. Managing testing and test automation can even be more challenging than managing software development
  • it must be fun. Boring execution tasks should be done by automation, so the testers can focus on more creative and ambitious test scenarios
When do I feel that test automation is successful? I use, as a rule of thumb, the two "5% Rules Of Test Automation":
  • no more than 5% of test cases should be executed manually
  • no more than 5% of testing resources should be needed to achieve this
These rules are aggressive, but I think they're achievable, and they help put the focus back on testing, not on test execution or automation scripting.


Articles and Blogs

Over the years I have written quite a bit about testing and automation topics. Here is a selection. Let me know what you think, reactions welcome.

Management


Action Based Testing
Overview article of the Action Based Testing method in Better Software magazine

Key Success Factors for Keyword Driven Testing
What makes keyword testing successful

The 5% Challenges of Test Automation (PDF)
Uphill challenges and how to meet them

QA All Stars, Building your Dream Team (PDF)
A vision on creating a successful testing and test automation team

Agile Test Development with ABT
How can agile fit into testing

Action Based Testing: The Solution For Agile Test Automation
This was published in our Magazine. It applies ABT to agile projects

Testing and Test Automation in Agile Projects
Published in STP, summarizing the ABT approach for agile projects

Test Governance
How to organize and control testing in an organization

Business Test Policies
What are key policies around testing and software quality, and how to identify them

Testing Under Pressure
Relieving the "crunch zone"

Capitalizing Testware as an Asset
A view of the intrinsic value of tests for the bottom line, independent from the systems they are testing

Software Test Automation: Divide and Conquer
An ancient vision provides a valuable principle for automated testing

Centralize? Decentralize? Concentralize
Another take on the question of centralizing or decentralizing testing and test automation


Methods and practices


Soap Opera Testing
An alternative slightly off-beat, but potentially effective technique for test design

Action Figures
Model-based testing using keywords

Automation and Requirements
How do system requirements play into testing

Bonus Bugs
New bugs as side effect of system changes, and how to prevent them

Is Action Based Testing an Automation Technique?
As a keyword based approach, ABT is not necessarily a way of automating

Is Test Automation the Same as Programming Tests?
No, it is not

The Potential and Risks of Keyword Based Testing
Often hailed as panacea, this article introduces some reality into the technique that is quickly gaining ground

Are Use Cases Harmful For Test Automation?
Questions about the value of a common practice


Test design


Key Principles of Test Design
Introducing 3 "holy grails" to make testing more effective and achieve better automation

The First Holy Grail of Test Design
Effective breakdown of tests and manageable units, called "test modules"

The Second Holy Grail of Test Design
Selecting the right approach for each test module

The Third Holy Grail of Test Design
Specifying the test cases at the right level of abstraction

Jungle Testing
Expect the unexpected