对Word函数,运用修正条件/判定覆盖法进行测试用例设计并生成表格。 void Word(int n, char *word) { void *cat; cat = malloc((sizeof(char) * n) + 1); char *initialword = cat; startWord(initialword, n); int number=8,a=0, num=0; char alphabet; while (number!=0&&strcmp(initialword,word)!=0) { printf("The word now looks like this: %s\n", initialword); if (number!= 1) { printf("You have %d guesses left.\n", number); } else { printf("You have only one guess left.\n"); } alphabet = LetterFromUser(); for (a= 0;word[a]!= '\0'; a++) { if (word[a] == alphabet) { initialword[a] = alphabet; num = a; number++; } else if (a == n - 1) { number--; } } if (word[num]== alphabet) { printf("That guess is correct.\n"); } else { printf("That are no %c's in the word.\n", alphabet); } } if (strcmp(initialword, word)== 0) { printf("You guessed the word: %s\n", word); printf("You win.\n"); } else { printf("You lose.\n"); } }
时间: 2024-04-05 13:29:36 浏览: 85
修正条件/判定覆盖法是一种黑盒测试设计方法,通过对输入条件的各种组合进行测试,以确保程序能够正确地处理各种情况。对于给定的函数Word,我们可以根据以下步骤来进行测试用例设计:
1. 确定输入条件
函数Word有两个输入参数n和word,其中n表示待猜测单词的长度,word表示待猜测的单词。我们需要确定输入条件的取值范围和可能的取值组合。
2. 确定输出条件
函数Word的输出结果有两种可能,一种是猜对了单词,输出“You guessed the word: %s\n You win.\n”,另一种是猜错了单词,输出“You lose.\n”。
3. 设计测试用例
根据修正条件/判定覆盖法,我们需要设计测试用例,以覆盖所有可能的输入条件组合。
首先,我们需要设计满足输入条件的测试用例,包括:
- n为正整数,word为长度为n的字符串
- n为0,word为任意字符串
- n为负整数,word为任意字符串
然后,我们需要设计满足输出条件的测试用例,包括:
- 猜错单词,输出“You lose.\n”
- 猜对单词,输出“You guessed the word: %s\n You win.\n”
最后,我们需要设计覆盖输入条件的所有可能组合的测试用例,包括:
- n为1,word为一个字母
- n为2,word为两个不同字母
- n为3,word为三个不同字母
- n为3,word为两个相同字母和一个不同字母
- n为4,word为四个不同字母
- n为4,word为三个不同字母和一个相同字母
- n为4,word为两个相同字母和两个不同字母
- n为4,word为四个相同字母
根据上述测试用例,我们可以生成如下的测试用例设计表格:
| 测试用例编号 | 输入条件 | 输出条件 |
| ------------ | ------------------- | -------------- |
| TC1 | n = 1, word = 'a' | 猜对单词 |
| TC2 | n = 2, word = 'ab' | 猜对单词 |
| TC3 | n = 3, word = 'abc' | 猜对单词 |
| TC4 | n = 3, word = 'aac' | 猜对单词 |
| TC5 | n = 4, word = 'abcd' | 猜对单词 |
| TC6 | n = 4, word = 'aabc' | 猜对单词 |
| TC7 | n = 4, word = 'abbc' | 猜对单词 |
| TC8 | n = 4, word = 'aaaa' | 猜对单词 |
| TC9 | n = 0, word = '' | 猜错单词 |
| TC10 | n = -1, word = 'a' | 猜错单词 |
| TC11 | n = 1, word = 'b' | 猜错单词 |
| TC12 | n = 2, word = 'bb' | 猜错单词 |
| TC13 | n = 3, word = 'bbc' | 猜错单词 |
| TC14 | n = 4, word = 'abcc' | 猜错单词 |
需要注意的是,我们在设计测试用例时,应该尽可能地覆盖所有可能的输入条件组合,但不一定需要覆盖所有语句、分支和路径。在实际测试中,我们可能需要根据实际情况进行调整和补充。
阅读全文
相关推荐















