DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
  1. DZone
  2. Testing, Deployment, and Maintenance
  3. Testing, Tools, and Frameworks
  4. 6 Questions That Define Test Automation Success

6 Questions That Define Test Automation Success

Set your test for success!

Jasmine Chokshi user avatar by
Jasmine Chokshi
·
Jan. 29, 19 · Presentation
Like (2)
Save
Tweet
Share
4.41K Views

Join the DZone community and get the full member experience.

Join For Free

What makes test automation successful? If you are driving the automated testing initiative at your organization, what exactly do you want from this?

To decide whether your test automation is successful or not, you must first set your objectives. Every company, project, and team is different and at various stages of maturity in their DevOps journey.

What do you want automation to achieve for you? Take a look at some of these questions and you will be able to determine your test automation criteria:

How Frequently Are Your Tests Run?

The idea behind automating tests is to get frequent test runs, often by default, so that you get the maximum benefit out of your efforts. If you haven’t set up your tests to run automatically with code changes, your automation will become stagnant.

If you make it a practice to run automation frequently, you will find the more troublesome aspects easily.

By testing both automation and systems with scheduled runs, you can actually implement continuous integration and delivery.

What Is Your Manual Dependency on Test Automation?

If you have to set up an elaborate manual process for test automation, you haven’t set it up correctly. Automation is — by definition — self-dependent. Ideally, you shouldn’t devote many resources to this.

How much is your manual effort for automation? What steps do you need to take before you can view reports for coverage, execution, and other key details about the environment? Is there an elaborate process required before you run the tests?

If you seem to be spending a lot of effort manually on automating the process, you are not doing it right.

Do You Execute a Proof of Concept (POC)?

One great way for getting it right is to implement a POC. It can provide far more information to you than the evaluation data, as long as your goals are clear.

Phrase the main criteria as the key question. For instance, can we create unit tests for in-tool custom scripts?

Can I replace my GUI client tool with Java abstraction layers and HTTP library?

You need to identify all the secondary goals as well as set the expectations and exceptions to this. Keeping POCs simple but answering the key, high-level questions will guide you better. Keep shorter time frames for POC.

Can You Trust Re-Runs?

Often, when the test cases fail once, they are re-run and will pass eventually. In this scenario, what do you value? The first result or the second?

What’s the acceptance percentage for success in a rerun? Is a 70 percent success rate on reruns better than 65 percent? Unfortunately, tests that sometimes fail are always not unreliable.

So, tests that show unexpected results even a fraction of the time are still untrustworthy. If you don’t know what caused that rogue result, then you can’t justify accepting the rerun success.

Can You Execute Tests in Parallel to Your Code?

Test-driven development, behavior-driven development, and acceptance test-driven development are now fairly common practices. To be truly DevOps, you need to sync up your efforts, and you need to execute test automation in parallel with test code.

There are many reasons why teams don’t go for parallel test execution. Sometimes, your framework doesn’t support it, tests need to be sequential because they are not atomic, or they need hard-coded values. By using a data-driven testing approach that avoids hard coding values, you can increase maintainability of your tests and makes concurrent testing easy.

Design your automated test cases with parallelization in mind to avoid these hiccups.

What Parameters Have You Decided for Tool/Framework Selection?

Tool and/or framework selection for automating your application is a critical success factor and varies for different types of applications under test. For instance, software/apps that interact with hardware/IoT devices cannot be automated through cloud service providers or normal record and playback tools whereas a basic web application can be easily automated using free and open-source tools as well.

The reason tool selection becomes more important is when application eventually grows, your tool should not stop you from automating because rewriting automation can be proved very costly.

Finally, automation efforts are, by themselves, as important and demanding as building commercially viable products. They deserve enough thought and assessment. Measuring everything you do and using the right metrics will help you navigate the course of automation correctly.

unit test Test automation

Published at DZone with permission of Jasmine Chokshi. See the original article here.

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • The Top 3 Challenges Facing Engineering Leaders Today—And How to Overcome Them
  • Why It Is Important To Have an Ownership as a DevOps Engineer
  • Distributed Stateful Edge Platforms
  • Best Practices for Writing Clean and Maintainable Code

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends: