After completion of software Integration and integration testing, the development team is releasing a software build to Test engineer team.

The testing team is conducting system testing on that software in two sub levels such as

  1. Functional Testing
  2. Non-Functional Testing

Functional testing is concentrating on customer requirements and the Non-Functional testing is concentrating on customer expectations.

Functional Testing: It’s a mandatory testing level, during this test the testing team is validating a software build functionality in terms of below factors with respect to customer requirements.

  1. Behavioral / GUI: The changes in properties of Objects OR controls in a software is called behavioral or GUI.
  2. Input Domain: Whether the objects are taking correct type and size of inputs or not?
  3. Error Handling: Whether our software is preventing wrong operations or not?
  4. Manipulations: Whether our software is generating correct output or not?
  5. Database Validity: Whether our software front end screens operations are correctly impacting on database of the software or not?
  6. Sanitation: Finding extra operations in a software with respect to customer requirements.

The above factors checking on a software is called as functional testing. During this checking the testers are using black box testing techniques or closed box testing techniques.

Non-Functional Testing: After completion of functional testing successfully, the testing team is concentrating on non-functional testing. During non-functional testing, the testing team is concentrating on customer expectations or software characteristics.

This non-functional testing is classified into below sub testing topics.

  1. Usability Testing (UI Check)
  2. Manual Check (Help documents testing)
  3. Compatibility Testing OR Portability Testing
  4. Configuration Testing
  5. Inter system Testing
  6. Multi languity Testing
  7. Data volume Testing
  8. Installation Testing
  9. Performance Testing
  10. Load testing
  11. Stress testing
  12. Endurance Testing
  13. Security Testing
  14. Parallel Testing
  15. User Acceptance Testing (UAT)
  16. Software Release and Release Testing