Negative testing is simply an approach in which the tester, while considering a software product as a “black box”, seeks the ways to make the product give wrong answers, or even terminate the execution process. Finding out from the designers what requirements should be met prior to launch of the program, a good testing specialist can define a set of test cases to see how the software product will behave in the event that one of these preconditions is not fulfilled. Considering the program from this unusual point of view, the tester attempts to run it:
- on platforms that are not intended to be used;
- in the absence of communication lines or when entering invalid input data;
- in the absence of data files, if there are no records in the databases or when data are arbitrarily rearranged in the data files;
- if invalid reference names are entered or if there are undefined, incorrect or missing configuration parameters;
- when peripherals such as printers, scanners, external CD-ROM drives or CD-RWs, external hard drives, external speakers, etc. are turned off.
Incorrect data entry also applies to negative testing. These incorrect data can come in the form of invalid data entered by the user, accidentally complemented with data of the send buffers, invalid values in index files, overflowed log files wherein the pointer is at the end of the file, etc.
Many people are sincerely grateful to providers of mobile application testing services for ensuring the desired quality of their programs. After these are carefully checked and necessary changes are made to them, no performance issues prevent them from working as expected. Your dream is nearer than you think – mobile app flawlessly working for all imaginable devices and platforms!
The sustainability of the program is its ability to withstand a negative test without failure. Naturally, there is a certain limit to the stability, however, software developers must be critical about the code and test it for both valid and invalid input data. They should provide a self-test for the presence of a minimum acceptable system configuration and its readiness to run the application. This self-test should be done at the beginning of the program execution, since the configuration might have undergone changes since the product was installed. It is not enough just to perform a self-test of the configuration while installing the application.