《静态测试》PPT课件.ppt

上传人:牧羊曲112 文档编号:5677731 上传时间:2023-08-08 格式:PPT 页数:38 大小:281.99KB
返回 下载 相关 举报
《静态测试》PPT课件.ppt_第1页
第1页 / 共38页
《静态测试》PPT课件.ppt_第2页
第2页 / 共38页
《静态测试》PPT课件.ppt_第3页
第3页 / 共38页
《静态测试》PPT课件.ppt_第4页
第4页 / 共38页
《静态测试》PPT课件.ppt_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《《静态测试》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《静态测试》PPT课件.ppt(38页珍藏版)》请在三一办公上搜索。

1、1,第二章 静态测试,软件测试方法和应用 2-2,本章要点,讨论与静态测试相关的内容,包括评审评审的定义和分类同行评审的分类评审工作流程对规格说明书的测试源代码评审静态分析及其工具,软件测试方法和应用 2-3,静态测试,定义 通过检查和评审软件而不是运行软件对软件进行测试的方法 对象各种与软件相关的有必要进行测试的产物,例如各类文档、源代码等方法评审对软件元素或项目状态进行评估的活动,用以确定与预期结果之间的偏差和相应的改进意见通常由人来执行静态分析被测程序进行特性分析的一些方法的总称 通常需要工具辅助,软件测试方法和应用 2-4,缺陷发现越早修复成本越低,软件测试方法和应用 2-5,评审,除

2、了在项目早期发现缺陷和降低项目失败风险外,项目中需要进行评审的其它原因包括分享知识培训团队成员为管理层决策提供依据为过程改进提供信息评审分类培训评审预备评审同行评审状态评审,软件测试方法和应用 2-6,同行评审(Peer Review)由开发软件产品作者以外的其他人检查工作产品,以发现缺陷并寻找改进的机会 方法:评审参与者主要采用一行一行仔细阅读被评审对象的形式发现被测对象中的缺陷一般设在里程碑点附近,即当工作产品到达了一个完成的里程碑并即将进入下一个开发阶段时,同行评审,软件测试方法和应用 2-7,V模型的评审时间点,评审,评审,评审,评审,评审,评审,走读,静态分析,软件测试方法和应用 2

3、-8,同行评审的类型审查小组评审走读桌面评审临时评审这些同行评审类型的区别在于正式程度审查是最正式,然后是小组评审、走读、桌面评审,临时评审最随意同行评审越正式,发现的缺陷越多,但评审越正式,花费成本越高被评审对象越重要或者风险越高,采用的评审方式越正式,同行评审的类型,软件测试方法和应用 2-9,审查,说明IBM的工程师Michael Fagan于20世纪70年代提出,也叫正式评审,是一种包括非作者等专家在内的针对特定对象,如需求规格书、设计文档和源代码进行检查以发现缺陷的过程审查是一种有结构有规则的评审方法。Fagan的审查流程包括:计划、介绍会议、准备、会议、返工、跟踪、因果分析,每个阶

4、段定义参与审查的角色相应的输入、输出,软件测试方法和应用 2-10,审查流程,软件测试方法和应用 2-11,审查中的角色,作者被评审对象的创建者,提供被评审对象及其相关信息评审组长 组织评审会议,确保审查活动能够正确地进行审查专家发现被评审对象中的问题读者在会议上讲解被评审对象,使评审专家把精力集中在被评审对象本身而不是作者记录员记录会议阶段有价值的信息,软件测试方法和应用 2-12,计划参与者:作者和评审组长在这个阶段,需要开展如下工作选择评审组长确定审查对象确定审查专家确定总体会议、会议次数和相应的时间表准备和分发审查工作包,审查包中包括被审查对象的初始可交付产品、相关参考文档、缺陷检查表

