June 06, 2023

Test Planning in Software Testing

Great job on starting a new lesson! After reading this lesson, click Next button at bottom right to continue to the next lesson.

What is test planning in software testing?

Test planning is the process of defining the scope, objectives, strategy, resources, schedule, and deliverables for testing your software product or service. Test planning helps you align your testing activities with the project goals, quality standards, and regulations, while making the best use of available resources. Also, in test planning, you estimate the effort, cost, and the duration required for testing.

Test plan sections

A test plan typically contains the following sections:

  1. Scope and test objectives: The scope and purpose of software testing, the features and functions to be tested and not tested, and the quality criteria to be achieved.
  2. Test strategy: The high-level testing approach and methodology for software testing, the testing types and testing levels, the test techniques and tools, and the test environment.
  3. Test resources: The roles and responsibilities of the software testers, their skills, and any training needed by them.
  4. Test schedule: The timeline(s) and milestones for software testing activities, the dependencies and risks, mitigation plans and contingency plans.
  5. Test deliverables: The outputs of the testing process, such as test cases, test data, test results, defect reports, status reports, etc.

Test planning is a critical step in software testing because it helps to:

  • Guide the testing process and ensure its alignment to project goals and quality standards.
  • Avoid testing out-of-scope functionalities.
  • Communicate the testing process to the stakeholders.
  • Track and control the testing process, progress and quality.
  • Reuse the test plan for future enhancements or similar projects in the organization.

Test Plan Example

A banking website allows customers to perform various transactions online, such as checking account balance, transferring money, paying bills, etc. The test plan for this website may include:

  1. Test objective: To verify that the website functions correctly and securely according to the requirements.
  2. Test strategy: Do functional testing (including manual testing exploratory testing and automated regression testing), security testing, performance testing, usability testing, and compatibility testing. To use Selenium WebDriver, JMeter, and OWASP tools.
  3. Test resources: One test lead and four test engineers. Provide training on the banking domain, the website features, and the test tools. To use laptops with Windows 11 OS, Chrome browser, Internet connection, etc.
  4. Test schedule: Follow a lifecycle with four phases: test planning (2 weeks), test design (4 weeks), test execution (6 weeks), and test closure (2 weeks). Identified dependencies on development team, business team, security team, and end-users. Identified risks (delays in development, changes in requirements, resource issues, and technical issues)
  5. Test deliverables: Test plan document, test cases, test data, test results, defect reports, status reports and test summary report.

How do you do test planning?

  1. First, understand and review all your software requirements and specifications.
  2. Estimate the effort, duration, cost, and resources required for software testing based on your data, assumptions and constraints. 
  3. Identify the dependencies, risks, and their mitigation and contingency plans.
  4. Use the standard format and terminology of your organization for your test plan document.
  5. Avoid using lengthy paragraphs and unnecessary details. Use lists and tables to structure the plan.
  6. Get feedback from the stakeholders in the test planning process.
  7. Review your test plan regularly. Update it if changes occur

FAQ (interview questions and answers)

  1. In your experience, what are the benefits of test planning?
    Test planning helps us ensure that the testing activities are aligned with the project goals, quality standards, and regulations, while making the best use of available resources. Test plan is an input to estimate the effort, cost, and the duration required for testing.
  2. Are there different types of test plans?
    Yes, there may be master test plan for the whole project, phase test plan for a single phase, and a specific test plan e.g. performance test plan for a specific type of testing
  3. What are the main components of a test plan?
    Scope, test objectives, test strategy, test resources, test schedule, test deliverables, and risk management.
  4. What is the difference between a test plan and a test case?
    A test plan is a document that describes the what, when, how, and who of software testing. A test plan refers multiple test cases. A test case is a set of steps that specifies what to test, how to test it, what inputs to use and the expected result.
I wrote the original lesson on May 11, 2023. Remember to just comment if you have any doubts or queries.


No comments:

Post a Comment

Note: Only a member of this blog may post a comment.