读书人

看不到的中间计算代码块该怎么测试

发布时间: 2012-02-12 17:16:33 作者: rapoo

看不到的中间计算代码块该如何测试?
首先说一下我们的测试要求。首先做详细设计,然后再写测试式样书也就是测试用例。测试用例中的各个测试点要包含你要测试什么内容,预想的测试结果是什么这样的描述。

测试点要能够覆盖所有代码

举个例子:
画面初期化处理中:
1、进入某一画面时,如果是一般用户,那么画面上哪些按钮正常显示,哪些按钮不显示。
2、进入某一画面时,如果是管理员,那么画面上哪些按钮正常显示,哪些按钮不显示。
3、焦点落在****
点击保存按钮:
1、姓名没有输入时,弹出什么对话框,提示内容为"******"
2、关闭对话框后,焦点落在***

上面的例子都是很直接的,通过界面能够反映出来,所以测试用例写的时候,以及测试的时候都很容易。但是程序中经常会遇到一些我们看不到的中间过程,如一些统计报表:
先说简单的明细查询:
比如直接从某一个人员信息表中查询出明细,那么写这种测试用例时,我们会预先写出表中的数据,然后预想出查询结果,一些代码code也会翻译过来,如性别在表的值是[1],那么预想结果是[男],再考虑一些临界值。像城市代码这么多的字段,默认列举一个就可以。
由此看来简单的也比较好些,下面说说麻烦的,也就是我要问的。
如果是一个统计报表,上面有30个项目是通过其他若干表关联后计算出来的。
先拿一个字段来说,比如营业金额,这里不考虑表的设计。得出这个结果有很多逻辑分支,而且根据不同逻辑条件从不同的标准获取数据。
1、如果这个订单是2000年以前的,
1-1、如果是海外订单
1-1-1、美国
1获取美国的差额
2获取百分比
1-1-2、欧洲
1获取欧洲的差额
2获取百分比
1-1-3、日本
1固定额
1-1-4、计算固定额
1-1-5、判断货物明细
1、如果有a货物,固定额加a货物的附加值。
2、附加值的计算
大于100件
101 - 500
501 - 1000
1001以上
1-2、国内订单
有很多不同条件
2、如果这个订单那是2000年以后的
有很多不同条件


不知道这么描述是否能看懂,总之就是获取一个报表值要经过很多逻辑运算,按照这样的逻辑就需要造相当多的数据才能保证跑遍所有代码,不知道大家在做这样测试的时候是如何测试的(测试用力如何写)?






[解决办法]
从你的描述中可以看到认知不清而造成的描述矛盾,一方面你说测试点要能够覆盖所有代码,这就意味着需要能够看到代码的白盒测试,但是你标题中又提到看不到的中间计算代码块,所以应该做黑盒测试。
从上述矛盾和你其他的描述可以推测,其实你做的就是黑盒测试,只是你希望通过黑盒测试达到理想的代码测试覆盖,这一点是不现实的,所以你应该抛弃所谓的代码覆盖。
另外测试用例确实会需要很多才能覆盖很多,所以想通过捷径保证质量是一个很危险的想法。
[解决办法]
等老鸟来看看吧
[解决办法]
你说的这个“复杂”情况,为什么不做单元测试?
[解决办法]
这就是要做测试的sample么,跟你前面说的差不多,就是多了个造sample的过程···
[解决办法]
如果你对这个具体的地方搞不清,那可以求助开发技术经理。他有责任对这样具体地方的处理逻辑和程序实现进行检查,包括程序实现的优化性审核和修改。

读书人网 >软件测试

热点推荐