Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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?

share|improve this question
4  
This question may be better suited for the Software QA & Testing SE site. –  Bernard Feb 5 '12 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 '12 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 '12 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.
share|improve this answer
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 '12 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.

share|improve this answer

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.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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