Suite-based testing: a challenging job

Jun 05, 2012 by DanM

Developing rich test suites can be a challenging job even for an experienced tester because it can decide the quality of the software and the rate of its success. So in the following article I will present my opinion as a software tester about the importance of suite-based testing (also known as "manual scripted testing") and the process of developing test suites.

Suite-based testing: the What

Suite-based testing is a method of testing a software product by using a test suite, which comprises various test-cases and test-scenarios. The test-cases represent the basic testing units, defining the input and desired outputs, whereas the test-scenarios represent hypothetical stories which help identify possible issues regarding the functionality of the product.

The first attribute of a test-scenario is that it needs to be credible and to resemble real life situations. Also, it needs to be complex and at the same time to be easy to evaluate. The main difference between a test-scenario and a test-case is that the former represents a more complex test, whereas the latter is usually composed of simple, single steps. But this doesn't mean that the two methods can't complement each other.

Test suites: telling a good story

Test suites are a set of tests that are performed by the testing department when testing a product. Depending on the type of test suites, the testing team will know how much time they need to invest for testing certain areas of the software. It's very important to keep track of the time invested in testing, especially for a company that has more projects under development. Also, test suites can help the testing department to organize its work and to make sure that all projects are thoroughly tested and that the product timeline and the scheduled release dates are being complied with.

As I see it, test suites must be developed by a person who knows the project and the product very well and has a vast experience in the area. Test suites are one of the best organizational form of testing, providing valuable information about the loopholes in the project and saving valuable time. Through its credible nature this type of tests make sure that the software product reflects its specifications and that once it is released on the market it will meet the expectations of the final user.

For the tester, this testing method is a good way of understanding the product in more depth, and getting used to its detailed functionalities. It's important for the testing team to get familiar with the product that they are testing, to understand its functionalities, so that they can prevent future issues.

Writing a test suite is similar to telling a good story, so I stress the importance of being credible for the audience. The advantage of this testing method is that it brings to surface issues regarding the relationship between features, which is a very important aspect of the testing process.

Suite-based testing: making a good software great

A good suite-based testing is developed around more types of users and their behaviors, so the first thing before diving in is to establish who are the possible users of your product and what are their interests. After that, try to determine what are the requirements and the main challenges of working with that piece of software. It's important to take into consideration how a user can abuse the system. Also, don't neglect past experience and failures of the former system, if this is the case.

Of course, test suites should adapt to the specifications of each software product, but before starting this complex operation each feature should be tested separatel,y in isolation. Test suites should be used for underlying the complex relations between features and for getting a real life feedback on how the product will work when employed by an experienced user.

If used carefully and at the right time, this type of testing can prevent major bugs and can transform a good software into a great piece of software.