Master Test Plan
Document | Master Test Plan |
Author: | LinearB |
Version: | 1.0 |
Date: | 23.04.2025 |
General information
A master test plan (MTP) is a high-level document that describes the overall testing strategy, objectives, and scope for a software project or product. It provides a comprehensive overview of the key decisions, resources, risks, and deliverables involved in the testing process. It also defines the relationship and coordination among different test levels, such as unit testing, integration testing, system testing, and acceptance testing. An MTP helps to ensure that the testing activities are aligned with the project goals and requirements, and that the quality of the software is verified and validated. You can find more information about MTPs from these sources:
- What are Master Test Plans & Level Test Plan? Examples, When to use.
- Developing a Test Plan: A Complete Guide
- What is a Test Plan in Software Testing? - TestLodge blog
- Why Every QA Team Needs To Create Master Test Plan?
- https://www.lambdatest.com/learning-hub/test-plan
Master Test Plan
1. Introduction
This document outlines LinearB test plan and strategy for the development of our ecommerce service using PrestaShop. The system to be subject of our testing includes all necessary tools utilized to run our product, ranging from our host services, our database, and our web environment.
In order to systematically identify and fix issues, and to satisfy user requirements efficiently and effectively, we plan to mainly focus in:
- Non-Functional Testing: tests that focus in requirements like performance, scalability, portability, stress, etc.
- Integration Testing: tests that focus in two or more modules of the system. For example, the usability of our database and its components.
- System Testing: through exploratory testing, checking the general user experience and go through each step of the customer journey to detect issues, but most importantly to make sure the system works efficiently. In other words, to validate our software in accordance to our customer requirements.
2. Test Objectives
The main goal of our testing process is to ensure that our product developed using PrestaShop meets all specified requirements and performs reliably in a production environment. The specific objectives of the testing process can be categorized as follows:
- Verify Security Measures:
- Ensure that the integration with the vulnerability scanning tool (FEA010) effectively identifies and reports known vulnerabilities.
- Validate that all security fixes are correctly implemented and do not introduce new vulnerabilities.
- Validate PrestaShop as a Service:
- Confirm that the Dockerized service production (FEA003) is correctly implemented, allowing for efficient deployment and management of the PrestaShop service.
- Ensure that secure service access (FEA002) is properly configured to protect user data and transactions.
- Ensure Effective Bug Fixes:
- Verify that the bug reporting and triage processes (FEA081) are efficient and effective in identifying and prioritizing issues.
- Confirm that the integration with version control systems (FEA023) supports effective tracking and management of code changes and bug fixes.
- Test Payment Integration:
- Validate the integration with popular payment gateways (FEA192) to ensure seamless and secure transaction processing.
- Ensure that the payment integration supports a wide range of payment methods and provides a smooth user experience.
- Functional and Non-Functional Requirements:
- Verify that all functional requirements are met, ensuring that the ecommerce service operates as intended.
- Validate non-functional requirements, including performance, usability, and reliability, to ensure a high-quality user experience.
- Risk Mitigation:
- Identify potential risks and ensure that appropriate mitigation strategies are in place to address them.
- Verify that the system is resilient to common issues and can recover gracefully from failures.
3. Test Items
The following components of the ecommerce system will be tested:
- PrestaShop instance deployed via Docker containers
- Custom modules and services developed for secure access
- Vulnerability scanning integration
- Version control integration and bug tracking mechanisms
- Payment integration components (Stripe, PayPal, etc.)
- The user interface (UI) and overall user experience (UX)
- Database layer and service configurations
4. Features to be Tested
Epic | Feature ID | Description |
---|---|---|
EPIC 03: Presta shop as a servce | FEA002 | Secure service access |
EPIC 03: Presta shop as a service | FEA003 | Dockerized Service Production |
EPIC 01: Security fixes | FEA010 | Integrate with a vulnerability scanning tool to automatically detect and report known vulnerabilities |
EPIC 08: Bug fixes | FEA023 | Integrate with version control systems (e.g., Git) |
EPIC 08: Bug fixes | FEA081 | Ensure efficient bug reporting and triage processes |
EPIC 19: Payment integration | FEA192 | Integration with Popular Gateways: Integrate with a wider range of popular payment gateways (e.g., Stripe, PayPal, Square, Amazon Pay, Apple pay, Google pay) |
5. Approach
The approach used for testing in our project will mainly be exploratory testing.
Exploratory testing involves several informal testing sessions aimed at discovering issues or bugs that have not yet been identified. This approach enhances the overall quality of the software, identifies isolated cases, expands test coverage, and can lead to the addition of new features when combined with automated testing and other techniques. It lacks of structural rigidity, encouraging experimentation, creativity, and discovery together within the team.
The rapid feedback provided by exploratory testing helps bridge the gap between testers and developers. Most importantly, it offers a user-oriented perspective and valuable feedback to the development teams. The primary goal is to complement traditional testing methods to uncover significant defects that are typically hidden within the defined workflow.
Preliminarily, we expect to use tools for aiding and explore other approaches to testing: K6, Robot Framework, Selenium.
6. Item Pass/Fail Criteria
Each test item will be evaluated based on the following criteria:
- Pass: The test case executes as expected, meeting all predefined acceptance criteria without critical or major bugs.
- Fail: The test case does not meet acceptance criteria or leads to incorrect results, system errors, security vulnerabilities, or regressions.
- A failed test must be logged in the defect tracking system and resolved before the corresponding feature can be marked as complete.
7. Suspension Criteria and Resumption Requirements
Suspension Criteria: - A critical defect is discovered that blocks further testing. - Major test environment failure (e.g., Docker service fails to initialize). - Failure to deploy core services (e.g., payment gateway fails integration).
Resumption Requirements: - All critical/blocker issues must be resolved and retested. - The test environment must be restored to operational state. - Test data and configurations must be validated before resuming.
8. Test Deliverables
- Master Test Plan (this document)
- Test cases and test scripts
- Test data sets
- Bug reports and defect logs
- Test summary reports
- Automated test results (e.g., Selenium/K6)
9. Testing Tasks
- Define and write test cases for key features.
- Set up test environments using Docker containers.
- Configure and connect scanning tools for vulnerability detection.
- Develop and execute exploratory test sessions.
- Perform regression and integration testing.
- Document all results and track defects.
- Conduct performance and load testing using K6.
- Review and approve testing artifacts.
10. Environmental Needs
- Hardware: Modern workstations for testers
- Software: Docker & Docker Compose, PrestaShop instance, Selenium & Robot Framework, K6 load testing tool, Git for version control.
- Network: Reliable internet connection, access to staging servers and APIs.
11. Responsibilities
- Test Lead: Create MTP, assign test tasks, oversee quality assurance.
- Test Engineers: Develop and execute test cases, report bugs.
- Developers: Assist in resolving bugs, unit testing, build deployments.
- DevOps: Maintain testing environments and Docker services.
- Security Analyst: Run vulnerability scans and evaluate results.
- Project Manager: Monitor test progress and ensure alignment with project goals.
12. Approvals
The following individuals must approve the Master Test Plan before testing begins:
-
Team Lead – Lassi Iiskola
-
Lead Developer Team
-
Product Owner