1.论述题1:以下是某软件项目规格说明,请按要求回答问题
某一软件项目的规格说明:对于处于提交审批状态的单据,数据完整率达到80%以上或已经过业务员确认,则进行处理。
(1)请根据规格说明,画出对应的因果图。
(2)采用基于因果图的方法为该软件项目设计测试用例。
2.论述题2:以下是某程序说明,请按要求回答问题
程序说明:假设有一个把数字串转换为整数的函数。其中数字串要求长度为1-6个数字构成,机器字长为16位。
分析程序中出现的边界情况,采用边界值法为该程序设计测试用例。
3.论述题3:简单谈一下你对穷举测试的理解,并按要求回答问题
(1)穷举测试的方法对于所有项目程序都是可行的么?
(2)若是针对小型的程序,穷举测试是可能的么?若是,说明此时采用穷举测试能否保证程序是正确呢?
论述题分析
1.分析:首先根据程序的规格说明,根据所有可能的输入和输出条件,找出所有的原因和结果以及二者之间的关系,画出因果图。然后基于因果图的方法设计测试用例。
2.分析:首先根据程序的规格说明,考虑所有可能的边界情况,然后根据边界值方法设计测试用例。
3.分析:在黑盒测试中,测试数据完全来源于软件的规格说明,即不需要了解程序的内部结构。若要用这种方法来发现程序中的所有错误,可行的途径就是穷举测试。但在实际情况下,该方法仅对一些小型简单的程序适用,而对于一些大型或稍微复杂的程序都是不可能实现的。
二、论述题
1.问题1:
解答:
首先根据规格说明,列出所有可能的输入和输出,得到如下结果:
输入:处于提交状态、数据完整率达到80%以上、已经过业务员确认。
输出:处理或不处理。
找出所有输入与输出的关系,通过分析,得到以下的对应关系:
如果单据处于提交审批状态且数据完整率达到80%以上,则处理;
如果单据不处于提交审批状态,则不处理;
如果单据处于提交审批状态,数据完整率未达到80%以上,但已经过业务员确认,则处理。
下面列出所有的原因和结果,并进行编号,根据上面分析的关系,画出因果图,如图17-2所示:
原因:1:处于提交状态
2:数据完整率未达到80%以上
3:已经过业务员确认
结果:21:处理
22:不处理
问题2:
解答:
首先将上面的因果图转换成判定表,如下表所示:
然后将判定表中的8列转换成测试用例即可。
2.分析该程序的说明和功能,显然可以划分四组测试等价类:有效输入等价类、无效输入等价类、合法输出等价类和非法输出等价类。在考虑该程序的合法输出和非法输出时需要考虑计算机的字长,这时要进行边界值法设计测试用例,以补充等价类法设计的测试用例。具体采用边界值法设计的测试用例如下:
(1)使程序输入刚好等于最小的负整数:
输入:'-32768'
输出:-32768
(2)使程序输入刚好等于的正整数:
输入:'32767'
输出: 32767
(3)使程序输入刚好小于最小的负整数:
输入:'-32769'
输出:错误
(4)使程序输入刚好大于的正整数:
输入:'32768'
输出: 错误
3.问题1:
不是。穷举测试的方法并不是对所有程序都可以实现。
问题2:
对小程序进行穷举测试,也不见得能保证程序正确。所谓穷举测试是拿所有可能的输入数据来作为测试用例(黑盒测试),或覆盖程序中所有可能的路径(白盒测试)。对于小程序来说,实际上并不能真正作到穷举测试。