Language menu for mobile

News

Constructing Test Cases That Don’t Suck (and How to Avoid Common Mistakes)

Software testing is a crucial component of the software development lifecycle. Without it, you could miss functionality issues or major usability flaws that end up frustrating your end users. But all test cases are not created equal. Writing high-quality, effective test cases is just as important as testing your applications. In fact, poor test cases can result in a testing process that’s little more effective than not testing at all.

So, what do poorly written test cases have in common? How can software testing professionals write quality test cases while avoiding common mistakes? To find out, we searched the web for the best advice for writing effective test cases and reached out to a panel of development pros and software testers and asked them to weigh-in on this question:

“What do poorly constructed test cases have in common (and how can developers avoid these mistakes)?”

  • Avaneesh Dubey
  • Wes Higbee
  • Bernard Perlas
  • Benjamin Waldher
  • Matt MacPherson
  • Manu Singh
  • Rick Rampton
  • Rachel Honoway
  • Anthony Breen
  • Devlin Fenton
  • Rohit Keserwani
  • Pete Van Horn
  • Hans Buwalda
  • Ulf Eriksson
  • Sanoj Swaminathan
  • TestLodge
  • Amandeep Singh
  • Kyle McMeekin
  • Software Testing Class
  • Akanksha Goyal

Find out what our pros had to say by reading their responses below.

Hans Buwalda
@Logigear


 At Stackify, we understand how crucial software testing is in the development lifecycle, so it’s a topic that we discuss regularly. Did you know that you can integrate APM into your testing strategy? Find out how here.
Hans Buwalda is the Chief Technology Officer for LogiGear. He leads LogiGear’s research and development of test automation solutions, and the delivery of advanced test automation consulting and engineering services.

“Test design can play a significant role in the success or failure of automation…”

A common spoiler for automation is a lack of focus in test cases. Tests should have a clear scope that should differentiate them from other tests. All steps and checks in the tests should then fit that scope. The scope of a test case should be very clear; otherwise, there is no knowing how detailed the tests steps should be and what checks should be performed.


A common practice in many projects is to have long sequences of detailed steps, each with one or more checks to verify their expected outcome. This makes tests hard to maintain. Navigation details and checks that do not contribute to the scope of the tests should be encapsulated in reusable high-level keywords or script functions. It will make tests more readable and easier to keep up to date. Testers, product owners, and developers can work together to obtain an optimal set of tests that can serve for long amounts of time with minimum efforts.

Recommended for you