Overcoming Barriers to Automated Testing
Organizations are always on the lookout for more efficient ways to deliver their products to market, but sometimes one of the chief obstacles comes from within: the dislike of change. And this is no different in the field of software development, where recent years have ushered in a change from the practice of manual testing to an increasingly sophisticated collection of automated testing processes.
Much has been written about the technologies, but far less attention is given over to addressing the thoughts and concerns of the individuals tasked with operating them. This oversight doesn’t help any attempts at moving to a more nimble process like Continuous Testing or Automated Testing, or changing the way we design and manage requirements from more traditional, mostly manual text-based approaches onto the more visual approach using flowcharts and models to better manage and communicate business requirements.
Do Flows/Models Help or Deter Automated Testing?
Done right, model-based testing can help organizations in their journey toward automated testing, as the approach allows creation of models out of business requirements – the transition from the requirements gathering phase to a model that looks like an active flowchart allows test cases to be automatically generated, removing the need to write the routines “longhand.” Model-based testing also allows for the correct number and type of tests to occur, cutting down on the overall time, effort, and cost. Hurdles like ambiguous requirements, poor test case design, limited coverage, waiting for test data, and unavailability of system components are reduced or even eliminated.
It would be natural to expect that such innovations would be welcomed by everyone involved – by testers and developers, for example – but this is not always the case. For a start, these two distinct groups of professionals have procedures, including testing tools and coding environments that they are reluctant to leave behind.
Manual testing has a pacing and structure that may be more reflective of an existing “contentment level” within a company or department. It’s a system that appears to work, despite its flaws. Conversely, when innovative technologies such as automated testing solutions are introduced, the entire tradition of writing scripts and code, and of testing and design must pass through a new prism. This oftentimes requires retraining and changes in procedure.
The human elements at work here may lead to push-back. Changing the approach from manual to automated testing could be perceived as potentially disruptive. At times, it is greeted by people with the reaction, “what will I lose in this process,” rather than what will I gain?
How to Introduce Change in Mindset Successfully
There is a classic procedure in the world of change management that applies in all types of situations, and moving to automated testing is no exception, since the root cause of resistance is a fear of the unknown.
Step 1: Dissolve contentment with vision. Contentment refers to a comfort level with the status quo. To introduce a new technology “cold” would lead to immediate rejection. What works better is an introduction to the vision, as in: “how can test automation benefit us overall?”. Painting a vision of the outcomes such as: positive impact on competitive advantage, quality and speed, customers experience, or even creating a more stimulating, less boring workload – would be a plus.
Step 2: Counter denial with data. People could reject a proposed change. The rejection is rooted in fear, and fear is an emotion. Emotion must be balanced out with facts and data. Delivering specific facts about how well the new testing software will produce results, will build support.
Step 3: Feed their confusion a solid plan. Once people start to hear the hard facts and benefits of the change, they will need strong leadership to guide them as they fall into a state of confusion. This demands strong leadership paired with a realistic implementation/project plan.
Step 4: Use their sense of renewal as leverage to put new best practices in place. Most people will eventually come around to accept and embrace change, especially when they have been actively involved in the transition at every step. People accept change more enthusiastically when they become part of the process rather than when it is pushed upon them. So involve them!
There will always be benefits and drawbacks to both manual and automated testing, but the reality is that test automation wins out in terms of efficiency, speed, and net benefits. Testers and developers, like all other human beings, may need some assistance in accepting this, and it becomes an essential component of the deployment plan to ensure they receive the change sequence in the right order.
CA offers comprehensive solutions that automates the most difficult testing activities – from requirements engineering through test design automation and optimization. Start your Free Trial of CA Agile Requirements Designer today and fast track your testing at the speed of agile.
Gedeon Hombrebueno has extensive product marketing and product management experience for enterprise solutions across DevOps, IT Security, and Systems Management. Currently, Gedeon focuses on bringing to market CA’s Continuous Delivery and Testing solutions.