Types of Software Testing

2 min read
๐งช Types of Software Testing โ Categorized by Aspects
โ By Execution Approach
๐น Manual Testing
- Testing performed manually without automation tools.
- Testers execute test cases, observe behavior, and report bugs.
- Best suited for exploratory, usability, and ad-hoc testing.
๐น Automation Testing
- Testing done using tools/scripts (e.g., Selenium, TestNG).
- Ideal for repetitive and regression tests.
- Saves time in the long run but requires initial scripting effort.
๐งฑ By Visibility (Code Access)
๐น Black Box Testing
- No access to source code.
- Focus is on input-output behavior of the application.
- Example: Validating login functionality via UI.
๐น White Box Testing
- Full access to internal code logic.
- Performed mostly by developers (e.g., unit testing).
- Example: Validating loops and code paths.
๐น Gray Box Testing
- Partial knowledge of the codebase.
- Combines black box and white box approaches.
- Example: Testing UI with knowledge of database schema.
๐ฏ By Objective
๐น Functional Testing
- Ensures features work as per business requirements.
- Includes unit, integration, system, smoke, sanity, and UAT testing.
๐น Non-Functional Testing
- Evaluates performance, usability, security, and reliability.
- Examples: Load Testing, Security Testing, Compatibility Testing.
โฑ๏ธ By Timing / Stage
๐น Alpha Testing
- Done by internal teams before release.
- Simulates real usage in a controlled environment.
๐น Beta Testing
- Performed by actual users in real environments.
- Helps uncover issues before official release.
๐น User Acceptance Testing (UAT)
- Conducted by clients/business users.
- Validates the system meets business needs and is ready for production.
๐ฆ By Scope
๐น Static Testing
- Testing without executing code.
- Involves document reviews, walkthroughs, and inspections.
๐น Dynamic Testing
- Testing with code execution.
- Validates actual system behavior and logic.
๐ง Other Types
๐น Exploratory Testing
- No predefined test cases.
- Tester learns and tests simultaneously.
- Great for early-stage or unstructured testing.
๐น Ad-hoc Testing
- Informal, unplanned testing.
- Relies on tester's experience and intuition.
๐น End-to-End (E2E) Testing
- Validates complete user workflows from start to finish.
- Example: Login โ Add to Cart โ Checkout โ Payment โ Logout.
โ This structured categorization helps in understanding the breadth of testing types used across various stages and scopes in software development.
0
Subscribe to my newsletter
Read articles from Pratik J directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Pratik J
Pratik J
#pratiks-desk | I'm Pratik Joshi a B.Tech graduate in Computer Science and Engineering.