Testing tools facilitate automate repetitive tasks with the use of software in tests execution and comparing actual and predicted outcomes. Automated testing helps in increasing the effectiveness, efficiency and coverage of software testing. Regression testing ensures that system do tasks for all the positive conditions and generate desired outcome. Now question arises does automated testing should perform only for Happy Path or negative scenarios should also share some space.
There are two schools of thoughts. One suggests that writing specific scripts to test negative conditions should not include in automated testing unless requested. Since exception handling usually covers all the negative scenarios before regression and it can be tackle manually. Inclusion of only positive conditions helps in bring down TCO even with fairly efficient system.
Second school of thought strongly recommends inclusion of negative scenarios in test automation. Negative tests are valid to automate as it is vital to make certain that application handles negative conditions during regression testing similar to positive conditions. However, such scenarios must be added if there is a risk that the system is incapable of error handling under some conditions. Practically there is lot of factors like budget, resource, time, and licenses etc. associated with development, so it’s always better to comprise such negative test cases which may cause or bring in a disastrous collapse of the application.
Automated testing is a big investment, and as company by now invested in automated testing tools to reduced long term costs, so it’s always recommend to include all test cases (positive or negative) which are repetitive in nature to make process efficient. All benefits of automation like it can be run simultaneously on different machines thus decreasing testing time, helps performing “compatibility testing” – testing the software on different configurations (also see Compatibility Testing — An Indispensable element of Testing) etc. will be leverage using automation.
If company have ample budget, resources and if team possess good skill set than one must go for testing all positive and negative test cases but it’s a staggering task in itself considering real life challenges. There is only one reason to include negative test cases is to minimize probability of crashing an application which could happen if testers will miss errors/faults in application.
Get more details on our Compatibility Testing.