Which of the following involves validating the positive and negative requirements of the software?
-
Functional Testing
-
Performance Testing
-
Environment Testing
-
Fault Injection
Functional Testing validates both what the software SHOULD do (positive requirements: valid inputs produce expected outputs) and what it should NOT do (negative requirements: invalid inputs are rejected, edge cases handled). Performance Testing (B) checks speed and scalability, not functional behavior. Environment Testing (C) verifies compatibility across platforms. Fault Injection (D) tests resilience, not functional correctness.
Functional testing verifies that the software behaves correctly against its specified requirements, which includes both positive test cases (valid inputs that should succeed) and negative test cases (invalid inputs that should be properly rejected or handled). Performance and environment testing focus on speed/load and configuration compatibility respectively, not requirement correctness.