What does purchasing a car and software testing have in common?

The Process

Purchasing a car follows the six stages of the Business Improvement Test Management Process: Plan, Design, Prepare, Execute, Evaluate and Complete. The only difference is that SoftwareTesting projects require that you write things down for audit evidence. And of course, this is not a requirement for car purchases.

1. Plan:

When purchasing a car you would:

  • Review a few advertisements to see what is available
  • Record a list of your new car requirements
  • Compare what you need against what is available
  • Select the important features you definitely want for the new car

These are the same steps one would go through to conceptualize a new system application:

  • Review what system capabilities exist
  • Prepare a list of your system requirements
  • Compare what you want against what is available
  • Select the important features you definitely want for the new system

2. Design:

When purchasing a car you would:

  • Visit “XX” number of car dealerships and do some comparison shopping
  • Prepare a list of car features and prices for easy comparison later
  • Define what features are mandatory for the new car versus those that would be considered “nice to have”
  • Define how the car is to be used. For family or business travel?
  • Estimate how long you expect the new car to last and whether or not an extended warranty is required
  • Define the driving environment you will be using (city or highway)
  • Identify the features of the existing car that should be considered as a standard feature for the next car (and conversely, those that you do not require in the new car

These steps are similar to the design of an application test (unit, systems, integration or user acceptance test):

  • Identify test deliverables and test levels
  • Allocate business requirements across test phases
  • Define Test Standards
  • Define Business Process specifications
  • Estimate task durations
  • Identify dependencies across business processes
  • Define test environments
  • Identify regression test requirements
  • Commit resources to the activities

3. Prepare:

When purchasing a car you would:

  • Develop the test conditions (will you test drive it during the rain as well as in sunny weather?)
  • Develop a set of expected results. Be sure to list the thing that would cause you to reject one car over another
  • Determine the number of times you plan to test drive the car before making a final decision?
  • Prepare a schedule of which dealerships you will visit and when
  • Create a checklist to use during your dealership visits to ensure that you gather the information you require about each car you are considering
  • Define and list the data requirements that each car must meet in order to get to the next level of purchasing decision-making
  • Develop a ranking system checklist for each of your requirements. (and use this during your discussions with the salespeople)
  • Review your checklists and other related documentation with all stakeholders (spouse, significant other, friends, children, relatives, etc.) to ensure all stakeholder needs are captured and well documented
  • Prepare a statement of your final purchase plan, ready to be executed

During the preparation steps for your test, you need to:

  • Develop Test Conditions
  • Develop Expected Results
  • Develop test cycles
  • Draft a test schedule
  • Develop test scripts following the agreed upon testing standards
  • Define data requirements
  • Develop detailed test execution procedures
  • Develop or agree on using a defect management process
  • Secure sign-off from all stakeholders
  • Prepare a Test Readiness Report for the stakeholders

4. Execute:

The car purchase has completed the planning, design and preparation steps. You are now ready for the execution of your plan:

  • Proceed with the car purchase

Application Testing is similar:

  • Execute the test
  • Document actual results compared to expected results
  • Identify defects
  • Provide test status reports as defined in the Test Strategy Document to the stakeholders

5. Evaluate:

As you proceed with the car plan execution, you’ll undoubtedly notice that there are ways you could have planned the car purchase differently. In a formal sense you would be evaluating your actual results against your expected results and note the following:

  • Evaluate the car’s performance against your earlier expectations
  • Prepare a list of positive and negative results in preparation for the car dealership evaluation form, that should arrive within a few weeks of your car purchase

Application testing evaluation steps include:

  • Evaluate the test results
  • Prepare and circulate test result reports

6. Complete:

Are you happy with the car purchase? Do the following activities in preparation for your next car purchase:

  • Review your overall plan and update it where appropriate for the next use
  • Review the features you now have and determine whether or not you will requirement them on your next car
  • List lessons learned
  • Celebrate the new car purchase!

Application Testing completion includes:

  • Finalize test statistics and metrics
  • Update regression test packages Prepare Test Completion Report for the Project Sponsor and other stakeholders
  • Secure sign-off to the Test Completion Report
  • Disband the team
  • Celebrate!

It’s obvious that if you can go out and buy yourself a car, you can just as easily use the same process to test software. The Business Improvement Test Management Process is an easy and effective way to ensure quality and satisfaction when it comes to both software testing and automobiles.

Brenda Fisk

Brenda Mary Fisk, Business Improvement Architects associate, has over 20 years of professional experience in software quality assurance/quality control and project management experience. Brenda provides consulting, facilitating and software quality assurance training to a wide range of type and size of organizations. She has worked primarily with business units; liaising with business analysts and systems developers to assist in preparing systems development life cycle deliverables for large and small projects. Brenda has designed and facilitated over 70 different training programs for staff at all levels. She specializes in productivity improvements within the systems development community. Prior to consulting Brenda held positions as: Project Management Officer, Database Administrator, Manager, Senior Business Analyst, Systems Testing Specialist.