Updated: Dec 2, 2020
In this article, I will provide a basic checklist you can use to increase the efficiency of your project testing process.
Note: This checklist is written for the traditional development process and not for Agile frameworks.
Preparation and Research
Define the requirements traceability matrix to ensure that each requirement is developed and tested.
Create the guidelines that the team can use in any case, for deviating from the original plan.
Determine the levels of authority for handling different aspects of the project.
Is the project relevant to a specific customer that has specific demands?
How do you intend to measure the effectiveness of the testing process?
Did you read all mandatory documents (SRS, PRD, MRD, etc.)?
Is the project Should follow other international standards?
Does the test plan involve external testing services?
Are there any special cases that you need to cover?
Did you review the application technical design?
Determine the reporting channels.
Do you know to use the selected framework?
Who will monitor and investigate the automation results?
Do you need to schedule training for the team?
Do you intend to use an automation framework?
Who will be responsible to automate the tests (Dedicated automation team or the tester that design the tests?).
Did you determine the defect management system that you are going to use?
Who will decide whether each defect will be fixed or not?
Is there any Bug template that you want to enforce?
Are there any guidelines to open/close defects?
Identify risks related to the testing process.
Do you have the tools to remove the risks?
How do you intend to remove the risks?
Determine the Exit criteria after the completion of the testing process.
Determine the Entry criteria to start testing.
Determine the conditions that can halt the testing process (in any case that you have a major issue during the tests).
What is the amount of time that you determine for each testing cycle?
When do you receive the first build of the application from the dev team?
Is there any time allocated to re-test the application after bug fixes?
When do you intend to release the first version of the software?
Did the test plan scheduler is consisting of the project plan?
Who can create a new build when the test team needs it?
When do you intend to start/End each testing cycle?
Make sure that you have the relevant resources to build the test environment.
Do you have enough budget to order the hardware equipment?
Is there any limitation to create realistic test scenarios?
Determine the topology of the environment.
Determine the hardware set up timelines.
Are any special testing tools required?
Prepare the test environment.
Test Design and Strategy
Determine the test strategy and methodology that you are going to use to accomplish the project goals.
Define the deliverables of the testing effort project (Test coverage, Test Design, Reports, etc.)?
What areas of the application are not going to be covered (what are the reasons for that?)?
Define the level of testing (unit, component, integration, system, and acceptance).
What type of tests does intend to use (Performance, Usability, Exploratory, etc.)?
Determine the test execution approach (Manual Vs. Automated).
Define the conditions that will stop/continue the testing process.
Validate that all functions are identified and covered in the TP.
Write the test plan that you are going to use on the project.
What is the testing coverage that you intend to achieve?
What areas of the application are going to be covered?
Create the test data that you need to use per test case.
Determine the testing effort that is needed to be done.
Who is responsible to approve the test plan?
Determine the weekly/daily report template.
Determine the pass/fail criteria for all tests.
Create test scenarios and test cases.
Determine the priority of the test cases.
Validate that the test "Entry" criteria are fulfilled before the start of the tests.
Validate that each tester understands the tests that he needs to execute.
Monitor the test progress and validate that they meet the timelines.
Validate that you adjust the test plan based on the testing results (Example: many bugs in a single location can indicate that we need to make more and deeper tests.)
Validate that the test team understands their responsibilities.
Make sure that you review the defects that testers identify.
Review the daily/weekly testing reports.
Validate that the test plan is enforced.
Review the test plan with the team members (High-Level) and make sure that you provide answers to any open question.
At the End of the testing phase
Validate that the test "Exit" criteria are fulfilled before moving the application to the 'Alpha' testing phase.
Make sure that the user guide contains the "known Issues" that you find during the testing cycles.
Have the requirements specifications been updated, examined, and approved?
Validate that the team accomplished the testing goals.
Summarize the test results with a dedicated (STR).
Review the test results with the team members.