检验和有效性验证课件.ppt

上传人:牧羊曲112 文档编号:3351025 上传时间:2023-03-12 格式:PPT 页数:41 大小:424.50KB
返回 下载 相关 举报
检验和有效性验证课件.ppt_第1页
第1页 / 共41页
检验和有效性验证课件.ppt_第2页
第2页 / 共41页
检验和有效性验证课件.ppt_第3页
第3页 / 共41页
检验和有效性验证课件.ppt_第4页
第4页 / 共41页
检验和有效性验证课件.ppt_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《检验和有效性验证课件.ppt》由会员分享,可在线阅读,更多相关《检验和有效性验证课件.ppt(41页珍藏版)》请在三一办公上搜索。

1、检验和有效性验证,确保一个软件系统满足用户的需求,目标,软件检验和软件有效性验证之间的区别在程序中发现缺陷的程序检查过程及其在检验和有效性验证中的作用静态分析方法作为一种检验技术净室软件开发方法,内容,检验和有效性验证规划软件检查自动静态分析净室软件开发方法,检验:“我们是否在正确地建立一个产品软件应该符合它的描述有效性验证:“我们是否在建立一个正确的产品软件应该满足用户真正的需要,检验与有效性验证,是个全生命周期的过程检验和有效性验证应该应用到软件过程的每个阶段有两个主要目的发现系统中的缺陷评估系统在实际操作中是否可用,检验和有效性验证过程,软件检查 分析系统的静态表述以发现问题(静态检验)

2、可能增加基于工具的文档和代码分析软件测试 实际运行和观察软件的行为(动态检验)系统实用测试数据执行,然后观察其运行的行为,静态和动态检验,静态和动态V&V,可以发现错误的存在,不是错误的不存在一次成功的测试能够发现一个或更多的错误对于非功能需求是唯一的验证手段应该和静态检验联合使用以提供全面的检验和有效性验证,程序测试,缺陷测试设计测试以发现系统缺陷成功的测试是发现系统中缺陷的存在第20章中详述统计性测试设计测试以用户输入的频度。用于可靠性估计。第21章中详述,测试的类型,V&V 目标,检验和有效性验证的目标是要确信软件符合使用目的这并不意味着程序完全没有缺陷而是表明系统足以满足使用要求。使用

3、类型决定了所需的信任程度,V&V 的信任程度,依赖于系统的设计目标、用户的期望和市场环境软件功能系统需要的信任程度取决于该软件在机构中的重要程度用户期望用户对某些软件期望很低市场环境在市场上推出产品可能比在程序中找出缺陷更加重要,缺陷测试和调试是截然不同的过程检验和有效性验证是一个证明软件系统中存在缺陷的过程调试是一个对缺陷定位和修改的过程调试需要先对程序行为作出假设,然后对这些假设进行测试以发现系统错误,测试和调试,调试过程,仔细规划才能从测试和检查过程中收获更多规划应该从开发的较早阶段开始规划应该在静态检验和动态测试之间均衡考虑测试规划是关于测试过程的标准定义,而不是描述产品测试内容,V&

4、V 规划,开发的V字形模型,软件测试计划的结构,测试过程需求跟踪测试项目测试进度安排测试记录过程硬件和软件需求约束,软件检查,相关人员检查代码和文档,以发现不规范和缺陷不要求执行系统,所以可在系统实现前使用可应用于系统的任何表示形式(需求,设计,测试数据等)发现错误非常有效的方法,软件检查,一次检查中能发现许多不同的缺陷。在测试中,一个缺陷可能屏蔽其它缺陷,所以需要多次执行由于复用了领域和程序语言知识,所以评审人员可能见过经常出现的错误,检查和测试,检查和测试是互相补充的,而不是对立的检验技术两者都应该在检验和有效性验证过程中使用软件检查可以检验是否和描述一致,但无法检验是否和用户的真正需求一

