首页 6.人工测试技术

6.人工测试技术

举报
开通vip

6.人工测试技术*/57六.人工测试技术6.1概述6.2软件审查6.3代码审查6.4人工走查6.5人工测试举例**/576.1概述1.为什么需要人工测试2.人工测试方法的类型3.人工测试方法在开发过程中的应用4.人工测试方法的作用**/571.为什么需要人工测试 人们对软件测试往往有这样一种错误的认识:软件测试必须通过在机器上运行程序才能进行。 早在20世纪70年代Weinberg在《计算机程序设计心理学》一书中就指出通过阅读程序查找软件错误的必要性,并提出了令人信服的论证。**/57软件错误产生的原因 修改在机器测试发现的错误,...

6.人工测试技术
*/57六.人工测试技术6.1概述6.2软件审查6.3代码审查6.4人工走查6.5人工测试举例**/576.1概述1.为什么需要人工测试2.人工测试方法的类型3.人工测试方法在开发过程中的应用4.人工测试方法的作用**/571.为什么需要人工测试 人们对软件测试往往有这样一种错误的认识:软件测试必须通过在机器上运行程序才能进行。 早在20世纪70年代Weinberg在《计算机程序设计心理学》一书中就指出通过阅读程序查找软件错误的必要性,并提出了令人信服的论证。**/57软件错误产生的原因 修改在机器测试发现的错误,比修改人工测试所发现的错误更容易产生新的错误。**/57软件错误修复的代价错误发现的越早,修改错误的代价越低。**/57为什么需要人工测试 经验表明,通过人工测试方法,能够相当有效地查找程序中的错误。 所以,为了有效的保证软件质量,在一个软件测试过程中,应至少使用一种或多种人工测试技术。**/572.人工测试方法的类型(1)软件审查(SoftwareReview)(2)代码审查(CodeInspections)(3)人工走查(Walkthroughs)**/57人工测试方法的类型 软件审查主要是针对文档的评审。 代码审查和人工走查的对象主要是程序源代码。 人工测试方法,包括软件审查、代码审查和人工走查都是以召开评审会的方式进行。 评审的目的是查找错误,但不寻找纠错的方法(即查错而不纠错)。**/573.人工测试方法在开发过程中的应用**/574.人工测试方法的作用 软件审查可以找出各种文档的错误。 代码审查和人工走查方法能有效地查出30%到70%的逻辑设计和编码的错误,平均能够查出被测程序的38%错误。**/57人工测试方法的作用 代码审查和人工走查不但对测试一个新程序有很大作用,而且对测试一个程序的修改方案是否正确也具有同样的甚至更高的作用。 因为,修改一个现成的程序比写一个新的程序还容易出错,所以代码审查和人工走查对审查各种代码都是需要的。**/576.2软件审查1.软件审查的对象2.软件审查的类型3.软件审查的步骤4.软件审查会5.软件审查的评审列表6.软件审查的评审结果 **/571.软件审查的对象 软件审查是对软件开发各个阶段的成果的评审,如需求分析、概要设计、详细设计等阶段的文档及代码、测试 计划 项目进度计划表范例计划下载计划下载计划下载课程教学计划下载 和测试用例等。**/57软件审查的对象 需求分析文档; 概要设计文档; 详细设计文档; 编码; 测试计划; 测试用例 …**/572.软件审查的类型(1)需求评审(2)设计评审(3)代码评审(4)测试评审**/573.软件审查的步骤■制定计划■预审■准备■召开软件审查会■修改问题■终审**/574.软件审查会参加人员: 评审组长:1人; 被评审文档的作者:1~2人; 评审人员:2~3个。会议时间: 2~3个小时。**/575.软件审查的评审列表(1)正确性(2)完整性(3)一致性(4)有效性(5)可测试性(6)模块化(7)清晰性(8) 可行性(9) 可靠性(10)语法问题(11)可追踪性**/576.软件审查的评审结果 对每个评审项进行逐一审查; 评审结果分为四级:1.合格2.不合格3.待定4.不可用**/576.3代码审查1.代码审查小组2.代码审查的步骤3.代码审查会4.对代码审查会的要求5.代码检查错误清单**/571.代码审查小组 代码审查小组通常由4~5人组成,包括:(1)组织者(2)程序的设计者(3)程序的程序员(4)审查人员(5)记录员**/572.代码审查的步骤■制定计划■预审■准备■召开代码审查会■修改问题■终审**/573.代码审查会 会议之前:组织者把这个程序清单和设计规范分发给小组的其他成员,要求他们在会议之前熟悉这些材料。**/57代码审查会 会议期间:1.请程序员逐个语句地讲述程序的逻辑结构。其间大家提出问题加以追究,以断定错误是否存在。2.根据常见程序错误检验表分析程序。3.组织者要确保讨论有效地进行,并使参加者集中精力找出错误,而不是改正错误。**/57代码审查会 会议之后: (1)组织者把已查出错误清单交给程序员。(2)如果发现的错误很多,或如果发现有一个错误需做重大更正,那么组织者就应做出安排,以便在这些错误得到更正之后重新审查这个程序。**/574.对代码审查会的要求(1)审查会的时间和地点:地点:要安排好,以多免受外界干扰。时间:每次开会的时间最好是1.5~2个小时之间,时间过长效率不高。**/57对代码审查会的要求(2)被审查程序的程序员的态度很重要: 如果程序员把审查会看成对他的人格的攻击,有抵触情绪,那么审查过程就会没有什么效果。 程序员一定要用正确的和建设性的眼光看待代码审查,代码审查的目的在于发现程序中的错误,从而改进他的工作质量和整个项目的质量。**/574.代码检查错误清单(1)数据引用错误 用了未赋值的变量吗? 数组下标越界吗? 有数组引用问题吗? 指针运算正确吗? 字符串越界吗? 地址或下标运算中有“差1”错误吗?**/57代码检查错误清单(2)数据说明错误 所有变量都被说明了吗? 变量缺省属性的使用得正确吗? 数组与字符串的初始化正确吗? 变量的长度、类型、存贮类指定得正确吗? 变量的初始化与存贮类型一致吗? 有相似变量名吗?**/57代码检查错误清单(3)运算错误 有无对非算术变量进行运算? 有无混合运算? 有无不同长度的变量之间的运算? 中间结果有无上溢或下溢? 除法运算中有无用零作除数? 变量值是否超过有效范围? 运算符优先级用的是否正确? 整数除法运算是否正确?**/57代码检查错误清单(4)逻辑错误 多分支转移越界吗? 每一个循环是否终止? 程序能否终止? 是否有循环不被执行的情况? 对可能的“循环失败”处理是否正确? 有“差1”迭代错误吗? 有穷举的判断吗? **/57代码检查错误清单(5)比较错误 有不同类型变量之间的比较吗? 有混合类型的比较吗? 比较关系正确吗? 布尔表达式正确吗? 运算符优先级是否正确? 能否正确处理布尔表达式?**/57代码检查错误清单(6)接口错误 实参与形参的个数是否相同? 实参与形参的属性是否匹配? 实参与形参的单位是否匹配? 库函数调用所用的参数的个数、属性和次序是否正确? 引用了与当前入口无关的参数吗? 只读变量被修改了吗? 全程变量在各模块中定义一致吗?**/57代码检查错误清单(7)输入/输出错误 文件属性是否正确? 文件打开是否正确? 格式说明与I/O语句是否一致? 缓冲区大小与记录大小是否匹配? 使用了未打开的文件吗? 文件结束条件处理了吗? I/O错误处理了吗?**/57代码检查错误清单(7)其它检查 程序功能是否遗漏? 程序有帮助信息吗? 编译时是否有警告和提示信息?**/576.4人工走查1.人工走查的概念2.人工走查的步骤3.人工走查小组4.人工走查会5.对人工走查会的要求**/571.人工走查的概念 人工走查是利用测试数据来人工运行程序达到测试的目的,人工走查也称为人工运行。 人工走查与代码审查有很多相同之处,只是步骤稍有不同。 人工走查与代码审查一样,都是通过召开审查会的方式进行。 人工走查运用了与代码审查不同的错误检查方法。**/572.人工走查的步骤■制定计划■预审■准备■召开人工走查会■修改问题■终审**/573.人工走查小组组成人员:(1)组织者(2)秘书(3)测试员(4)程序的程序员(5)其他参加人员(可选): 具有丰富实践经验的程序员 程序语言专家 不是这个程序小组中的程序员 最终将维护这个程序的人 这个程序小组中的另外一个程序员**/574.人工走查会 会议之前: 组织者把这个程序清单和设计规范分发给小组的其他成员,要求他们在会议之前熟悉这些材料。**/57人工走查会 会议期间:(1)与会者不是简单的阅读程序和使用错误检查表,而是都被当作“计算机”运行程序。(2)测试员要准备好典型测试用例,并带到会场上。(3)与会者要用大脑来运行每一个测试用例,并在纸上记录结果。(4)在人工运行中,如发现错误,应向程序员提问,并找出原因。**/57人工走查会 会议之后: (1)组织者把已查出错误清单交给程序员。(2)对发现的错误要有追踪,组织者就应做出安排,在这些错误得到修改之后重新进行人工审查。**/575.对人工走查会的要求(1)审查会的时间和地点:地点:要安排好,以多免受外界干扰。时间:每次开会的时间最好1.5~2个小时。**/57人工走查会的要求(2)被审查程序的程序员的态度很重要: 如果程序员对审查会有抵触情绪,那么审查过程可能就会没有什么效果。 人工审查的目的在于发现程序中的错误,审查的对象是程序而不是程序员本人。**/576.5人工测试举例1.对产品 说明书 房屋状态说明书下载罗氏说明书下载焊机说明书下载罗氏说明书下载GGD说明书下载 的评审2.程序代码的等级评定**/571.对产品说明书的评审(1)总体评审(2)详细评审**/57(1)总体评审1.应尽量满足用户的合理需求2.应符合通用的和已有的标准和规范 公司惯用语和约定 行业要求 国家标准 GUI标准 硬件和网络标准**/57(2)详细评审1.完整性:产品的功能是否遗漏和缺失?2.正确性:产品的实现方案正确吗?3.精确性:产品的目标是否清楚?可量化吗?**/57详细评审4.一致性:产品的功能描述是否自相矛盾?5.确切性:产品功能描述是否必要?有没有多余描述?是否符合用户需求?**/57详细评审6.合理性:在一定的预算和进度下,现有人力、物力和资源是否能够实现产品目标?7.可测试性:产品性能是否可测试?8.代码无关性:软件设计不与具体代码相关。**/572.程序代码的等级评定(1)等级评定的目的(2)等级评定的标准(3)等级评定的过程**/57(1)等级评定的目的 等级评定可以作为代码审查的一部分进行。 等级评定是根据程序的全面质量、可维护性、可扩充性、可用性和清晰性来匿名评定程序员的一种技术。**/57(2)等级评定的标准等级评定标准:对每个评审项按1-7级打分。程序易于理解吗?看得出这是高水平设计吗?依据是什么?看得出这是低水平设计吗?依据是什么?你能很容易修改这个程序吗?如果是你写的,你会为这个程序而感到自豪吗?**/57(3)等级评定的过程1.选一个程序员为等级评定会的主持人。2.选择6-20参评者。(每次评定同类程序,要求参评者具有相同背景。)3.要求每一个参评者选择2个程序参加评定,其中一个为他认为自己“最好的”程序,另一个是他认为自己“最差的”程序。**/57等级评定的过程4.在等级评定会上,主持人把这些程序随机的分给参评者每人4个程序,其中2个是“最好的”程序,2个是“最差的”程序,但是不告诉参评者程序的类别和作者。5.每个参评者用30分钟来检查程序,并按照评定标准给出一个评定结果。**/57等级评定的过程6.然后,参评者对程序进行交叉评定,每个参评者再评定4个程序。7.最后,给出总的评价和改进意见,并把评定意见发给参评者。**/57思考题1.你所在单位(公司)是否有人工测试,其过程是什么?是如何组织的?2.人工测试分为哪几种?各有什么用途?**/57本讲到此结束,谢谢!*********************************************************
本文档为【6.人工测试技术】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
xxj7584
暂无简介~
格式:ppt
大小:849KB
软件:PowerPoint
页数:0
分类:建造师考试
上传时间:2020-03-18
浏览量:0