软件测试技术与实践

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

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

1 / 36
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功