首页 考试吧论坛 Exam8视线 考试商城 网络课程 模拟考试 考友录 实用文档 求职招聘 论文下载 | ||
2011中考 | 2011高考 | 2012考研 | 考研培训 | 在职研 | 自学考试 | 成人高考 | 法律硕士 | MBA考试 MPA考试 | 中科院 |
||
四六级 | 职称英语 | 商务英语 | 公共英语 | 托福 | 雅思 | 专四专八 | 口译笔译 | 博思 | GRE GMAT 新概念英语 | 成人英语三级 | 申硕英语 | 攻硕英语 | 职称日语 | 日语学习 | 法语 | 德语 | 韩语 |
||
计算机等级考试 | 软件水平考试 | 职称计算机 | 微软认证 | 思科认证 | Oracle认证 | Linux认证 华为认证 | Java认证 |
||
公务员 | 报关员 | 银行从业资格 | 证券从业资格 | 期货从业资格 | 司法考试 | 法律顾问 | 导游资格 报检员 | 教师资格 | 社会工作者 | 外销员 | 国际商务师 | 跟单员 | 单证员 | 物流师 | 价格鉴证师 人力资源 | 管理咨询师考试 | 秘书资格 | 心理咨询师考试 | 出版专业资格 | 广告师职业水平 驾驶员 | 网络编辑 |
||
卫生资格 | 执业医师 | 执业药师 | 执业护士 | ||
会计从业资格考试(会计证) | 经济师 | 会计职称 | 注册会计师 | 审计师 | 注册税务师 注册资产评估师 | 高级会计师 | ACCA | 统计师 | 精算师 | 理财规划师 | 国际内审师 |
||
一级建造师 | 二级建造师 | 造价工程师 | 造价员 | 咨询工程师 | 监理工程师 | 安全工程师 质量工程师 | 物业管理师 | 招标师 | 结构工程师 | 建筑师 | 房地产估价师 | 土地估价师 | 岩土师 设备监理师 | 房地产经纪人 | 投资项目管理师 | 土地登记代理人 | 环境影响评价师 | 环保工程师 城市规划师 | 公路监理师 | 公路造价师 | 安全评价师 | 电气工程师 | 注册测绘师 | 注册计量师 |
||
缤纷校园 | 实用文档 | 英语学习 | 作文大全 | 求职招聘 | 论文下载 | 访谈 | 游戏 |
三、测试用例的设计(简单应用)
首先来了解白盒技术
白盒测试是结构测试,所以被测对象基本上是源程序,以程序内部逻辑为基础设计测试用例。
使用白盒技术,要尽可能覆盖最多的路径,当程序内部存在判定时,就要考虑逻辑覆盖。
(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)判定/条件覆盖:上面条件覆盖也不一定满足判定该,因为只符合条件覆盖的用例可能会不满足每个判定语句均有真值或假值出现。因此要两者兼顾,判定条件覆盖就是指设计足够
的测试用例,使得判定表达式中每个条件的所有可能取值至少出现一次并且每个判定表达式所有可能的结果也至少出现一次。
(5)条件组合覆盖:是指设计足够的测试用例,使得每个判定表达式中条件的各种或能的值的组合都至少出现一次。这就是前面两个覆盖的组合。
(6)路径覆盖:是指测设计足够的测试用例,覆盖被测试程序中所有可能的路径。
这六种覆盖进行比较有下面一个表:
条件组合发现错误的能力较强,凡满足其标准的测试用例,也必然满足前四种覆盖标准。在实际的逻辑测试中,一般以条件组合覆盖为主设计测试用例,然后再补充部分用例来达到路径覆盖的测试标准。
2、循环覆盖:当程序中存在循环结构时,要覆盖所有的路径是不可能的,但是可以通过限制循环结构来测试。
3、基本路径测试:由于实际问题中,程序的路径是庞大的,因此要将覆盖的路径压缩到一定限度才能解决这个问题。基本路径测试就是在程序控制流程图的基础上,通过分析控制构造的环路复杂性,导出基本路径集合从面设计测试用例保证这些路径至少通过一次。
再来看看黑盒技术
黑盒测试是功能测试。测试的是程序的接口。在设计测试用例时有以下几种方法:等价类的划分、边界值分析、错误推测和因果图。这几种方法都不能提供一组完整的测试用例,在实际测试中应把各种方法结合起来使用。
1、等价类的划分:是将输入数据按有效的或无效的(也称合理的或不合理的)划分成若干个等价类,测试每个等价类的代表值就等于对该类其他值的测试。用该法设计测试用例的步骤为:
(1)划分等价类(列一个表)
(2)确定测试用例:根据已划分的等价类,按以下步骤设计测试用例:
1)为每个等价类编号
2)设计一个测试用例,使其尽可能多的覆盖尚未被覆盖过的合理等价类。重复这步直到所有合理等价类被测试用例覆盖。
3)设计一个测试用例,使其只覆盖一个不合理等价类。重复这一步直到所有不合理等价类被覆盖。
要注意课本上的例子,会应用这种方法设计测试用例
2、边界值分析:也就是在为设计测试用例时,在等价类范围内选择一些边界值作为测试用例,这样可以比单用等价类划分法所选的测试用例能查出更多错误,因为实践表明,程序更容易在处理边界值时发生错误。
3、错误推测:通常根据经验或直觉来推测程序中可能出现错误的情况,并有针对性的编写检查这些错误的测试用例。
4、因果图:因果图能够有效地检测输入条件的各种组合可能会引起的错误。它的基本原理是通过画因果图,把用自然语言描述的功能说明转换为判定表,最后为判定表的每一列设计一个测试用例。
在以上几种软件测试方法,各有所长,但各有所短,在实际测试中,应该采用综合策略,通常先用黑盒法设计基本的测试用例,再用白盒法补充一些必要的测试用例。
本节具体要掌握的就是等价类划分及边界值的测试用例设计。
相关推荐:2010年下半年软考试题及答案解析汇总北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |