I've been asked this question as part of an assignment.

The question is a bit vague, and after searching the Internet, I cannot seem to find any particular set of steps related to this question. The best I could find are the following:

  1. Design test cases

  2. Prepare test data

  3. Run program with test data

  4. Compare results to test data

Are these valid steps which can be done to create a test process? Or am I misinterpreting the question?

  • 4
    This question may be better suited for the Software QA & Testing SE site.
    – Bernard
    Feb 5, 2012 at 17:44
  • 2
    Please don't cross post - pm.stackexchange.com/questions/4550/…. Which site do you want to ask the question on? If you want different perspectives, make sure you tailor the question for each site's audience.
    – ChrisF
    Feb 5, 2012 at 19:06
  • I tried deleting that question, but did not have the option since I did not create an account for that site.
    – Sean
    Feb 5, 2012 at 19:52

3 Answers 3


In addition to the steps you've already mentioned, you can add:

  • Determine what specifically needs to be tested.
  • Determine what tools you will use for testing.
  • Determine who will be responsible for testing.
  • Determine how the test results will be utilized as part of the entire development process.
  • 1
    Good post, the execution is >= as important as any test code. I'll also add to the list "Determine how often each test is run" Some big HITL tests are too expensive to run daily, etc. so you need a plan (unit tests w/every check in, integration tests weekly, or whatever is appropriate to the product and customer.
    – anon
    Feb 12, 2012 at 18:18

In a modern software development environment, I would say that writing unit tests is part of any good test plan. The unit tests represent your first line of defense against defects.

This is especially true when working with a piece of software that has no real user interaction and is unlikely to be tested (or even testable) by the person requesting the change.

Your last two bullet points represent user acceptance testing, which is fine, but with reasonably well-written unit tests and appropriate code coverage, UAT should really be more focused on whether or not the change has correctly captured the requirements and is usable.


Proper testing requires a multi-tiered approach. Your testing process should take these tiers into consideration.

There are at least a couple of ways to look at this. One is called the testing triangle, and describes a structure where numerous unit tests are at the bottom, and a few manual tests are at the peak. Between those two extremes are integration tests and acceptance tests.

Another approach to looking at how to focus your testing efforts is through the agile testing quadrant. This approach has you organizing your test by what they test -- whether they are business facing or technology facing (Y axis), and whether they serve to critique the product or support the programming team (x axis).

(Note: these two ways of looking at testing aren't mutually exclusive -- they are just two ways to look at the problem)

So, your first step should be to decide how you are going to test. Are you going to focus on manual testing? Unit testing? Can you automated your user acceptance tests? If you are like most programming teams, you have limited resources so you will need to decide how much effort to put into each type of test.

Each of those types of tests will then require their own plan, though you don't necessarily need a formal, written plan. For example, the plan for unit testing would be simply that developers should write unit tests for any code they write, and they should be run after every build.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.