8

I work in a big multinational company. There are too many testers in my company whose test cases (i.e. test steps) are unclear & are riddled with grammatical errors. Many of these testers are unfamiliar with basic concepts such as pre-conditions and post-conditions.

When I have to run their test cases, I have to spend extra time in trying to understand the intent of the test and then fix the test.

How can we ensure that testers mend their ways and produce good quality tests ? Is it okay to bring this to the attention of management ?

PS - I can understand many accents and broken English pretty well, but many of the errors i see in tests are too hard to comprehend, especially when there is a deadline.

  • Is the issue that the test cases will not run (due to errors), or that they test the wrong things? – John Gordon Jun 28 '17 at 4:26
  • @JohnGordon - These are test steps written in english, inside a test management tool. Some of these tests are automated. For the manual ones, its difficult to understand the test case because of the errors in usage of English. – JohnSink Jun 29 '17 at 18:38
  • 1
    I hate to say it, but I think your only realistic option is education. When you fix a test, inform the test author why it was deficient and what you did to improve it. Hopefully, this will allow them to improve their test writing skills. – John Gordon Jun 29 '17 at 18:53
  • 1
    If you need a shorter-term solution, keep track of the amount of time you're spending fixing tests, and report this to your manager. Then it's up to them to decide what to do. – John Gordon Jun 29 '17 at 18:55
  • @JohnGordon - Thanks. That is the hard part. The testers are scattered across different teams in different parts of the world. The test management tool does not allow collaboration. (You can leave a comment, but the comments area is ignored.) I don't know how the testers proficiency in English can be improved. – JohnSink Jun 29 '17 at 18:57
8

Some of the things you can do to prevent this situation from happening again:

  • establish test code style and guidelines throughout the company or in your particular project
  • code review the tests
  • configure code style linters on commit or before/after sending a pull request
  • regularly talk and discuss test coding practices with your QA team
  • organize workshops demonstrating how the established coding practices should be applied in practice
  • make a checklist of things to do when creating a test case (both manual or automated)

There are things you can do to ease understanding of these poorly documented tests (assuming tests are automated):

  • run a linter against the tests - you may reveal and fix high-level code style issues and typos. Advanced linters may even highlight DRY principle violations which may help to catch code blocks that may be extracted as "pre" or "post" conditions or tests that can be parameterized
  • run individual tests with enabled coverage to see the lines of actual code that were executed by these tests - this may help in understanding what a test is actually doing
  • making tests fail - this way you may potentially indicated low-quality tests that are either checking nothing or not what they supposed to check
  • mutation testing - this is a somewhat less known idea, but it's sole purpose is to control the quality of your tests
  • randomize test execution order - this may help in detecting the tests that are coupled, order-dependent

In case of manual tests, you may also provide a way to attach a screenshot to a test step/case/suite - sometimes a picture is more than a thousand words.

  • 3
    +1 As well as a linter I would add use a code quality measurement tool such as codecov, code climate, etc. to grade both application and test code. – Michael Durrant Jun 27 '17 at 18:11
  • 1
    @alexce: FYI, bold is easier to read than italic and makes for reader easier to see the important parts. Italic is almost invisible. – Peter M. Jun 27 '17 at 18:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.