May, 2015

Do You Need Any Test Cases?

Published: 20.05.2015 | 3014

Writing test cases is currently quite popular as an obligatory instrument to ensure the project’s quality. In particular, it is used as a form of providing important information on the quality of the after-testing product. In addition, writing test cases is also popular as a separate service on various stages of project development, regardless of its size and complexity.

However, there is a reverse trend. Some companies don’t use test cases at all. Although they may have a full testing department, QA specialists do not create nor follow test cases. And it’s even worse if this documentation exists only formally, just to leave a false impression on the customer or boss. Moreover, newbie testers can’t figure out what do they need test cases for, how to write a case correctly and what should it contain.

So let’s puzzle out the meaning of test cases in project’s quality assurance, and learn how to get the most from using them!

Approach Essentials

Starting with a little theory, we have here two opposing testing approaches:

  • Test case execution
  • And

  • Exploratory testing

  • Don’t think that the results of exploratory testing will be strikingly different from the results of the test scenario approach, as they are nicely compatible with each other. Some teams even simultaneously use two approaches on the same project. Nevertheless, the difference between them is significant.

    Exploratory vs Test Case

    Exploratory Testing

    Exploratory testing is used when information about the project isn’t sufficient, or as a preparatory stage before the test scenarios creation.

    It includes the parallel development and execution of cases. This approach doesn’t involve clear structure or testing scenario, giving a lot of leeway to the quality assurance specialist. Due to that, the exploratory testing feels less objective than test case execution.

    Test Case Execution

    Before actual testing, cases are formally described in scenarios. This approach is more about standards, which makes evaluation of product’s test coverage easy as pie. All parts of the system are listed with the necessary test coverage that allows you to clearly identify the time spent on testing.

    Think less, do test case scenarios!

    If cases are written by test-designers, it mechanizes entire testing process, thereby minimizing the workings of the tester’s mind. Although, oftentimes the case scenarios formation is in the job scope of QA specialists.

    Side-by-Side Comparison

    Let’s start from pros, shall we?

    Testing Approach Pros

    Exploratory Testing Pros

    • It gives more leeway, and develops tester’s skills. It allows him to create some new techniques and testing strategies.
    • All the time spent is allocated for testing purposes only.
    • QA specialist explores and dives deep into the product.
    • There are no extra charges for test case actualization.

    Test Case Execution Pros

    • Fast and painless way for a newbie to join the project at any time. Moreover, formalization provides the opportunity to "remember" all what was done a month or a year ago.
    • Testing of the design documentation before the first build release.
    • A significant acceleration of the regression testing process.
    • Less experienced testers are able to use scenario testing.
    • It is easy to estimate test coverage.
    • Quality control of the product over time and testing history preservation.
    • A structured approach to testing reduces the probability of missing the error.
    • Running tests doesn’t require additional time to communicate with developers and analysts or requirements processing.

    Although, sugar is not the same without salt. So passing on to the weak spots.

    Testing Approach Cons

    Exploratory Testing Cons

    • The tester with brief experience may encounter some difficulties on the early stages of work; there is no clear idea about what and how to test.
    • Complexities in the evaluation of test coverage as well as time-consuming calculation.
    • It takes a lot of time to explore the product.

    Test Case Execution Cons

    • It mutes the quality specialist’s creativity and freedom in the actions.
    • The template checks in the scenarios get into the habit.
    • Constant template testing can be tedious.
    • Requires a lot of time to support test cases: updating, deletion, correction.

    Summing Up

    In this fashion, both of approaches have clear advantages and disadvantages. Obviously, we can see how exactly the test case execution wins this little competition. Nevertheless, it needs to be said that before your team decides to write test cases, it is necessary to evaluate the scope and complexity of the project, need to run the regression testing.

    If such an analysis was carried out, the implementation of test scenarios on the project will be as efficient as possible to ensure the quality of the product. However, if your business is built on a large amount of small mobile applications – stick with exploratory testing and checklists, because test cases will only clutter up your development process.