Monday, September 1, 2008

Functional Test Planning: An Overview

Keep this simple and to the point and you have a guaranteed winner. All too often people get bogged down in detail when making a test plan, I suggest having an overview to eliminate this pitfall. Don't skip the plan, although that is what normally happens when one feels bogged down or overwhelmed. Planning reduces test development time and increases efficiency and coverage. Planning also helps you identify standards and techniques to use when using automation, such as initial and end conditions.

Here is a little checklist that will help you to keep this simple and cover all your bases in your test plan:

  1. Identify the Project Resources. The types of resources you want to identify are subject matter experts (SME), project managers, team leads, functional experts, database experts, other stakeholders (business analysts, etc.).
  2. Identify and Document the Application Under Test. Focus on the application that will be tested. Some examples might be: IE, Firefox and Netscape for the web
    Identify application details that may be relevant to your test (hardware, software,
    client version) and any exceptions (will test on both XP and W2K, etc.).
  3. Identify Scope of Business Processes. Evaluate business processes with respect to business requirements. Ask the questions: Who writes the test cases? How can transactions be linked together? Do they require specific data? Is data passed from one transaction to the next? How much data is required for each process? Document all steps in the business processes that will be automated. This is the point at which the test cases are created. Each test case should include all the user’s steps, sample data values, expected results for each step, and any checkpoints for verification.
  4. Manage Required Data. Identify where the source for valid data will be, who knows what data to use. This step focuses on data management. Data requirements are documented and required data is collected for each test case. Ensure that all data to be used for testing is valid and will not cause any errors during test execution.
  5. Results, Defects, and Changes. Establish a baseline value against which to compare test results. In order to determine what results are to be expected, you need to be able to compare the results of the test with a baseline value that will determine if the system passed or failed the test. These values should be known and documented at this step.
    Organize a system for logging test results and each problems you encounter. Monitor the progress of finding and correcting problems in the system. As a tester, you may need to know where to store tests, now use appropriate naming conventions, document results and defects, and schedule test runs.
  6. Document the Final Test Plan. The contents of the test plan should include the schedule, objectives of the test, what’s in and out of scope for the test, functional testing environment, defect tracking, change management system.
  7. Build The Test Lab and Create Tests. Be sure to include caveats and processes as well as provide this report to those stakeholders who you have identified as those needing or wanting this information. Support of the business and stakeholders is critical to your test, keep everyone in the loop who wants and/or needs to be there.

No comments: