- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
例如:某城市的电话号码由3部分组成,这3部分的名称和内容为: 地区码:空白或3位数字。前缀:非‘0’或‘1’开头的3位数字。后缀:4位数字。 假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的号码,试用等价类划分法设计它的测试用例。 ① 划分等价类。表8-2列出了划分的结果,包括4个有效等价类,11个无效等价类。在每一类等价类后均加以编号,便于识别。 ② 确定测试用例。表8?2中有4个有效等价类,可以共用表8-3中两个测试用例: 对11个无效等价类,应选择11个测试用例。例如前3个无效等价类可能使用3个测试用例,如表8-4所示: (2)边界值分析法 在等价类划分法中,将代表一个类的测试数据选在等价类的边界上。 例如,测试条件为X = 400时,可以选择测试数据为 X = 399, X = 400, X = 401。 边界值分析法与等价类划分法区别 (1)边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。 (2)边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况。 (3)错误推测法 错误推测法是根据经验、直觉和预感来进行测试;而等价类划分法和边界值分析法有设计依据。 (4)因果图法 因果图法是借助因果图这种图形来设计测试用例的一种系统方法,特别适合于被测试程序有多种输入条件,程序输出又依赖于输入条件的多种组合的情况。 因果图方法最终生成的是判定表。 2.白盒测试用例 白盒测试以程序的内部逻辑为设计依据。 (1)逻辑覆盖法 测试过程分类(按照覆盖通路不同) 含义 1 语句覆盖 使被测试程序的每条语句至少执行一次 2 判定覆盖 使被测试程序的每一分支都至少执行一次 3 条件覆盖 要求判定中的每个条件都按“真”、“假”两种结果至少执行一次。 4 判定/条件覆盖 同时满足判定覆盖和条件覆盖的要求 5 条件组合覆盖 要求判定中每个条件的各种可能组合都至少出现一次 例如,图8-4是一个程序的逻辑结构流程图,对该逻辑结构设计的不同逻辑覆盖的测试用例如表8-5所示。 (2)路径测试法 测试过程的分类 (按照覆盖内容不同) 含义 1 结点覆盖 程序的测试路径至少经过程序图中的每个结点一次 2 边覆盖 程序的测试路径至少经过程序图中每条边一次。 3 路径覆盖 要求程序图中每条路径都至少经过一次 ① 结点覆盖:abdghi、aceghi。 ② 边覆盖:abdfi、aceghi。 ③ 路径覆盖:abdfi、abdghi、aceghi、acefi。 例如,程序流程图和结构图分别如图8-5(a)、(b)所示,按照不同的覆盖标准设计的测试用例如下: 8.6.3程序调试 程序调试活动包括:根据错误的迹象确定程序中错误的确切性质、原因和位置;对程序进行修改,排除错误。 程序调试的基本步骤为: 定位错误 修改设计和代码以排除错误 回溯测试,防止引进新的错误 1.错误定位 程序调试中最困难也是最重要的一步就是错误定位. 跟踪法 在程序调试过程中,以上这些方法不是孤立的。 演绎法 归纳法 试凑法 ① 反向跟踪 ② 正向跟踪 定位错误有以下方法: 2.调试程序的手段 打印语句 调试语句或调试程序 转储命令和程序 插入打印语句,动态输出变量结果 单步调试,断点设置等 输出存储器指定区域的全部内容 3.调试举例 (1)通过添加打印输出语句查找错误 下面这个C程序的例子实现的功能是:将用户输入的一个字符插入到用户输入字符串的指定位置中。 # include stdio.h # include string.h void main() { int i,k,len; //k存放要插入的位置,len存放字符串长度 char ch; //存放要插入的字符 char str[80]; printf(请输入字符串:); scanf(%s,str); printf(请输入要插入的字符:); ch = getchar(); printf(请输入要插入的位置:); scanf(%d,k); len = strlen(str); for(i = len - 2; i=k-1; i--) //从最后一个字符开始移动字符串中的字符 str[i+1] = str[i]; str[i] = ch; ? puts(str); } 对程序进行修改,修改后完整的程序如下: # include stdio.h # include string.h void main() { int i,k,len; //k存放要插入的位置,len存放字符串长度 ch
您可能关注的文档
- 《数字营销资料》21.3.pptx
- 《数字营销资料》China event-Michael Roth.ppt
- 《数字营销资料》Digital Marketing_F&S_Neil Wang_042414.pptx
- 《数字营销资料》Innovation and Technology for Better Engagement V5 CN.pptx
- 《数字营销资料》Innovation and Technology for Better Engagement V5 EN.pptx
- 《数字营销资料》Scottsnote.docx
- 《数字营销资料》微博营销-2014-short-CN-Final.pptx
- 《数字营销资料》微博营销-2014-short-EN-Final.pptx
- 《私密未来 尽在掌握— Candy开启未来生活方式 引领消费潮流》.ppt
- 《思科安全移动解决方案》.pptx
文档评论(0)