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.