Posted by IN / 4 responses

7 Ways to Better Test Automation

11 November 2016

7 Ways to Better Test Automation

Better Test Automation1) Test it

By a wide margin, testers produce the most defect-prone code I see.

Make sure to test your test code. Shouldn’t test code be the best code? It’s responsible for alerting us to whether other code is correct, so it must be consistent and robust.

2) Write test automation for intent

I ask my clients “what are you trying to achieve with this automation?” Many times the reasons for automated testing aren’t discussed or vetted with peers or managers. I’m not saying people need to discuss every line of code. And certainly, there are people who can handle discretion as to what they automate. But, often the intention of what we’re doing gets lost in the details of implementation.

Know the “why” of your automation. Many times, when we’re pushed to describe why we’re doing something solutions get easier and better.

Describe your intentions. Write test code that executes your intention.

3) Broaden your user base

Once your test code works consistently, get more users. One of the biggest multipliers in automation is its ability to be used more than once with no additional effort. The next multiplier is when more people use it.

Can a developer use your automation to troubleshoot or debug a defect? Do stakeholders run or watch your tests to see if their requests are fulfilled? Can your automation run on different machines to show you what works on one system and not another?

If others aren’t using your automation, get their feedback, learn why.

4) Do something tedious with ease

If you can easily automate a task that for a human is tedious, do it. Many times elimination of mistakes humans would otherwise make is worth the effort. Sometimes this is in the form of tests that are tedious, sometimes it is code near or around automated tests (think deployment, orchestration, preparation steps, or implementing regulatory requirements).

5) Easily automate something that takes a long time to do manually

As far as automated tests go, this is perhaps the most obvious. But there are many processes we do that could be automated aside from just tests.

Once you get proficient with your testing tools and build out some code, you may start to see where it gets easier to do certain types of tests or automation. When that’s the case, use it to replace long tasks & tests. Save people time and energy with your automation – especially when it’s easy to create.

6) Help the team understand the SUT

Often we focus on validating that a product works as intended. But many times our test automation helps us understand what the SUT is doing. Use that. Know when the SUT changes. Know what changed because you automation reports to you succinctly and clearly.

7) Learn the craft of coding

Most good automated testing requires coding. If you’re coding test cases, learn the craft of coding. People spend years honing the craft. Figure out who those people are and learn from them – pairing, reading their books, listening to them on podcasts, talking with them – learn the craft of coding.

Do projects on your own time. Create applications outside of work, that will teach you the other side of software development (construction) as well as how to write better code when you automate. It doesn’t matter if the project is viable or a good idea. It matters that you do it and you learn from it.

 

Image credit to Hannah Wei, used with permission from unsplash.com.

About the Author

Paul Merrill

Paul Merrill is Principal Software Engineer in Test and Founder of Beaufort Fairmont Automated Testing Services. Paul works with clients every day to accelerate testing, reduce risk, and to increase the efficacy of testing processes. You’re Agile, but is your Testing Agile? An entrepreneur, tester, and software engineer, Paul has a unique perspective on launching and maintaining quality products. He also hosts Reflection as a Service, a podcast about software development and entrepreneurship. Follow Paul on Twitter @dpaulmerrill.

4 responses to 7 Ways to Better Test Automation

  • srinath says on November 17, 2016 at 6:58 am

    nice information

    Reply
  • Suresh kumar says on November 19, 2016 at 6:11 am

    Good write up.
    Triggers thinking

    Reply

Leave a Reply

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