流河建伟
不管是在少儿编程软件,还是在传统编程语言的判断语句中,边界的判断都是特别容易出错的地方。
什么是边界呢?边界就是程序判断的临界点。比如:百分制中输入得分判断是否及格,大于60分就及格,否则不及格。
程序如图1:
因为60分是确定是否及格的标准,所以这里的60就是程序判断的临界点——边界。如果不认真,写成图2的代码,当我们输入60时,程序就会说不及格,判断就会出现错误(图2)。
程序判断的错误往往发生在输入或输出范围的边界上,而不是出现在输入范围的内部。如何防止这种问题发生呢?除了要求在编程时仔细认真,还须应用科学的测试方法,这种方法就叫作边界值分析法。
边界值分析法就是对输入或输出的边界值进行测试的一种测试方法。首先确定边界,然后选取“正好等于”“刚刚大于”“刚刚小于”边界的值作为测试数据。这就需要用边界值分析法。如上面的例子,在Scratch编程的询问框中分别依次输入60(正好等于)、61(刚刚大于)、59(刚刚小于)三个值进行测试。
1. 输入60和61的时候程序显示“及格”。
2. 输入59的时候显示“不及格”。
3. 再随机地输入几个分数,比如:输入23,显示“不及格”。输入98显示“及格”。输入66,显示“及格”。
4. 输入102,显示“及格”。输入-1,显示“不及格”。我们是不是又发现了新的问题?百分制是没有102分的,得分也不会有负数。所以,逻辑中的相关数值就是边界,逻辑的上限(100)和下限(0)也是边界。
通过这个例子,我们确定了三个边界,即60、0、100。需要重新编写代码并测试(图3)。
现在我们找到0、60、100三个边界。对应“正好等于”“刚刚大于”“刚刚小于”的值,对应0的测试数据应为-1、0、1,对应60的测试数据应为59、60、61,对应100的测试数据为99、100、101。
下面就具体用边界值分析法进行测试。
1. 输入-1,程序返回“分数不能小于0”,输入0,返回“不及格”,输入1返回“不及格”。
2. 输入59,返回“不及格”,输入“60”,返回“及格”,输入61,返回“及格”。
3. 输入99,返回“及格”,输入100,返回“及格”,输入101,显示“分数不能大于100”。
4. 再随机找几个分数进行测试。输入-120,显示“分数不能小于0”。输入56,显示“不及格”。输入83,显示“及格”。输入180,显示“分数不能大于100”。现在,輸入内容之后,输出内容和我们预想的一样,证明我们的程序对输入分数的判断是正确的。
写完作业后,经过检查,并改正错误,才能交给老师。考试做完试题,经过检查,改正错题,才能保证得到更高的分数。编写完程序后的检查,就是软件测试。软件测试能最大限度地减少程序的Bug。不管是传统的软件开发,还是少儿编程,软件测试都是软件开发中不可缺少的环节。
欢迎关注他的微信公众号:Scratch入门到精通