Requirements-based testing

Ensuring compliance, one requirement at a time

Ensuring compliance, one requirement at a time means verifying every specification carefully, validating functionality against expectations, reducing risks, and guaranteeing the final product meets standards, delivers quality, and satisfies user and business needs consistently.

Functional Testing Techniques

1. Positive Testing

Tests with valid inputs
Example: Logging in with correct username & password

2. Negative Testing

Tests with invalid inputs
 Example: Logging in with wrong password

3. Boundary Value Testing

Tests at the edge of allowed values
Example: Age field: 0, 1, 99, 100

4. Equivalence Partitioning

Dividing data into valid & invalid partitions
Example: Testing only one value from each valid/invalid range

5. Decision Table Testing

Used for complex business logic with multiple combinations

6. Use Case Testing

Validates application flows based on real-world usage

Types of Functional Testing

Unit Testing

  • Performed on individual components or functions

  • Example: Testing a function that calculates discount

Integration Testing

  • Tests how different modules interact

  • Example: Testing login + dashboard modules working together

System Testing

  • Entire system is tested as a whole

  • Ensures all features work together properly

Sanity Testing

  • Quick check to verify basic functions after updates

  • Example: Checking if login works after a minor code change

Regression Testing

  • Ensures new changes don’t break existing features

  • Example: After adding a payment method, check that checkout still works

User Acceptance Testing (UAT)

  • Final testing done by end users

  • Ensures the product meets real-world needs

Functional Testing Process

Understand requirements (SRS, user stories)

Understanding requirements involves interpreting SRS documents and user stories to clarify system behavior, constraints, and user needs. It ensures alignment between stakeholders, guides design and development, reduces ambiguity, and supports creating a solution that meets functional and non-functional expectations.

Identify test scenarios

Identifying test scenarios involves examining requirements to determine conditions needing validation. Testers analyze workflows, edge cases, and user interactions to outline realistic situations. These scenarios guide detailed test cases, ensuring comprehensive coverage and confirming that the system behaves as intended.

Design test cases

Designing test cases involves converting test scenarios into detailed, step-by-step procedures that verify specific functionalities. Each test case defines inputs, actions, and expected results. Well-designed cases ensure accuracy, traceability to requirements, and comprehensive coverage for reliable software validation.

Prepare test data

Preparing test data involves creating or gathering the necessary inputs to execute test cases effectively. It ensures realistic conditions by reflecting valid, invalid, and boundary values. Well-prepared data supports accurate testing, uncovers defects, and validates system behavior across diverse scenarios.

Execute test cases

Executing test cases involves running each test step and comparing actual results with expected outcomes. Testers document findings, note discrepancies, and validate system behavior. This process helps identify defects, confirm functionality, and ensure the software meets defined requirements and quality standards.

Perform regression testing

Performing regression testing involves re-running previously executed test cases after changes to ensure existing functionality remains unaffected. It detects unintended defects, verifies bug fixes, and maintains system stability. This testing ensures software updates do not compromise overall quality or performance.

Provide test report

Providing a test report involves summarizing testing activities, results, and defect status. It highlights passed and failed cases, risks, and recommendations. The report communicates software quality to stakeholders, supports decision-making, and ensures transparency, accountability, and informed release planning.