Think it this way:
Test case = is a set of conditions under which a tester will determine whether an feature can function as expected.
Test specifications = well defined conditions that will define test results.
Test procedure = how a test is carried out, what to do for step 1, step 2 and etc
Test design = how a test is conceived from abstract ideas into a test case.
Test case = is a set of conditions under which a tester will determine whether an feature can function as expected.
Test specifications = well defined conditions that will define test results.
Test procedure = how a test is carried out, what to do for step 1, step 2 and etc
Test design = how a test is conceived from abstract ideas into a test case.
Consider this scenario:
You are given an iOS game to test, what you normally do will be:
- sit down, use your knowledge, experiences and other techniques (such as brain storm) to decide how to test this game; you may decide to test this game as a gamer playing it from beginning to ending. You are designing a test here.
- With this big picture in mind, playing this game as a gamer, you need to specify how to play this game, such as how much time you should play? how many levels you should play? how much score you need to play to? answers to those three questions will be test specifications.
- After you start playing this game, you notice there is a nasty game-breaking bug that will be triggered when you kill the second boss using a laser cannon from his behind; you write it down on a piece of paper, I have discovered a big bug, you need to firstly acquire a laser cannon from first level, then go to the second boss, lastly shoot him from behind. This procedure is basically a test procedure, a list of steps you need to carry out in order in order to achieve a testing goal
- You can consider this whole scenario as a single test case, but as a general rule, a test case targets a single feature, such as this game can start normally by pressing "start" button.