5、、指导书、错误记录模版和其它材料,审查工作流程,软件测试方法和应用 2-13,总体会议本阶段可选,主要目标是让审查专家熟悉被审查对象,包括对象特征、上下文、背景等参与者:所有需要参加审查的人员准备参与者:审查专家这是审查最重要的阶段。在这个阶段,审查专家独立工作、逐行阅读被审查对象,将任何发现问题、疑问记录在审查意见单中评审组长根据各个审查专家提交的意见决定是否按时或者推迟召开审查会议,审查工作流程,软件测试方法和应用 2-14,会议 参与者:作者、评审组长、审查专家、读者、记录员在会议阶段读者分段逐个阅读审查对象,审查专家听取讲解并考虑是否有新的问题提出。评审组长组织对所有审查意见单上的问题

6、列表进行确认,作者确认是否是问题,记录员在问题列表上记录答复和在会上发现的新缺陷。在会议结束前,所有人投票,给出对工作产品的审查结论。,审查工作流程,软件测试方法和应用 2-15,返工 参与者:作者在此阶段,作者修改会议中确认的问题,输出修改后的交付产品跟踪参与者:评审组长/质量工程师/指定的审查专家检查修改后的交付件,如果通过,则输出可基线的交付物因果分析参与者:质量工程师在这个阶段,开展如下工作:分析缺陷原因度量审查效率和效果,审查工作流程,软件测试方法和应用 2-16,审查规则,为了更好地发挥审查的作用,在审查中有一组需要遵守的原则作者不能担当评审组长、读者或记录员等角色,要保持开放的思

7、想,接受别人的意见,避免争论评审组长不要同时担任记录员控制审查小组规模:37个审查专家为好审查专家要努力发现被审查对象中的问题,审查过程中始终保持对问题的敏感性审查期间要努力发现问题不要试图去解决问题会议限制在两个小时之内在会议上,审查团队要保持一个适当的审查速度,每小时150200行代码或34页文档,软件测试方法和应用 2-17,小组评审,小组评审类似于审查,是一种“轻型审查”,同样可以可采用审查的指导方针和流程,只是没有审查正式也没有审查严格,会议期间读者的角色由评审组长代替小组评审方法发现问题的数量是审查的2/3,软件测试方法和应用 2-18,走读和同级桌查,走读 产品的作者一组同事说明

8、该产品,希望获得他们的意见以满足自己的需要。走查是一种非正式的评审,其过程由作者主持,没有标准的流程可循发现的缺陷数量比审查少一半过程同级桌查一对一评审,是指只有除作者以外只有一位评审专家对工作产品进行检查,软件测试方法和应用 2-19,临时评审,临时评审请团队内其他同事帮忙,在短时间内解决一些问题举例假设这样一个场景:Susan是一个程序员,她正在检查自己的代码。John,Susan的同事,是另外一个程序员:Susan:”Hi,John,能帮个忙吗?”John:”当然,我现在刚好有空”Susan:”我的程序有点问题,但我不找不到问题在哪里”John:”Okey!让我看看!”几分钟后,”Oh,

9、问题可能在这儿,你看,这里有变量用错误,这个“i”好像没定义过,你是不是想用“j”?Susan:”Oh,yeah!没错!非常感谢!”,软件测试方法和应用 2-20,软件评审指导书,内容目的 范围 评审角色及职责 过程准则 目标进入标准活动退出标准度量相关资料 过程监控,软件测试方法和应用 2-21,检查软件的规格说明书一般采用逐行阅读说明书以发现缺陷的方式,规格说明书的测试应该在说明书整体或者部分完成后立即开展原因尽早发现缺陷使说明书具有更好的可测试性软件测试人员可以更加熟悉系统应用具体方法静态黑盒测试:由于考虑到规格说明书的重要性,很多软件项目选择审查作为评审规格说明书的方式在进行规格说明书

