版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第5 5章章 软件检验软件检验5.1 动态检验动态检验5.2 静态检验静态检验5.3 正确性证明正确性证明5.4 测试步骤测试步骤 第5章 软件检验前往主目录前往主目录第第5 5章章 软件检验软件检验第5章 软 件 检 验5.1 动动 态态 检检 验验 动态检验就是指传统的测试,这种动态检验就是指传统的测试,这种方法是使程序有控制地运转,并从不同方法是使程序有控制地运转,并从不同角度察看程序运转的行为,以发现其中角度察看程序运转的行为,以发现其中的错误。测试的关键是如何设计测试用的错误。测试的关键是如何设计测试用例。测试方法不同,所运用的测试用例例。测试方法不同,所运用的测试用例也不同。常用
2、的测试方法有黑盒法和白也不同。常用的测试方法有黑盒法和白盒法。黑盒法是指测试人员将程序看成盒法。黑盒法是指测试人员将程序看成一个一个“黑盒,也就是说,他不关怀程序黑盒,也就是说,他不关怀程序内部是怎样做的,而只想检查程序能否内部是怎样做的,而只想检查程序能否符合它的符合它的“功能阐明。所以黑盒法测试功能阐明。所以黑盒法测试时,测试用例都是完全根据程序的功能时,测试用例都是完全根据程序的功能阐明来设计的。假设想用黑盒法发现程阐明来设计的。假设想用黑盒法发现程序中的一切错误,那么必需用输入数据序中的一切错误,那么必需用输入数据的一切能够值来检查程序能否都能产生的一切能够值来检查程序能否都能产生正确
3、的结果。正确的结果。 第第5 5章章 软件检验软件检验图5.1 程序的输入变量与输出变量模块XZXY第第5 5章章 软件检验软件检验 白盒法是指测试人员必需了解程序的内部构造,此时,测试用例是根据程序的内部逻辑构造来设计的。假设想用白盒法发现程序中的一切错误,那么至少必需使程序中每种能够的执行途径都执行一次。 例如,图5.1是一个很简单的程序,它有两个输入变量x、y,一个输出变量z。假定程序是在字长为32位的计算机上运转,且x、y都是整数,那么输入数据的能够值有232232264种。 假设这个程序执行一次需0.5 ms,那么执行264次运算将需2.9亿年! 图5.2是一个小程序控制流程图。这个
4、程序由一个循环语句组成,循环次数达20 次,循环体内是一组嵌套的IF语句,其能够的途径有多条,所以从A到B的途径多达520条。 第第5 5章章 软件检验软件检验AB图5.2 程序控制流程图 第第5 5章章 软件检验软件检验 假设用这么多情况测试它,并假设执行一条途径需0.5 ms,那么完成测试需1512年! 这两种测试方法在设计测试用例上是不可取的,也是不可行的。为此,设计人员提出了以下几种设计测试用例的方法:随机抽取测试用例、抽取典型测试用例、抽取边境测试用例、抽取混合测试用例。这些设计测试用例的方法各有特点,至于运用哪种,可根据测试对象的不同分别选用一种,或结合运用。第第5 5章章 软件检
5、验软件检验5.2 静静 态态 检检 验验 静态检验是指用人工阅读文档和程序,从中发现错误,或用一些辅助工具来完成这种任务,这种技术也称为评审。实际证明它是一种很有效的技术。 评审的种类很多,包括需求复查、概要设计(总体设计)复查、详细设计复查、程序复查和走查等,其正规化的程度、方式和参与的人员有所不同。本节就此概括讨论评审过程和评审条款等问题。 1评审过程 为了尽早发现并纠正错误,应将评审任务与开发过程结合起来,使评审成为前一阶段之后必需进展的步骤,这样的方式可用图5.3来阐明。 第第5 5章章 软件检验软件检验图5.3 评审方式系统需求需求复查需求说明书分析设计设计复查设计文档编程程序程序复
6、查测试第第5 5章章 软件检验软件检验 由于评审的目的是发现错误,为了获得较好的效果,评审应由开发人员之外的人来主持,开发人员与评审人员相互独立是保证评审质量的重要措施之一。评审人员应在软件开发技术和检验技术方面受过良好的训练,有丰富的软件开发阅历。 程序走查(Code Walkthrough)是另一种有效的评审活动。走查的关键在于:以人工运转作为媒介,经过这种方式启发与会者向程序员提出种种问题,从而发现程序中的错误。 2.评审条款 评审的目的是尽量快、尽量多地发现错误,所以普通的做法是将软件中常见的各类错误列成清单作为评审条款。评审过程中按评审条款有针对性地进展检查,就可到达多、快、好、省的
7、目的。 评审条款随系统的不同可有所不同,可根据软件系统的性质和复查专家的阅历来设定。第第5 5章章 软件检验软件检验 5.3 正正确确性性证证明明 动态检验和静态检验的根本问题在于不能够阐明软件中不存在错误,人们所能做到的最好的结果是发现错误,因此自然希望能找到某种方法能确切地证明程序是没有错误的,这就出现了程序正确性证明的研讨领域。 程序证明最常用的方法是归纳断言法,它对程序提出一组命题,如能用数学方法证明这些命题成立,就可以保证程序中不存在错误,即它对一切的输入都会产生预期的正确输出。但是程序证明存在两个问题:其一是如何设置命题和证明命题,其二是在证明中如何定义“错误。 总之,程序正确性证
8、明是一个鼓舞人心的想法,但间隔适用还有一段路要科学技术人员去走。第第5 5章章 软件检验软件检验5.4 测测 试试 步步 骤骤 软件开发过程阅历了分析、设计、编程等阶段,每个阶段都能够产生各种各样的错误。据统计,开发早期犯下的错误(如误解了用户的要求、模块界面之间有冲突等)比编程阶段犯的错误要多。为了发现各阶段产生的错误,测试过程应该与分析、设计、编程的过程具有类似的构造,以便针对每一阶段能够产生的错误,采用某些特殊的测试技术,所以测试过程通常可以分三步进展: (1) 模块测试(Module Testing); (2) 结合测试(Integration Testing); (3) 系统测试(S
9、ystem Testing)。第第5 5章章 软件检验软件检验 模块测试是对一个模块进展测试,其目的是根据该模块的功能阐明检验模块能否存在错误。模块测试主要可发现详细设计和编程时犯下的错误,如某个变量未赋值、数组的上下界不正确等。 程序员在完成某个模块的编程之后,普通总是要先对该模块进展私下的测试,此时,可以先用白盒法选择一些例子检验程序的内部逻辑,再用黑盒法补充一些例子。程序员本人经私下测试后以为程序根本可行,才会将程序交付出来。程序交付出来之后,由其他人员以黑盒法为主再次对该模块进展测试。 结合测试又称集成测试或联调,其目的是根据模块构造图将各个模块衔接起来进展,以便发现问题。结合测试可以发现概要设计时犯的错误,如模块界面上的问题等。与后面的系统测试一样,结合测试的主要目的已不是发现模块内部的错误,所以通常只采用黑盒法。第第5 5章章 软件检验软件检验图5.4 软件开发过程分析综合测试设计联合测试编程模块测试第第5 5章章 软件检验软件检验 系统测试将硬件、软件和操作人员等视为一个整体,检验它能否有不符合需求阐明书的地方,这一步可以发现设计和分析阶段的错误,如误解了用户的要求,与用户要求有冲突等。系统测试后就可由用户来验收。 测试中如发现错误,需求回到编程、设计、分析等阶段作相应的修正,也就是说,需求进展“
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 机电一体化综合设计实训教程 课件 第1章PLC 概述
- 水文勘测船工岗位安全评优考核试卷含答案
- 酵母制备工岗位工作规范考核试卷含答案
- 管乐器制作工技术综合知识考核试卷含答案
- 2025年智能家居用户体验设计竞品分析
- 2025年职业病防治的知识试题及答案
- 2025年职业资格高级育婴员考试题及答案
- 2025年中国高血压防治指南(2024年修改版)培训考试试题含答案
- 2025年中级社工《综合能力》真题及答案
- 2025年注册安全工程师考试建筑施工(初级)安全生产实务试题及解答附答案
- 伊犁皮里青露天煤矿150万吨年项目环境影响报告书
- 智能教室设备安装与调试方案
- 血液肿瘤基本知识
- 小学安保人员培训
- 2026年大连理工大学经济管理学院MBA面试含答案
- 2025年初级会计考试真题及答案(完整版)
- 林草湿荒调查监测技术规范与标准:实现高效、精确的空天地一体化管理
- 卫星通信原理课件
- 煤化工工艺煤气化课件
- 2026年哈尔滨铁道职业技术学院单招职业技能考试题库附答案
- 外墙真石漆施工缺陷处理方案
评论
0/150
提交评论