软件测试技术与实践ppt课件.ppt_第1页
软件测试技术与实践ppt课件.ppt_第2页
软件测试技术与实践ppt课件.ppt_第3页
软件测试技术与实践ppt课件.ppt_第4页
软件测试技术与实践ppt课件.ppt_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

五 人工测试 l人工测试和机器测试l人工测试方法l代码审查l人工走查l等级评定l对产品说明书的审查 1 五 人工测试 人们对软件测试往往有这样一种错误的认识 软件测试必须通过在机器上运行程序才能进行 早在70年代Weinberg在其 计算机程序设计心理学 一书中就指出读程序的必要性 并提出了令人信服的论证 错误发现的越早 修改错误的代价越低 修改在机器测试时发现的错误 比修改人工测试所发现的错误更容易产生新的错误 2 五 人工测试 经验表明 人工测试能相当有效地查找错误 所以 为了有效的保证软件质量 在一个软件的开发过程中 应使用一种或多种人工测试技术 3 5 1人工测试方法 人工测试方法 1 代码审查 CodeInspections 2 人工走查 Walkthroughs 4 5 1人工测试方法 代码审查和人工走查都要求一组人员来阅读程序 代码审查和人工走查开始之前都要求参加者作一些预备工作 召开一个代码审查和人工走查的审查会 会议的目的是寻找错误 但不寻找纠错的方法 即查错而不纠错 5 5 1人工测试方法 使用代码审查和人工走查方法测试有代表性的程序时 能有效地发现30 到70 的逻辑设计和编码的错误 一个对照实验发现 人工走查和代码审查平均能代出被测程序的38 错误 IBM代码审查会的查错效率高达80 6 5 1人工测试方法 代码审查和人工走查不但对测试一个新程序有很大作用 而且对测试一个程序的修改方案是否正确也具有同样甚至更高的效用 经验表明 修改一个现成的程序比写一个新的程序还容易出错 7 5 2代码审查 CodeInspections 代码审查小组通常由四人组成 1 会议组织者 2 程序的设计者 3 程序的程序员 4 测试专家 8 5 2代码审查 CodeInspections 代码审查会的过程如下 会议之前 组织者把这个程序清单和设计规范分发给小组的其他成员 要求他们在会议之前熟悉这些材料 9 5 2代码审查 CodeInspections 代码审查会的过程如下 会议期间 1 请程序员逐个语句地讲述程序的逻辑结构 其间大家提出问题加以追究 以断定错误是否存在 经验表明 实际上 有许多错误是在叙述的过程中被程序员自己发现的 而不是其他小组成员发现的 2 根据常见程序错误检验表分析程序 3 组织者要确保讨论有效地进行 并使参加者集中精力找出错误 而不是改正错误 10 5 2代码审查 CodeInspections 代码审查会的过程如下 会议之后 1 组织者把已查出错误清单交给程序员 2 如果发现的错误很多 或如果发现有一个错误需做重大更正 那么组织者就应做出安排 以便在这些错误得到更正之后重新审查这个程序 11 5 2代码审查 CodeInspections 代码审查会的要求 1 审查会的时间和地点 地点 要安排好 以多免受外界干扰 时间 每次开会的时间最好是90分钟至120分钟之间 时间过长效率不高 12 5 2代码审查 CodeInspections 代码审查会的要求 2 被审查程序的程序员的态度很重要 如果程序员把审查会看成对他的人格的攻击 有抵触情绪 那么审查过程就会没有什么效果 程序员一定要用正确的和建设性的眼光看待代码审查 代码审查的目的在于发现程序中的错误 从而改进他的工作质量和整个项目的质量 13 5 2代码审查 CodeInspections 程序错误检查表 1 数据引用错误用了未赋值的变量吗 数组下标越界吗 有悬持引用问题吗 指针运算正确吗 字符串越界吗 地址或下标运算中有 差1 错误吗 14 5 2代码审查 CodeInspections 程序错误检查表 2 数据说明错误所有变量都被说明了吗 缺省属性使用得正确吗 数组与字符串的初始化正确吗 变量的长度 类型 存贮类指定得正确吗 初始化与存贮类一致吗 有相似变量名吗 15 5 2代码审查 CodeInspections 程序错误检查表 3 计算错误有无对非算术变量进行运算 有无混合运算 有无不同长度的变量之间的运算 中间结果有无上溢或下溢 有无用零作除数 变量值是否超过有效范围 运算符优先级用得是否正确 整数除法运算是否正确 16 5 2代码审查 CodeInspections 程序错误检查表 4 控制流错误多路转移越界吗 每一个循环是否终止 程序能否终止 由于入口条件的原因是否有循环不被执行的情况 可能的 循环失败 是否正确 有 差1 迭代错误吗 有非穷举的判断吗 17 5 2代码审查 CodeInspections 程序错误检查表 5 比较错误有不同类型变量之间的比较吗 有混合类型的比较吗 比较关系正确吗 布尔表达式正确吗 运算符优先级是束正确 编译程序能否正确处理布尔表达式 18 5 2代码审查 CodeInspections 程序错误检查表 6 接口错误实参与形参的个数是否相同 实参与形参的属性是否匹配 实参与形参的单位是否匹配 调用库函数所用的参数的个数 属性和次序是否正确 引用了与当前入口无关的参数吗 只读变量被修改了吗 全程变量在各模块中定义一致吗 19 5 2代码审查 CodeInspections 程序错误检查表 7 输入 输出错误文件属性是否正确 文件打开是否正确 格式说明与I O语句是否一致 缓冲区大小与记录大小是否匹配 使用了未打开的文件吗 文件结束条件处理了吗 I O错误处理了吗 20 5 2代码审查 CodeInspections 程序错误检查表 7 其它检查程序功能是否遗漏 程序有错误警告和提示信息吗 程序有帮助信息吗 21 5 3人工走查 Workthroughs 人工走查也称为人工运行 与代码审查会有很多相同之处 只是步骤稍有不同 人工走查与代码审查一样 首先要通过资料研究程序 22 5 3人工走查 Workthroughs 人工走查是利用测试数据来人工运行程序达到测试的目的 人工走查运用了与代码审查会不同的错误检查方法 23 5 3人工走查 Workthroughs 人工走查小组的组成 1 组织者 2 秘书 3 测试员 4 程序的编写者 5 其他参加人员 可选 具有丰富实践经验的程序员程序语言专家不是这个程序小组中的程序员最终将维护这个程序的人这个程序小组中的另外一个程序员 24 5 3人工走查 Workthroughs 人工审查会的过程如下 会议之前 组织者把这个程序清单和设计规范分发给小组的其他成员 要求他们在会议之前熟悉这些材料 25 5 3人工走查 Workthroughs 人工审查会的过程如下 会议期间 1 与会者不是简单的阅读程序和使用错误检查表 而是都被当作 计算机 运行程序 2 测试员要准备好典型测试用例 并带到会场上 3 与会者要用大脑来运行每一个测试用例 并在纸上记录结果 4 在人工运行中 如发现错误 应向程序员提问 并找出原因 26 5 3人工走查 Workthroughs 人工审查会的过程如下 会议之后 1 组织者把已查出错误清单交给程序员 2 对发现的错误要有追踪 组织者就应做出安排 在这些错误得到修改之后重新进行人工审查 27 5 3人工走查 Workthroughs 人工审查会的要求 1 审查会的时间和地点 地点 要安排好 以多免受外界干扰 时间 每次开会的时间最好1 5 2个小时 28 5 3人工审查 CodeInspections 人工审查会的要求 2 被审查程序的程序员的态度很重要 如果程序员对审查会有抵触情绪 那么审查过程可能就会没有什么效果 人工审查的目的在于发现程序中的错误 审查的对象是程序而不是程序员本人 29 5 4等级评定 PeerRatings 等级评定的目的 等级评定可以作为代码审查的一部分进行 等级评定是根据程序的全面质量 可维护性 可扩充性 可用性和清晰性来匿名评定程序员的一种技术 30 5 4等级评定 PeerRatings 等级评定的过程如下 1 选一个程序员为等级评定会的主持人 2 选择6 20参加评定者 注 每次评定同类程序 所以要求参评者具有相同背景 3 要求每一个参评者选择两个程序参加评定 其中一个为他认为自己最好的程序 另一个是他认为自己最差的程序 31 5 4等级评定 PeerRatings 等级评定的过程如下 4 在等级评定会上 主持人把这些程序随机的分给参评者每人四个程序 其中两个是 最好的 程序 另两个是 最差的 程序 但是不告诉参评者程序的类别和作者 5 每个参评者用30分钟来检查程序 然后给出一个评价 6 每个参评者再对其他人评定过的四个程序进行质量评定 并给出总的评价和改进意见 32 5 4等级评定 PeerRatings 等级评定的结果 按1 7级给下列问题打分 1 程序易于理解吗 2 看得出这是高水平的设计吗 根据是什么 3 看得出这是低水平的设计吗 根据是什么 4 你能很容易的修改这个程序吗 5 你为自己写了这个程序而感到自豪吗 33 5 4等级评定 PeerRatings 等级评定的结果 把对每个参评者自己程序的匿名评价结果发给程序作者 给出一个所有参评程序的评价表 指出每个参评者程序在所有参评程序的级别 给出其他参评者对参评者程序的评价 找出自己与其他参评者对同一程序评价的区别 34 5 5对产品说明书的审查 高级审查 1 软件设计应尽量满足用户的合理需求2 符合通用的和已有的标准和规范公司惯用语和约定 行业要求 国家标准 G

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论