软件测试第七讲分段测试

上传人:ji****n 文档编号:57321568 上传时间:2018-10-21 格式:PPT 页数:55 大小:408.50KB
返回 下载 相关 举报
软件测试第七讲分段测试_第1页
第1页 / 共55页
软件测试第七讲分段测试_第2页
第2页 / 共55页
软件测试第七讲分段测试_第3页
第3页 / 共55页
软件测试第七讲分段测试_第4页
第4页 / 共55页
软件测试第七讲分段测试_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《软件测试第七讲分段测试》由会员分享,可在线阅读,更多相关《软件测试第七讲分段测试(55页珍藏版)》请在金锄头文库上搜索。

1、软件测试,分段测试,分段测试的目的,隔离软件缺陷 效率 递增测试的途径 自底向上 自顶向下,测试层次与步骤,测试层次与步骤(续),自底向上测试方法:测试单个组件,然后将这些组件集成到子系统中,直到测试完整个系统。 单元测试用例从单元详细设计中导出 集成测试的目标都是根据功能分解树集成以前测试过的单元 系统测试应该是用户能够理解的活动,常常与用户验收测试结合在一起进行。,分段建立与测试,自底向上测试,自顶向下测试,软件测试过程,规格定义,设计,编码,系统测试,集成测试,单元测试,用户需求,验收测试,回 归 测 试,配置管理,缺陷跟踪,单元测试,单元测试又称模块测试,检查软件设计的最小单元模块。

2、测试策略 白盒法和黑盒法结合运用。 先用黑盒法设计出一组基本的测试用例,然后用白盒法,根据覆盖标准要求补充新的测试用例满足覆盖标准。 测试内容 单元测试在于考察模块的接口和内部结构,检查是否符合程序规格说明的要求。,单元测试的阶段及活动,完善测试计划阶段 获得测试用例集阶段 评价测试单元阶段,单元测试,单元测试:Unit Testing目标: - 检验程序最小单元有无错误,如接口、数据结构、边界、覆盖、逻辑 检验单元编码与设计是否吻合 应对模块内所有重要的控制路径设计测试用例,以便发现模块内部的错误 时机: - 编码完成后,首先要实施的测试。测试依据是详细设描述 方法: - 静态测试 - 白盒

3、测试责任: - 开发工程师,单元测试(续),单元测试任务 模块接口测试;模块局部数据结构测试;模块边界条件测试;模块中所有独立执行通路测试;模块的各条错误处理通路测试。,单元测试(续),模块接口测试是单元测试的基础。只有在数据能正确流入、流出模块的前提下,其他测试才有意义。测试接口正确与否应该考虑下列因素: 1 输入的实际参数与形式参数的个数是否相同; 2 输入的实际参数与形式参数的属性是否匹配; 3 输入的实际参数与形式参数的量纲是否一致; 4 调用其他模块时所给实际参数的个数是否与被调模块的形参个数相同; 5 调用其他模块时所给实际参数的属性是否与被调模块的形参属性匹配; 6调用其他模块时

4、所给实际参数的量纲是否与被调模块的形参量纲一致; 7 调用预定义函数时所用参数的个数、属性和次序是否正确; 8 是否存在与当前入口点无关的参数引用; 9 是否修改了只读型参数; 10 对全程变量的定义各模块是否一致; 11是否把某些约束作为参数传递。,单元测试(续),检查局部数据结构是为了保证临时存储在模块内的数据在程序执行过程中完整、正确。局部数据结构往往是错误的根源,应仔细设计测试用例,力求发现下面几类错误: 不合适或不相容的类型说明; 变量无初值; 变量初始化或省缺值有错; 不正确的变量名(拼错或不正确地截断); 出现上溢、下溢和地址异常。,单元测试(续),在模块中应对每一条独立执行路径

5、进行测试,单元测试的基本任务是保证模块中每条语句至少执行一次。此时设计测试用例是为了发现因错误计算、不正确的比较和不适当的控制流造成的错误。此时基本路径测试和循环测试是最常用且最有效的测试技术。计算中常见的错误包括: 误解或用错了算符优先级; 混合类型运算; 变量初值错; 精度不够; 表达式符号错。,单元测试(续),一个好的设计应能预见各种出错条件,并预设各种出错处理通路,出错处理通路同样需要认真测试,测试应着重检查下列问题: 输出的出错信息难以理解; 记录的错误与实际遇到的错误不相符; 在程序自定义的出错处理段运行之前,系统已介入; 异常处理不当; 错误陈述中未能提供足够的定位出错信息。,单

