Non-Functional Testing

After successful completion of functional testing, testing team concentrate on non-functional/structural testing to validate characteristics or attributes of software under test like usability (easy to use), compatibility (running on various platforms/operating systems), performance (speed), security etc.

(a) Usability Testing: During this kind of testing, testers validate software under test screens in some factors like look and feel, ease of use, short navigation etc.

(b) Compatibility Testing: This testing is also called as portability testing. In this testing, the testing team validate software under test to configure  that it runs on various platforms or not. Here platform means operating system, browsers and other system software.

(c) Configuration Testing/ Hardware Compatibility Testing: During this test, testing team validate software under test to confirm that whether it supports different technology hardware or not. for example printers, fax , networks etc.

(d) Inter system testing: In this , the testing team validate software under test to confirm whether it shares the resources of another software or not.

Interoperatibility
Inter system Testing
the above system is also known as 'End to End Testing' or web services testing or service oriented application testing

(e) Data Volume Testing: During this test, testing team calculate the capacity of database in software under testing. This testing is also called as capacity testing or memory testing. In this testing, testers insert sample data to database of software under test until database violation error (with respect to database overflow) occurs.

memory testing
Data Volume Testing

(e) Performance Testing

(f) Multilanguity Testing or Foreign Language Testing

(g) Competitive testing, comparison testing, parallel testing

(h) Compliance Testing