5、致软件检查无法检验非功能特征,如性能,可用性等。,程序检查,正式规范的文档评审过程目的是发现缺陷(而不是改正缺陷)缺陷可能是逻辑错误,可能预示着错误情况的代码中的不规范(e.g.没有初始化的变量)或者不服从标准,程序检查的预处理,对被检查的代码有一个精确的描述检查小组的成员应该熟悉机构的标准有一个最新的语法正确的代码版本要准备一个错误检查的核对清单管理层必须接受检查将带来软件过程早期的费用增加管理层不能将软件检查用于员工评价,检查过程,检查的程序,检查团体总体观察系统代码代码和相关文档预先分发给检查团队检查并发现错误对发现的错误作出修改可能需要也可能不需要重新检查,检查团队,至少由4人组成所要

6、检查的代码的作者检查者,发现错误、多余内容和矛盾的地方读者,向团队讲解代码主席/仲裁者,主持会议、记录发现的错误其他角色,如抄写员,首席仲裁者,检查清单,常见错误的清单错误清单跟编程语言有关编程语言的类型检查越弱,错误清单越长举例:初始化,变量命名,循环终止,数组边界等。,程序检查内容,检查的比率,总体观察阶段每小时约500行源代码个别准备阶段每小时约125行源代码会议检查每小时约90-125行源代码检查是一个昂贵的过程检查 500 行的费用约40个人时。,自动静态分析,静态分析器是源代码文本处理的软件工具分析程序文本以发现潜在的错误情形,提交给V&V团队对帮助检查非常有效。是人工检查的一个补

7、充而不是代替。,自动静态分析内容,静态分析的阶段,控制流分析.检查带有多个出口或入口的循环,发现不可到达的代码等。数据使用分析.检出未初始化的变量,一个变量赋值两次而中间未使用,变量定义后未使用等。接口分析.检查过程声明和使用之间的一致性,静态分析的阶段,信息流分析.确定输出变量和输入变量的依赖关系。不是去发现异常本身,而是为代码检查和评审列出信息流的关系。路径分析.确定程序中的可能路径以及路径中执行的语句。也是为了评审中的潜在使用。这些阶段产生大量的信息。必须小心使用。,静态分析的使用,对于一种弱类型检查的语言特别有价值,如C语言,许多错误无法由编译器检测出来对强类型检查的语言来说性价比不高

8、,如Java,很多错误可以在编译中检测出来,名称是从半导体生产过程中的“净室”得来的。其思想是缺陷避免,而不是缺陷移除。基于下列要点的软件开发:增量开发形式化描述使用正确性论证进行静态检验用统计性测试以决定程序可靠性,净室软件开发,净室过程,净室过程的特征,形式化描述,使用状态迁移模型增量式开发结构化编程 使用有限的控制结构和抽象结构静态检验,使用严格的检查系统统计性测试,增量式开发,形式化描述和检验,基于状态的系统模型,是系统描述和静态检查的基础模型和系统之间的对应关系清晰数学化的论证(不是证明)用来提高软件检查的信任程度,描述团队.负责开发和维护系统描述开发团队.负责对软件的开发和检验。在

9、这个检验过程中软件是不执行的,甚至不编译。认证团队.负责开发统计性测试用例集合,在软件开发出来后对其进行测试.使用可靠性增长模型来决定何时可靠性是可接受的。,净室过程的团队,IBM公司用净室开发的系统在交付后故障很少,给人们留下深刻印象独立的评估显示该过程并不比其它方法昂贵比起传统的开发过程,错误更少要由技术熟练、有责任心的软件工程人员执行时才起作用。,净室过程的评估,要点,检验和有效性验证不是一回事。检验的目的是要看软件是否符合其描述,而有效性验证的目的是要看软件是否满足了用户的要求。测试计划应该指导测试过程静态检验技术包括对程序的检查和分析以发现错误。,要点,程序检查在发现错误中是非常有效的程序代码由一个小组检查,定位软件缺陷静态分析工具可以发现程序的不规则之处,这些不规则之处可能预示着代码缺陷净室开发过程依赖于增量式开发、静态检验和统计性测试。,

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号