Manual QA in Magento 2 for Beginners
This lesson will start from one of the main activities that are done before the start of the initial testing process - creating a test plan.
What is a Test Plan
Test Plan is a document describing software testing scope and activities. It is a basis for testing types before the start.
There are a lot of definitions that can be found on the internet but one of the most accurate one in my opinion is ISTQB - it is a document describing the scope, approach, resources and schedule of intended test activities. It identifies amongst others test items, the features to be tested, the testing tasks, who will do each task, degree of tester independence, the test environment, the test design techniques and entry and exit criteria to be used. And the rationale for their choice, and any risks requiring contingency planning.
Types of Test Plans
There are several test plan types. They are:
- Master Test Plan - it is a single high-level test plan for a project/product that unifies all other testing plans.
- Testing Level Specific Test Plans - it is a plan for each level of testing. They are Unit test plan, Integration test plan, System test plan, Acceptance Test plan.
- Testing Type Specific Test Plans - Plans for major types of testing like Performance test plan, or security test plan.
Test Plan Template
Each test plan has a separate test plan template. This is the list of what good test plan should contain from:
- Test Plan identifier (Provide a uniques identifier for the document);
- Introduction (Provide an overview of the test plan, Specify the goals/objectives and specifies any constraints);
- Reference (List the related documents, with links of them if available, including the following: project plan and configuration management plan);
- Test Items (list the test items (software/products) and their versions);
- Features to be tested (List the features of the software/products to be tested, and provide references to the requirements and/or Design specifications);
- Features Not to be tested (List the features that are not tested and the reason why it is like that);
- Approach (Here you need to mention overall approach to testing and you need to specify the testing levels,);
- Item Pass/Fail Criteria (You need to specify criteria that will be used to determine what points are passed and what are failed);
- Suspension Criteria and Resumption Requirements (Here you need to specify the criteria that will be used for suspend the testing activities and testing activities that should be redone after restart of the testing);
- Test Deliverables (List the test deliverables, and links to them if available, including the following: test plan, test cases, test scripts defect/enhancement Logs, Test reports.);
- Test Environment (You need to specify the properties of test environment: hardware, software, network etc.);
- Estimate (Yo need to provide a summary of test estimates (cost and effort) and/or provide a link to the detailed estimation);
- Schedule (You need to create and provide a detailed summary of the schedule, specifying key test milestones and/or provide a link to the detailed schedule);
- Staffing and Training Needs (Here you need to specify staffing by roles and required skills. Identify training that is necessary to provide those skills, if not already acquired);
- Responsibilities (It is a list of responsibilities of each team/role/individual);
- Risks (Here you need to create a list of the risks that have been identified and specify mitigation plan);
- Assumptions and Dependencies (As it is clear from the name, it is a list of assumptions that have been made during the planning and dependencies);
- Approvals (You need to specify the names, and the roles of all persons who must approve the plan, and provide a space for signatures and dates.)
All actions are needed to create a decent test plan to be sure that the testing that will be done will match high requirements for any type of testing and type of product.