软件测试与质量保证概述

上传人:宝路 文档编号:48378483 上传时间:2018-07-14 格式:PPT 页数:59 大小:271.43KB
返回 下载 相关 举报
软件测试与质量保证概述_第1页
第1页 / 共59页
软件测试与质量保证概述_第2页
第2页 / 共59页
软件测试与质量保证概述_第3页
第3页 / 共59页
软件测试与质量保证概述_第4页
第4页 / 共59页
软件测试与质量保证概述_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《软件测试与质量保证概述》由会员分享,可在线阅读,更多相关《软件测试与质量保证概述(59页珍藏版)》请在金锄头文库上搜索。

1、软件质量保证和测试单元测试马永征 2004.6.15单元测试Outlinen软件测试概述n单元测试n单元测试工具Junit(Eclipse)单元测试软件测试概述单元测试内容 软件测试定义、目的和作用衡量标准软件测试要素测试技术测试过 程单元测试软件测试n概况定义:为了发现程序的错误而执行程序的过 程软件测试是SQA的重要手段,属于软件工程 领域目前状况n软件测试的实践性大于理论性n软件测试理论体系尚不成熟n软件测试工具尚不成熟n软件测试效果对于个人的依赖性比较大单元测试软件测试n目的为了寻找错误,并尽可能地为修正错误提供 更多的信息为了证明软件有错误,而不证明软件没有错 误n作用发现并管理缺陷

2、度量质量n评价工作效率和效果n预期项目风险单元测试内容 软件测试定义、目的和作用衡量标准软件测试要素测试技术测试过 程单元测试软件测试n衡量标准多n能够找到尽可能多的、以至于所有的BUG快n能够尽可能早地发现 最严重的BUG好n找到的BUG是关键的、用户最关心的n找到BUG后能够重现找到的BUG,并为修正BUG提供尽可能 多的信息省n能够用最少的时间 、人力和资源发现 BUGn测试 的过程和数据可以重用单元测试内容 软件测试定义、目的和作用衡量标准软件测试要素测试技术测试过 程单元测试测试技术不实际运行程序,而是通过检 查和阅读等手段来发现错误并 评估代码质量的软件测试技术 。也称为静态分析技

3、术。实际运行程序,并通 过观察程序运行的实 际结果来发现错误的 软件测试技术。在不知道程序内部结 构,只知道程序规格 的情况下采用的测试 技术或策略。在知道程序内部 结构的情况下采 用的测试技术或 策略。开发组内部进行的,采用讲 解、讨论和模拟运行的方式 进行的查找错误的活动。开发组内部进行的,采用讲解、提问并使用 Checklist方式进行的查找错误的活动。一般 有正式的计划、流程和结果报告。开发组、测试组和相关人员(QA、产品经理等)联合进行的 ,采用讲解、提问并使用Checklist方式进行的查找错误的 活动。一般有正式的计划、流程和结果报告。针对要求的程序功 能,按照规范的流 程进行的

4、测试。针对要求的程序功能以外的其他要求, 包括性能、安全、配置、负载等指标, 按照规范的流程进行的测试。针对要求的程序功能、性能、安全、配 置、负载等指标,基于破坏目的、按照 经验进行的随机测试。程序修改或者版本更新以后,为了确保 以前正确的功能和其他指标仍旧正确, 而重新进行的测试。在测试过 程中,选 择足够的 测试用例 ,使得每 一个可执 行语句至 少被执行 一次。在测试过 程中,选 择足够的 测试用例 ,使得程 序中的每 一个分支 判断的每 一种可能 结果都至 少被执行 一次。在测试过程中,选择足够的测试 用例,使得程序中的每一条可能 执行的路径都至少执行一次。单元测试内容 软件测试定义

5、、目的和作用衡量标准软件测试要素测试技术测试过 程单元测试测试过程规格定义设计编码系统测试集成测试单元测试用户需求验收测试回 归 测 试配置管理缺陷跟踪 单元测试测试过程n单元测试:Unit Testing目标:n检验程序最小单元有无错误接口、数据结构、边界、覆盖、逻辑n检验单元编码与设计是否吻合 时机:n编码完成后,首先要实施的测试 方法:n静态测试n白盒测试 责任:n开发工程师单元测试测试过程n集成测试:Integration Testing目标:n检验组成系统的模块接口有无错误n代码实现的系统设计与需求定义是否吻合时机:n主要的单元测试完成后,经常与单元测试同 步进行方法:n黑盒测试责任

