Fault Injection Testing:
Faults or errors are induced in the application and existing tests are executed to capture the induced errors. If the errors are caught, the test cases are good enough and robust, else additional test cases are written to capture the same. This type of testing is very important when it comes to zero-tolerance applications like healthcare, defense, aerospace, finance or any other critical software.
Forward Compatibility Testing:
This is done to check if the software works as expected when it is downgraded from a higher version to a lower version. This is to provide an option for user to allow downgrading the software to a lower version and use if not comfortable using the higher version or experience any issue with the upgraded higher
version. See Backward Compatibility Testing also.
See Black Box Testing also.
Testing the features and operational behavior of a product to ensure they correspond to its specifications (Design Document, Use Cases, Functional Specifications and Requirements Documents).
Testing that ignores the internal mechanism of a system or component and focuses solely on the outputs generated in response to selected inputs and execution conditions.
This is a type of black box testing that is based on the specifications of the software that is to be tested. The application is tested by providing input and then the results are examined that need to conform to the functionality it was intended for. Functional Testing of the software is conducted on a complete, integrated system to evaluate the system’s compliance with its specified requirements.
There are five steps that are involved when testing an application for functionality.
|I||The determination of the functionality that the intended application is meant to perform.|
|II||The creation of test data based on the specifications of the application.|
|III||The output based on the test data and the specifications of the application.|
|IV||The writing of Test Scenarios and the execution of test cases.|
|V||The comparison of actual and expected results based on the executed test cases.|
An effective testing practice will see the above steps applied to the testing policies of every organization and hence it will make sure that the organization maintains the strictest of standards when it comes to software quality.
This involves testing with random inputs and the software is monitored for failures and error messages that are thrown due to the erroneous inputs.