| Focus | Internal logic, code structure, and implementation details | External behavior, functionality, and user experience |
| Also Known As | Clear Box Testing, Glass Box Testing | Opaque Box Testing, Functional Testing |
| Testing Knowledge | Requires knowledge of the internal code and system architecture | Requires no knowledge of internal code or implementation details |
| Tester's Viewpoint | Tester has knowledge of the internal workings of the application | Tester has no knowledge of the internal workings of the application |
| Testing Level | Often associated with unit testing and integration testing | Applied at various testing levels, including system and acceptance testing |
| Test Case Design | Test cases are based on code structure and paths through the code | Test cases are designed based on functional specifications and requirements |
| Testing Techniques | Code walkthroughs, code reviews, static analysis | Equivalence partitioning, boundary value analysis, use case testing |
| Purpose | Uncover code errors, ensure code optimization and maintainability | Validate system functionality, find discrepancies between expected and actual behavior |
| Testing Types | Unit Testing, Integration Testing, Code Review | Functional Testing, System Testing, Acceptance Testing |
| Execution Tools | Static analysis tools, code review tools | Dynamic testing tools, test management tools |
| Documentation Focus | Source code, technical documentation | Requirements, test cases, user documentation |
| Knowledge of Code Flow | Requires understanding of the flow of code execution | No knowledge of how the code is implemented or executed |
| Programming Skills | Essential for testers to understand and modify code | Not required; testers focus on inputs and expected outputs |
| Testing Approach | Glass box approach, with knowledge of internal structures | Opaque box approach, with no knowledge of internal structures |
| Error Localization | Can pinpoint the location of defects within the code | Identifies defects at the input and output levels |
| Coverage Metrics | Provides detailed coverage metrics, such as code coverage | Coverage is based on functional requirements and test cases |
| Use in Security Testing | Valuable for security testing by examining potential vulnerabilities in the code | Identifies security issues at the functional and interface levels |
| Testing Independence | May require involvement of developers for code inspection and review | Independent testing without reliance on developers |
| Regression Testing | Easier to create automated regression tests based on code structure | May require frequent updates to test cases due to changes in functionality |
| Tool Dependency | Relies on specialized tools for static code analysis and code review | Can use a variety of testing tools without requiring knowledge of code |
No comments:
Post a Comment