6、:n开发工程师n测试工程师单元测试测试过程n系统测试:System Testing目标:n检验组成整个系统的代码、以及系统的软硬件 配合有无错误n代码实现的系统与用户需求是否吻合n检验系统的文档等各种是否完整、有效n模拟验收测试的要求,检查系统是否符合用户 的验收标准时机:n多数集成测试完成后方法:n黑盒测试责任:n测试工程师单元测试测试过程n系统测试:System Testing稳定期测试n目标:度量是否可以结束测试n时机:传统的系统测试完成后n方法:黑盒测试n责任:测试工程师单元测试测试过程n验收测试:Acceptance Testing目标:n使客户验收签字n系统是否符合事先约定的验收标

7、准 时机:n系统测试完成后,在项目组看来开发和测试 工作已经全部完成,可以交付使用 方法:n黑盒测试 责任:n产品经理或其他高级经理n开发工程师n测试工程师n用户单元测试测试过程n回归测试:Regression Testing目标:n验证程序修改或者版本更新以后,以前正确 的功能和其他指标仍旧正确。时机:n每次错误修改之后,或者版本更新之后方法:n白盒测试/黑盒测试责任:n开发工程师n测试工程师单元测试测试过程 n缺陷跟踪:Defect Tracing目标:n确保所有发现的错误被正确记录、分发、评估、 关闭、统计时机:n从错误发现开始到错误关闭为止,每次错误状态修 改之后方法:n缺陷跟踪系统责

8、任:n开发工程师n测试工程师n测试经理n用户单元测试单元测试单元测试内容单元测试目标任务单元测试技术静态分析测试设计单元测试流程管理流程测试文档单元测试单元测试n概况定义:n检验程序最小单位有无错误。一般在编码之后,由 开发人员完成。单元:软件开发中的最小的独立部分 C语言中的单元:函数或者是子过程 C+语言中的单元:类目前状况:n实施效果非常好,但是实施阻力比较大(主要是人员 和管理因素),一般只在关键的程序单元中实施n有比较系统的理论和方法,但也依赖于系统的特殊 性和开发人员的经验n有大量的辅助工具,开发人员也经常自己开发测试 代码和测试工具n主要使用白盒测试和静态分析,也使用黑盒测试单元

9、测试单元测试n目标 1、检查代码实现是否符合设计n不能检查设计是否正确 2、尽早发现错误nMicrosoft applications10-20 defects/KLOC during unit testing0.5 defects/KLOC after releasen性价比最好单元测试内容单元测试目标任务单元测试技术静态分析测试设计单元测试流程管理流程测试文档单元测试单元测试n任务1、模块接口测试检查进出模块的数据是否正确 Checklist:n模块的实际输入与定义的输入是否一致个数、类型、顺序n模块中对于非内部/局部变量是否合理使用n使用其他模块时,是否检查可用性和处理结果n使用外部资源

10、时,是否检查可用性并及时释放资源内存、文件、硬盘、端口等n其他单元测试单元测试n任务2、模块局部数据结构测试检查局部数据结构能否保持完整性 Checklist:n变量从来没有被使用可能别的地方使用了错误的变量名n变量没有初始化n错误的类型转换n数组越界n非法指针n变量或函数名称拼写错误使用了外部变量或函数n其他单元测试单元测试n任务3、模块边界条件测试检查临界数据是否正确处理 Checklist:n普通合法数据是否正确处理n普通非法数据是否正确处理n边界内最接近边界的(合法)数据是否正确处理n边界外最接近边界的(非法)数据是否正确处理n其他单元测试单元测试 n任务4、模块独立执行通路(路径)测

11、试检查由于计算错误、判定错误、控制流错误导 致的程序错误 Checklist:n死代码n错误的计算优先级n精度错误比较运算错误赋值错误n表达式的不正确符号、=;=、=、!=n循环变量的使用错误错误赋值n其他单元测试单元测试n任务5、模块内部错误处理测试检查内部错误处理设施是否有效 Checklist:n是否检查错误出现资源使用前后其他模块使用前后n出现错误,是否进行错误处理抛出错误通知用户进行记录n错误处理是否有效在系统干预前处理报告和记录的错误真实详细n其他单元测试内容单元测试目标任务单元测试技术静态分析测试设计单元测试流程管理流程测试文档单元测试单元测试技术n静态分析定义:n不实际运行程序

