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

上传人:醉**** 文档编号:11478571 上传时间:2022-04-19 格式:PPT 页数:41 大小:424.50KB
返回 下载 相关 举报
检验和有效性验证课件.ppt_第1页
第1页 / 共41页
检验和有效性验证课件.ppt_第2页
第2页 / 共41页
点击查看更多>>
资源描述

《检验和有效性验证课件.ppt》由会员分享,可在线阅读,更多相关《检验和有效性验证课件.ppt(41页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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

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

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

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

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

6、现的错误作出修改l可能需要也可能不需要重新检查检查团队l至少由4人组成l所要检查的代码的作者l检查者,发现错误、多余内容和矛盾的地方l读者,向团队讲解代码l主席/仲裁者,主持会议、记录发现的错误l其他角色,如抄写员,首席仲裁者检查清单l常见错误的清单l错误清单跟编程语言有关l编程语言的类型检查越弱,错误清单越长l举例:初始化,变量命名,循环终止,数组边界等。程序检查内容缺陷分类缺陷分类检查内容检查内容数据缺陷所有的程序变量堵在使用前被初始化了吗所有的常数都命名了吗数组的上边界应该等于数组长度还是长度减1如果使用字符串,定界符应该显式地指定吗有缓冲区溢出的可能性吗控制缺陷对每一个条件语句,条件是

7、正确的吗每一个循环都能终止吗复合语句被正确地括起来了吗对case语句,所有可能的情况都考虑了吗若每一个case语句都需要跟一个break语句,有遗漏吗输入/输出缺陷所有的输入变量都使用了吗所有的输出变量在输出前都被赋值了吗有未料到的输入引起系统崩溃吗接口缺陷所有的函数和方法调用都使用了正确数量的参数吗形参和实参类型匹配吗参数顺序都对吗如果组件访问共享内存,它们都有相同的共享内存结构模型吗存储管理缺陷如果一个链接的结构被修改了,所有的链接都得到重新赋值了吗如果使用了动态存储,空间分配正确吗如果空间不再使用,需要显式地对空间释放吗异常管理缺陷所有可能的错误状态都已经考虑到了吗检查的比率l总体观察阶

8、段每小时约500行源代码l个别准备阶段每小时约125行源代码l会议检查每小时约90-125行源代码l检查是一个昂贵的过程l检查 500 行的费用约40个人时。自动静态分析l静态分析器是源代码文本处理的软件工具l分析程序文本以发现潜在的错误情形,提交给V & V团队l对帮助检查非常有效。是人工检查的一个补充而不是代替。自动静态分析内容缺陷分类缺陷分类检查内容检查内容数据缺陷变量在初始化之前被使用变量被定义但从未使用过变量被赋值两遍,但中间并未使用过可能的数组越界未声明的变量控制缺陷不可到达的代码无条件循环输入/输出缺陷变量在两次输出间没有赋值过接口缺陷参数类型不匹配参数个数不匹配函数的结果没有用

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

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

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

展开阅读全文
相关资源
相关搜索

当前位置:首页 > pptx模板 > 工作办公

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