This topic focuses on the systematic approach to testing within the Programming project (Component 03/04). It requires learners to identify and justify the
Topic Synopsis
This topic focuses on the systematic approach to testing within the Programming project (Component 03/04). It requires learners to identify and justify the test data used during both the iterative development and post-development phases to ensure the solution is robust and meets success criteria.
Key Concepts & Core Principles
- White-box testing (also known as structural or clear-box testing): A method where the tester has knowledge of the internal structure, design, and implementation of the software, including the source code. It focuses on testing internal paths, loops, and data structures.
- Black-box testing (also known as functional or opaque-box testing): A method where the tester has no knowledge of the internal workings of the software. It focuses solely on the functionality of the software from an external perspective, based on requirements and specifications.
- Unit testing: The lowest level of testing, focusing on individual components or modules of the software in isolation to ensure they function correctly.
- Integration testing: Testing conducted to expose defects in the interfaces and interactions between integrated components or modules.
- System testing: Testing the complete and integrated software system to evaluate its compliance with specified requirements, often including functional, non-functional, and performance aspects.
- Acceptance testing (including Alpha and Beta testing): The final stage of testing to verify that the software meets the end-user requirements and is acceptable for deployment. Alpha testing is performed by internal staff, while Beta testing involves external, real users in a real-world environment.
- Test plan: A detailed document outlining the scope, objectives, resources, schedule, and methods for testing a software product, including test cases and expected outcomes.
Exam Tips & Revision Strategies
- Ensure test data is identified and justified for both iterative and post-development phases
- Use annotated evidence such as screen dumps to support testing claims
- Ensure the project report clearly links test evidence back to the success criteria defined in the analysis phase
- Document failed tests and the remedial actions taken as part of the development process
- Ensure usability features are evaluated based on user feedback
Common Misconceptions & Mistakes to Avoid
- Failing to justify the choice of test data
- Providing insufficient evidence of testing during iterative development
- Neglecting to perform or document usability testing
- Lack of clear cross-referencing between test results and original success criteria
- Inadequate evaluation of robustness
Examiner Marking Points
- Identification of test data for iterative development phases
- Identification of test data for post-development phases
- Justification of the choice of test data
- Evidence of testing for function and robustness
- Evidence of usability testing
- Cross-referencing test evidence with success criteria
- Evaluation of whether success criteria have been met, partially met, or unmet
- Discussion of how partially or unmet criteria could be addressed