QA Testing

Functional testing can touch on various types of testing; in reality, there are only a few types of testing normally conducted in the industry unless you’re in a “special category.” The tools are just an example of what’s out there. They are not my recommended tools. In my Automation and Performance section, I will compare the tools based on my experience.

Types of Software Testing Processes:

  • Unit Testing
  • Integration Testing ” In the SAP world they will call it as SIT”
  • System Testing
  • Acceptance Testing
  • Security Testing
  • Usability Testing
  • Compatibility Testing
  • Regression Testing
  • Smoke Testing
  • Exploratory Testing

Unit Testing

  • Description: Focuses on individual components or units of code to ensure they work correctly in isolation.
  • Tools: JUnit, NUnit, TestNG.

Integration Testing

  • Description: Tests the integration or interfaces between components, interactions to different parts of the system such as an operating system, file system, and hardware or interfaces between systems.
  • Tools: Citrus, Rational Integration Tester.

System Testing

  • Description: A complete test of the entire system before it goes live to check if it meets the specified requirements.
  • Tools: Selenium, QTP.

Acceptance Testing

  • Description: Also known as User Acceptance Testing (UAT), this tests if the system is acceptable to the user and meets their business needs.
  • Tools: Cucumber, Watir.

Security Testing

  • Description: Identifies threats and vulnerabilities in the software to ensure data and resources are protected.
  • Tools: OWASP ZAP, Fortify.

Usability Testing

  • Description: Ensures that the software is user-friendly, intuitive, and accessible to end-users.
  • Tools: UserTesting, Lookback.

Compatibility Testing

  • Description: Checks if the software is compatible with different browsers, database versions, other software, operating systems, and mobile devices.
  • Tools: BrowserStack, CrossBrowserTesting.

Regression Testing

  • Description: Ensures that new code changes don’t adversely affect the existing functionality of the software.
  • Tools: Selenium, TestComplete.

Smoke Testing

  • Description: A preliminary test to check the basic functioning of the software before it goes into deeper testing.
  • Tools: Postman (for API), QTP.

Exploratory Testing

  • Description: An approach to testing where testers explore the software to identify defects or bugs without predefined test cases.
  • Tools: Rapid Reporter, Session Tester.