A Context-Driven Approach to Automation in Testing

A Context-Driven Approach to Automation in Testing 23 Jan,2017

Outline: “To help ourselves test better, Context-Driven testers use tools. But, there is no such thing as Automation”

While reading the James Bach’s blog, I found an interesting view about “Automation” in testing from Michael Bolton and James Bach.


The governing view of test automation can be summarized as “automate testing by automating the user.” We see at least three big problems here that belittle testing:

1. The word “Automation” is deceptive. We cannot automate users. We can only automate some of the actions they perform, but users do so much more than that.

2. Output checking can be automated but testers can do much more than that.

3. Automated output checking is fascinating but tools do so much more than that.

Testing is a part of the critical and creative work that happens in the design studio but “automation” inspires people to think of mechanized assembly-line work done on the factory floor. The term test automation is also unclear.

Firstly, test automation is not human at all. Since you don’t pay the computer, it is incredibly inexpensive and fast too. Secondly, test automation is a skillful activity executed by humans who write and operate software over hours, days or weeks and those people must be paid for their time.

We say that testing is about assessing a product by learning about it through experimentation and exploration which comprises of inference, questioning, observation, modeling and study etc. to some degree. We pick our words carefully. Testing is certainly a human process. Only humans can learn. Only humans can decide value.

Value is a social judgement and different people assess things differently. Technologists may believe that they can automate the assessment of requirements by encoding them into a script, but the assessment is incomplete and temporary until it has been reviewed by a human. There are situations where a manager says that a bug has been reported by a tool while this is not a problem in this case.


# Difference between Checking and Testing:

We find it essential to differentiate between checking and testing. Checking is the process of making assessments by putting on algorithmic decision rules to specific interpretations of a product. This is different from the rest of testing in one vigorous way: it can be completely automated.

# Checking is a suitable place to use the word Automation

In testing, we perform and design experiments that help us improve our understanding of the product’s status.

This understanding is an explanation and not a fact. Quality is a working hypothesis. When you exercise software and fail to spot a specific problem, you have not proven or demonstrated that it works. We only know that a failure has not been recognized yet and we only demonstrate that the product can work. The product may have failed in a delicate way you did not or cannot yet detect, maybe it works fine now but won’t work ten minutes from now. So does it actually, truthfully, totally work?

No output check can tell you that. No collection of output checks can tell you that.

# Automating actions is a method. It should not be a sacrament.

We reject sacraments in the Context-Driven world. We hold problem-solving. But this approach is only valid if problem-solving matters. Frequently, automation is followed as an unquestioned good stuff that astonishes people even when it achieves little. If your testing doesn’t really matter, except as a display for public relations purposes, then maybe sacraments are acceptable— but that cannot be so if your intent is to find main bugs before it is too late. To fulfill that mission, you must develop an appreciation of the full spectrum of tools and their applications to your work. Context-Driven testers smear tools in powerful ways to get testing done.

suraj singh Suraj Singh works as Automation Test Engineer at BugRaptors. He is responsible for Automation testing on Web and Mobile application. He has working knowledge in Selenium Web driver(Web application), Appium(Android and iOS), Microsoft SQL Server and HP QTP (Web and window application).

Leave a Reply

Your email address will not be published. Required fields are marked *

Name field is required !

Related Posts

How Artificial Intelligence(AI) Will Change Software Testing...
A Context-Driven Approach to Automation in Testing

Software testing is an important phase in making the product reliable and satisfactory for the customers. Since customers, satisfaction is the main fo...

Read More
Cucumber: Best BDD Tool For Automation
A Context-Driven Approach to Automation in Testing

Based on Behavior Driven Development (BDD) framework, Cucumber is an automation tool which is used to write tests for a web application. Using cucumbe...

Read More
Automated Testing & Test Automation: The Differences
A Context-Driven Approach to Automation in Testing

All the non-IT people may think that these two terms: Automated Testing & Test Automation, are the same thing. It’s just the words are put in a ...

Read More
RPA- The Need Of Near Future Hour In Testing World
A Context-Driven Approach to Automation in Testing

RPA is defined as …   It’s true, there is competition everywhere these days and by that, I mean in, really every field we can imagine. In t...

Read More

Popular Blogs

Exploratory Testing: An Important Technique to Enhance Your Software Quality
Exploratory Testing: An Important Technique to Enhance Your Software Quality Read More
IoT Testing: An In-Depth Guide On Why It Is Necessary
IoT Testing: An In-Depth Guide On Why It Is Necessary Read More
Why Your Business Need A QA Plan?
Why Your Business Need A QA Plan? Read More
Software Testing Life Cycle (STLC)
Software Testing Life Cycle (STLC) Read More
Web Test Automation Framework: Challenges and Benefits
Web Test Automation Framework: Challenges and Benefits Read More


Do you want to automate your web application?
contact us