12、,而是通过检查和 阅读等手段来发现错误并评估代码质量的软件 测试技术。也称为静态测试技术。方法:n走查:WalkThroughn审查:Inspectionn评审:ReviewMichael Fagan IBM(1976)单元测试单元测试技术n静态分析-走查定义:n开发组内部进行的,采用讲解、讨论和模拟运行的方 式进行的查找错误的活动。经验:n限时避免跑题n参加人员经验丰富的开发人员和本模块相关的开发人员本项目组的新人n由本模块的开发者进行讲解、回答问题并记录不要现场修改n检查要点逻辑错误代码标准/规范/风格单元测试 单元测试技术n静态分析-审查定义:n开发组内部进行的,采用讲解、提问并使用Ch

13、ecklist方 式进行的查找错误的活动。一般有正式的计划、流程和 结果报告。经验:n以会议的形式,制定会议目标、流程和规则,结束后要 编写报告n参加人员经验丰富的开发人员和本模块相关的开发人员本项目组的新人n由另外一名开发者进行讲解、其他开发者主要按照 Checklist进行提问并填表、本模块开发者回答问题并记 录不要现场修改n检查要点设计需求代码标准/规范/风格单元测试 单元测试技术n静态分析-评审定义:n开发组、测试组和相关人员(QA、产品经理等)联合进行的,采用讲 解、提问并使用Checklist方式进行的查找错误的活动。一般有正式 的计划、流程和结果报告。 经验:n以会议的形式,制定

14、会议目标、流程和规则,结束后要 编写报告。相关资料要在会议前下发并阅读。n参加人员经验丰富的开发人员和本模块相关的开发人员测试组和相关人员n由另外一名开发者进行讲解、其他开发者主要按照 Checklist进行提问并填表、本模块开发者回答问题并记 录不要现场修改n检查要点设计需求代码标准/规范/风格文档的完整性和一致性单元测试内容单元测试目标任务单元测试技术静态分析测试设计单元测试流程管理流程测试文档单元测试单元测试技术n测试设计 定义:n依据模块的内部结构,设计测试用例的过程 。n主要采用白盒测试技术,关注逻辑覆盖 原则:n1、保证没有死代码保证一个模块中的每个独立路径都可能被使用到n2、保证

15、对所有的逻辑值都测试true和falsen3、在上下边界和合法的范围内运行所有的循 环n4、确保内部数据结构的有效性和完整性单元测试 单元测试技术n测试设计 逻辑覆盖测试方法:n1、语句覆盖选择足够的测试用例,使得程序中每一条可执行语 句至少被执行一次。n2、判定覆盖选择足够的测试用例,使得程序中每一个分支判断 的每一种可能结果(主要指switch-case情况)都至少 被执行一次。判定覆盖也叫分支覆盖。n3、条件覆盖选择足够的测试用例,使得程序中每一个分支判断 中的每一个条件的可能结果都至少被执行一次。单元测试 单元测试技术n测试设计 逻辑覆盖测试方法:n1、语句覆盖n2、判定覆盖n3、条件

16、覆盖n4、判定/条件覆盖选择足够的测试用例,使得同时满足判定覆盖和条 件覆盖。n5、条件组合覆盖选择足够的测试用例,使得程序中每一个分支判断 中的每一个条件的每一种可能组合结果都至少被执 行一次。n6、路径覆盖选择足够的测试用例,使得程序中所有的可能路径 都至少被执行一次。单元测试 单元测试技术n测试设计 逻辑覆盖测试方法:语句覆盖判定覆盖条件覆盖判定/条件覆盖条件组合覆盖路径覆盖单元测试内容单元测试目标任务单元测试技术静态分析测试设计单元测试流程管理流程测试文档单元测试 单元测试流程n管理流程 主要指动态测试应用流程测试计划测试设计测试执行测试记录分析测试总结完毕缺陷跟踪针对测试目标,规定测试

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

最新文档


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

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