6、元测试(续),边界条件测试是单元测试中最后,也是最重要的一项任务。众的周知,软件经常在边界上失效,采用边界值分析技术,针对边界值及其左、右设计测试用例,很有可能发现新的错误。,集成测试,集成测试,又称组装测试、综合测试或联调。 在单元测试完成之后,将所有模块按概要设计要求组装成系统的时候进行的测试,主要目标是发现与接口有关的问题。,软件测试过程(续),集成测试:Integration Testing目标: - 检验组成系统的模块接口有无错误 - 代码实现的系统设计与需求定义是否吻合时机: - 主要的单元测试完成后,经常与单元测试同步进行方法: - 黑盒测试责任: - 开发工程师 - 测试工程师

7、,集成测试的内容,接口完整性 在每一个模块集成到整个结构中的时候,要对其内部和外部接口进行测试 功能有效性 进行以发现功能性错误为目的的测试 数据一致性 进行以发现与局部或全局数据结构相关的错误为目的的测试 性能 测试在边界和在人为条件下软件的性能,集成测试,组装测试的主要内容有:各模块是否无错误地连接;能否保证数据有效传送及数据的完整性和一致性;人机界面及各种通信接口能否满足设计要求;除了在存储器中需要分配绝对地址的程序段外,是否具有新定位的能力;能否与软件需求规格说明中规定的所有设备正确联接。组装模块的过程可以分为自顶向下组装法和由底向上组装法。,集成测试,1)自顶向下组装 自顶向下集成测

8、试是一个递增的组装软件结构的方法。从主控模块(主程序)开始沿控制层向下移动,把模块一一组合起来。分两种方法: 第一、先深度:按照结构,用一条主控制路径将所有模块组合起来; 第二、先宽度:逐层组合所有直接下属模块,在每一层水平地沿着结构移动。,集成测试,组装过程分以下五个步骤: 用主控模块作为测试驱动程序,其直接下属模块用承接模块来代替; 根据所选择的集成测试法(先深度或先宽度),每次用实际模块代替下述的承接模块; 在组合每个实际模块时都要进行测试; 完成一组测试后再用一个实际模块代替另一个承接模块; 可以进行回归测试(即重新再做所有的或者部分已做过的测试),以保证不引入新的错误。,集成测试,2

9、)由底向上组装由底向上集成测试是从端点模块即软件结构中不调用其他模块的模块开始进行组装以及测试。在逐步处理上层模块时所需要的子模块总是可以得到的,因此不需要承接模块。由底向上组装可以按照以下步骤: 将低层模块组合成实现某个特定的软件子功能的簇; 需要编写一个驱动程序作为测试的控制程序,用来协调测试用例的输入和输出; 测试模块簇; 去掉小簇的驱动程序,将几个小簇合并成大簇,再重复步,这样沿着软件结构逐步向上组装。,确认测试,确认测试应检查软件能否按合同要求进行工作,即是否满足软件需求说明书中的确认标准。 确认测试的内容 功能测试 性能测试 强度测试 配置复审,确认测试(续),确认测试标准 确认测

10、试同样需要制订测试计划和过程,测试计划应规定测试的种类和测试进度,测试过程则定义一些特殊的测试用例,旨在说明软件与需求是否一致 无是计划还是过程,都应该着重考虑软件是否满足合同规定的所有功能和性能,文档资料是否完整、准确人机界面和其他方面(例如,可移植性、兼容性、错误恢复能力和可维护性等)是否令用户满意。,确认测试(续),确认测试的结果有两种可能, 一种是功能和性能指标满足软件需求说明的要求,用户可以接受; 另一种是软件不满足软件需求说明的要求,用户无法接受。项目进行到这个阶段才发现严重错误和偏差一般很难在预定的工期内改正,因此必须与用户协商,寻求一个妥善解决问题的方法。,确认测试(续),配置

11、复审 确认测试的另一个重要环节是配置复审。复审的目的在于保证软件配置齐全、分类有序,并且包括软件维护所必须的细节。,确认测试(续),测试:是指软件开发公司组织内部人员模拟各类用户行对即将面市软件产品(称为版本)进行测试,试图发现错误并修正。 测试是指软件开发公司组织各方面的典型用户在日常工作中实际使用版本,并要求用户报告异常情况、提出批评意见。,系统测试,系统测试通常由用户组织的验收小组负责,一般应根据需求分析说明书来设计测试用例,在实际环境中运行。 测试的主要内容 恢复测试 安全性测试 可用性测试 安装测试 互连测试,软件测试过程(续),系统测试:System Testing目标: - 检验

