自己编写测试用例的思路
题目
将数组(1<=n<=100)中的每个整数循环右移m(m>=0)个位置
输入:占二行,其中
第1行:n和m两个数,n和m之间用空格分隔。
第2行:数组A中的n个数,各数之间用空格分隔(第一个数之前和最后一个数之后无空格)。
输出:占一行,数据间用一个空格分隔(第一个数之前和最后一个数之后无空格)。
样例:
10 5
1 2 3 4 5 6 7 8 9 0
6 7 8 9 0 1 2 3 4 5
测试用例
经常遇到一种情况,代码没有百分之百通过测试用例,测试题目给的例子又是对的。那一般是我们的代码考虑的不完全,就需要自己写一些测试用例来测试自己的代码在什么输入的情况会出错。
编写测试用例一般考虑正常情况、边界情况、异常情况。
正常情况
一般按照题目意思,折中取一个数,比如 n=25,m=12。但是这个数有点大,懒人再折中一下,n=12,m=6;然后在其附近再取两个,n=12,m=5、n=12,m=7
边界情况
很直接的,就是每个变量都取极值。如 n=1/100,m=0/100,这两组合就是四个用例了。通常还会在边界附近再取两组互相补充,比如 n=2/99,m=1/99
特殊情况
输入是空、负数、0、超大数等。这里题目说 n、m 是正数,那负数不考虑,0 在边界里考虑过了,超大数就是别太懒,这里限定了 n 的范围,但是 m 没有上限,就测试下 m > n 的情况,比如 n=10,m=11/22/133
总结
上面的测试用例不都完全,因为没有包含输出,不能看到有输出就说自己代码运行没问题,你得看输出对不对啊。下面举几个测试用例(含输入输出)
5 0
1 2 3 4 5
1 2 3 4 5
5 2
1 2 3 4 5
4 5 1 2 3
5 11
1 2 3 4 5
5 1 2 3 4