2011年软考软件设计师辅导资料第六章[2]

软件设计师 责任编辑:jpssff 2010-12-10

添加老师微信

备考咨询

加我微信

摘要:呵呵,这种比较太粗鄙了,也不完全像。反正就是这样,一个是只看输入和输出,另一个是看里面的细节。但是两种测试法都不可能对程序进行穷举测试。三、测试用例的设计(简单应用)首先来了解白盒技术白盒测试是结构测试,所以被测对象基本上是源程序,以程序内部逻辑为基础设计测试用例。使用白盒技术,要尽可能覆盖最多的路径

  呵呵,这种比较太粗鄙了,也不完全像。反正就是这样,一个是只看输入和输出,另一个是看里面的细节。但是两种测试法都不可能对程序进行穷举测试。

  三、测试用例的设计(简单应用

  首先来了解白盒技术

  白盒测试是结构测试,所以被测对象基本上是源程序,以程序内部逻辑为基础设计测试用例。

  使用白盒技术,要尽可能覆盖最多的路径,当程序内部存在判定时,就要考虑逻辑覆盖。

  (1)语句覆盖:就是要设计足够多的测试用例(也就是输入的数据),使被测程序中每个语句至少执行一次。在这里,重点在于每个语句即每个语句都要被执行过。设计时要记住这一点。

  (2)判定覆盖:指设计足够的测试用例,使得程序中每个判定表达式至少获得一次“真”值和“假”值,从而使程序的每一个分支至少都通过一次,因此判定覆盖又称为“分支覆盖”。它和语句覆盖有什么不同呢?

  就在于判定,语句覆盖不管是真是假,只要执行过这句就成,而判定覆盖则必须让这个语句的执行结构为真和为假都要有测试用例给出。所以判定覆盖比语句覆盖严格些。但是判定覆盖也不能检查出全部错误,因为有些条件语句即使写错了,也同样能够产生正确真值或假值。

  比如 (a=2)or(x>1),由于这个or的存在,那么把x>1错写成x<1时,如果用例为a=2,语句的值都为“真”。要解决这个问题,就要看下面的覆盖。

  (3)条件覆盖:是指设计足够的测试用例,使得判定表达式中每个条件的各种可能的值至少出现一次。这就比上面的单是判定覆盖要严格得多了,如上例,(a=2)

  or (x>1);在这里必须使a=2 、x>1,a≠2、x≤1均出现一次。

  (4)判定/条件覆盖:上面条件覆盖也不一定满足判定该,因为只符合条件覆盖的用例可能会不满足每个判定语句均有真值或假值出现。因此要两者兼顾,判定条件覆盖就是指设计足够的测试用例,使得判定表达式中每个条件的所有可能取值至少出现一次并且每个判定表达式所有可能的结果也至少出现一次。

返回2011年软件水平考试软件设计师辅导资料汇总

[1]  [2]  [3]  [4]  

更多资料
更多课程
更多真题
温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

软考备考资料免费领取

去领取

!
咨询在线老师!