12、组成整个系统的代码、以及系统的软硬件配合有无错误 - 代码实现的系统与用户需求是否吻合 - 检验系统的文档等各种是否完整、有效 - 模拟验收测试的要求,检查系统是否符合用户的验收标准时机: - 多数集成测试完成后方法: - 黑盒测试责任:测试工程师,系统测试-恢复测试,就是通过各种手段,让软件强制性发生故障,然后验证恢复是否能正常进行的一种测试方法 测试的范围 如果系统的恢复是自动的,则应对重新初始化、数据恢复、重新启动等逐个进行正确性评价 如果恢复需要人工干预,则需要对修复的平均时间进行评估以判定它是否在允许的范围内,系统测试-安全性测试,用来验证集成在系统内的保护机制是否能够在实际中保护系

13、统不受到非法侵入。 主要的破坏方法: 攻击易受损坏的部分,破坏安全性 有目的地引发系统出错,期望在系统恢复过程中侵入系统 通过各种手段,获取系统的密码 浏览非保密数据,从中找到进入系统的方法 利用输入的容错性进行攻击 通过申请和占用系统资源破坏安全措施,从而进入系统,系统测试-可用性测试,主要从使用的方便性、易理解性和易学性等方面对系统进行检查,以发现人为因素或使用习惯等问题。,系统测试-安装测试,安装测试是要找出系统安装过程中出现的问题,安装测试一般在系统安装之后进行。,系统测试-强度测试,强度测试检验系统的能力最高能达到什么实际限度。在强度测试中程序被强制在它的设计能力极限状态下运行,进而

14、超出极限,以验证在超出临界状态下性能降低不是灾难性的。,系统测试-性能测试,性能测试检验安装在系统内的软件运行性能,这种测试需与强度测试结合起来进行。为记录性能需要再安装必要的仪表或度量性能的软件。,系统测试-互连测试,互连测试是要验证两个或多个不同的系统之间的互操作性。,软件测试过程(续),验收测试:Acceptance Testing目标: - 使客户验收签字 - 系统是否符合事先约定的验收标准时机: - 系统测试完成后,在项目组看来开发和测试工作已经全部完成,可以交付使用方法: - 黑盒测试责任: - 产品经理或其他高级经理 - 开发工程师 - 测试工程师 - 用户,验收测试,系统测试完

15、成后,并使系统试运行了预定的时间,企业应进行验收测试。确认已开发的软件能否达到验收标准,包括对测试有关的文档资料的审查验收和对程序测试验收。对于一些关键性软件,还必须按照合同一些严格条款进行特殊测试,如强化测试和性能降级执行方式测试等,验收测试应在软件投入运行后所处的实际生产环境下进行。 验收测试的目的是测试程序的操作和合同规定的要求是否一致。通常以用户为主体来进行,由用户设计测试用例,确定系统功能和性能的可接受性,按照合同中预定的验收原则进行的测试,这是一种非常实用的测试,实质上就是用户用大量的真实数据试用软件系统。,验收测试,文档资料的审查验收。所有与测试有关的文档资料是否编写齐全,并得到

16、分类编写,这些文档资料主要包括各测试阶段的测试计划、测试申请及测试报告等。 余量要求。必须实际考察计算机存储空间,输入、输出通道和批处理间接使用情况,要保持至少有20%的余量。 功能测试。必须根据需求规格说明书中规定的功能,对被验收的软件逐项进行测试,以确认软件是否具备规定的各项功能。 性能测试。必须根据需求规格说明书中规定的性能,对被验收的软件进行测试,以确认该软件的性能是否得到满足,开发单位应提交开发阶段内各测试阶段所作的测试分析报告,包括测试中发现的错误类型,以及修正活动情况。开发单位必须设计性能测试用例,并预先征得用户的认可。,验收测试,强化测试。强化测试必须按照 GB8566-88计

17、算机软件开发规范中的强化测试条款进行。开发单位必须设计强化测试用例,其中应包括典型的运行环境、所有的运行方式,以及在系统运行期可能发生的其他情况。 性能降级执行方式测试。在某些设备或程序发生故障时,对于允许降级运行的系统,必须确定经用户批准的能够安全完成的性能降级执行方式,开发单位必须按照用户指定的所有性能降级执行方式或性能降级地方式组合来设计测试用例,应设定典型的错误原因和所导致的性能降级执行方式。开发单位必须确保测试结果与需求规格说明中包括的所有运行性能需求一致。 安装测试。安装测试的目的不是检查程序的错误,而是检查软件安装时产生的问题,即程序和库、文件系统、配置管理系统的接口有什么问题。,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 初中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号