10、审查时可以采用如下技术:对说明书进行概要评审对说明书进行详细评审,测试规格说明书,软件测试方法和应用 2-22,目标发现特定的缺陷,比如大的原理性问题,遗漏或过度复杂的描述等可以使用如下技术假设作为用户:质量就是满足用户要求研究现有标准和基线评审和测试类似软件系统,规格说明书的概要评审(1),软件测试方法和应用 2-23,假设作为用户从用户的角度检查规格书,可以问自己如下问题,如果我是软件的客户:我需要什么样的功能?我需要的所有功能是否都包含在规格书中了?是否存在与现有系统冲突的功能?功能是否易于使用?性能如何?功能的安全情况如何?等等如果能从一些熟悉软件目标应用领域的人处获得支持,对评审过程

11、将是非常有帮助的,规格说明书的概要评审(2),软件测试方法和应用 2-24,研究现有标准和基线当对规格书进行概要评审的时候,测试人员应该参考现有的标准和基线:组织标准、术语和惯例:软件应该使用终端用户的通用术语和惯例工业标准:在某些工业领域,例如通讯、金融,有很多应用软件必须遵守的协议政府标准安全标准等等测试人员应该把相关标准作为规格说明书评审的一部分评审规格说明书的同时,测试人员应该验证系统参考了正确的标准并且没有遗漏,规格说明书的概要评审(3),软件测试方法和应用 2-25,评审和测试类似软件没有什么比经验更好的东西了,从类似软件中可以得大量有用的信息,这些参考软件可能是:正在开发系统的早

12、期版本组织内的类似软件竞争对手产品分析类似软件的时候,应密切关注如下问题并考虑这些是否会影响被测试系统:特性是否有增删?代码变更比例如何?软件的复杂度是否有区别?可测试性如何?性能、安全性和其他一些非功能特性如何?最后,不要忘了你可以从公共出版物和网上找到有价值的信息,规格说明书的概要评审(4),软件测试方法和应用 2-26,一个好的规格说明书具有如下属性完整性:是否忘记或遗漏了什么内容?是否彻底?是否包含了该说明书所必须包含的所有信息?精确性:建议的提案是否正确?是否定义了合适的目标?是否有什么错误?准确性、明确而清晰:描述是否清晰明确,是否有歧义?是否易于阅读和理解?一致性:特性描述内部和

13、特性之间是否相互矛盾相关性:细分特性是否必须?是否需要去除不必要的信息?特性是否可以跟踪到一个原始用户需求可行性:项目计划和预算都是明确的,在给定的人力、工具和资源条件下,特性能否实现?,规格说明书的详细评审(1),软件测试方法和应用 2-27,一个好的规格说明书具有如下属性代码无关:规格书的目标是定义产品需求而不是软件设计,架构和代码可测试的:特性是否可测试?是否提供了让测试人员得以验证功能的足够信息检查规格说明书的同时,时刻关注评审的文字和图片是否具有这样的属性,规格说明书的详细评审(2),软件测试方法和应用 2-28,问题词语列表评审规格说明书的时候应密切关注下面的一些词汇以及这些词汇的

14、上下文含义是否清晰,这些常常会带来缺陷:总是、每个、所有、没有一个、从来不:这些词表示肯定和确定的含义,必须确认该用这些词语,或找出不该使用的理由当然、所以、明显地、无疑、显然:这些词有劝说人接受的意思,规格书中尽量避免一些、有时、经常、通常、大部分、主要的、等等、类似、好、快、便宜、高效、小和稳定:这些词可测试性差,必须进一步定义以给出确切的含义描述有把握的、处理过的、拒绝的、跳过的、去掉的:这些词可能隐藏一些本该详细说明的功能性需求如果.那么:这些描述依赖于其他因素,不可取,规格说明书的详细评审(3),软件测试方法和应用 2-29,在代码全部或部分完成后,应立即进行逐行代码评审以发现缺陷原

