Quantcast
Channel: Grid-Tools » Test Automation
Viewing all articles
Browse latest Browse all 4

The Irony of Testing

0
0

The irony of testing – if you’ve designed good systems in the past, you won’t have the data you need to build a good one in the future

Software testing, in its broadest definition, boils down to two over-lapping processes. First, validation makes sure that a system will only accept valid data, and will not let any “missing” or invalid data pass, nor reject any valid data. Second, the processes which process the data need to be tested, to make sure that when valid data is fed in, the actual results produced correspond to the expected results. This blog will focus on the validation of data.

In order to fully test a new system’s ability to reject invalid data, testers require enough “bad” data, of sufficient variety, to pump through the application. The irony is, if the existing systems have been well designed and fully tested, such data is not going to be available among the copies of production data usually provisioned to test teams. This is because production data is sanitized to exclude invalid data: if a system has been well build, it will reject bad data, which will therefore not be stored.

Instead, the production data available to testers will only contain “business as usual” scenarios which have occurred in the past. It will focus almost exclusively on the “happy paths” through a system, and so will not include the outliers, boundary conditions and unexpected results which might cause a system to collapse. In fact, our data audits have found that production data typically covers just 10-20% of the tests which need to be executed.

If testers and developers have built high quality systems with solid validation rules in the past, the only way to fully test a new system is to create the “bad data” which would have been rejected. Manual data creation is simply too slow and error-prone to create the data required to cover every possible combination of inputs, as even a relatively simple system is likely to have millions of possible paths through it. Such data can therefore only really be created systematically and automatically, using a data generation engine.

What’s more, if the validation rules have been accurately defined, a model of every possible combination of data can be used to generate the data needed to execute 100% of possible tests. This allows testers to completely test a system’s ability to validate data, making sure it does not collapse when “bad data” is inputted.

The post The Irony of Testing appeared first on Grid-Tools.


Viewing all articles
Browse latest Browse all 4

Latest Images

Trending Articles





Latest Images