15、因发现缺陷越早越好使得程序更具可测试性软件测试人员可以更加熟悉系统方法静态白盒测试:很多软件项目团队选择审查作为评审核心代码的方式,采用走读和同级桌查作为一般代码的评审方式团队采用如下原则进行代码评审效果更好评审人员有程序开发语言的专业知识有程序基线和标准供参考,代码检查,软件测试方法和应用 2-30,编码规范编码规范是代码编写过程中必须遵循的规则,包含了程序开发的最佳实践、在编写代码时重复这些最佳实践有助于生产高质量的软件。代码检查表代码检查表是对应于编码规范中的各个标准与规范开发的检查项,包含容易出错和以往在工作中遇到的典型错误,可以认为是在进行代码评审时用到的测试用例。在进行代码评审时,

16、评审专家会关注被评审代码是否符合检查表规范,如果不符合则很可能存在缺陷。,编码规范和代码检查表,软件测试方法和应用 2-31,请注意不同的编码语言和项目团队可能采用不同的标准和基线,适合项目的就是最好的编码规范和检查表应该在一个项目完成后被检验和更新,编码规范和代码检查表,软件测试方法和应用 2-32,静态分析,定义静态分析是对被测程序进行特性分析的一些方法的总称,一般借助工具进行 可提供的功能包括:发现代码中的缺陷,包括用错的局部变量和全程变量不匹配的参数不适当的循环嵌套和分支嵌套不适当的处理顺序无终止的死循环未定义的变量不允许的递归调用并不存在的子程序遗漏了标号或代码不恰当的连接等,软件测

17、试方法和应用 2-33,静态分析,可提供的功能找到潜伏着缺陷的根源。未使用的变量不会执行到的代码未引用过的标号可疑的计算潜在的死循环等提供间接涉及程序缺陷的信息:每一类型语句出现的次数、所用变量和常量的交叉引用表、标识符的使用方式、过程的调用层次、违背编码规则等为进一步查错作准备。,软件测试方法和应用 2-34,静态分析工具,说明静态分析工具是一类实现静态分析方法的软件工具,通过对代码进行扫描并对其进行词法和语法分析,构造与代码结构特征相关的抽象模型以达到对代码进行某些方面分析的目的。分类按照功能,例如代码审查一致性检查交叉索引接口分析输入输出规格说明分析数据流分析错误检查类型分析单元分析,软

18、件测试方法和应用 2-35,静态分析工具,基于数据流分析方法的静态分析工具,可提供的缺陷信息:语法错误信息;各种类型源语句出现的次数;标识符使用的交叉索引;标识符在每个语句中使用的各种情况,如数据源点、数据终点、调用参数、哑参数和下标等;每个程序所调用的子程序和函数;未经初始化的变量;未曾使用过的变量;任何输入数据都执行不到的孤立代码段;违背编码标准之处,包括背离语言标准以及用户制定的实用标准;错用的全程变量、公用变量及参数表,如参数个数有误、类型不匹配、输入参数未经初始化、输出参数未赋值、输出参数虽赋值但未使用、对输入和输出均无用的参数等等。,软件测试方法和应用 2-36,静态分析工具,按工

19、具来源分商业工具Klocwork InsightGIMPEL Software的PC-Lint(针对C/C+语言)ParaSoft的C+Test和JTest开源工具FindBugs,软件测试方法和应用 2-37,小结,静态测试的对象集中在需求文档、设计文档以及程序代码上,是在不执行被测代码的条件下发现缺陷的一类方法。通过运用静态测试方法可以尽早地发现软件中的缺陷。常用的静态测试方法包括评审、静态分析等。同级评审是以发现缺陷为主要目的的一种评审方法。按照正式程度由高到低,同级评审可分为审查、小组评审、走查、同行桌查和临时评审等几种。在实际的项目开发过程中,被评审对象越重要或者风险越高,采用的评审方法越正式。静态分析是对被测程序进行特性分析的一些方法的总称,可用于确定代码某些特定类别的缺陷。经过评审、静态分析之后的代码,为真正进行动态的代码测试做好了准备。,软件测试方法和应用 2-38,问题,Q&A,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号