资源预览内容
第1页 / 共43页
第2页 / 共43页
第3页 / 共43页
第4页 / 共43页
第5页 / 共43页
第6页 / 共43页
第7页 / 共43页
第8页 / 共43页
第9页 / 共43页
第10页 / 共43页
亲,该文档总共43页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
中国科学院软件研究所 Institute of Software,Chinese Academy of Sciences软件测试的相关概念1中国科学院软件研究所 Institute of Software,Chinese Academy of Sciences主要内容 测试的目的 测试原则 测试的对象 测试的流程 测试步骤 测试的类型 测试用例 缺陷报告2中国科学院软件研究所 Institute of Software,Chinese Academy of Sciences测试的目的根本目的 发现软件的缺陷。 软件测试是为了发现错误而执行程序的过程; 测试是为了证明程序有错,而不是证明程序无错误; 一个好的测试用例是在于它能发现至今未发现的错误; 一个成功的测试是发现了至今未发现的错误的测试。 相关目标 评估软件是否满足的用户的需求 阻止没有成熟的软件发布 可以减少技术支持的费用 评估软件的质量、验证产品的正确性、保证产品的质量 最大化bug的数量 保证bug已经修改3中国科学院软件研究所 Institute of Software,Chinese Academy of Sciences测试的目的 从用户的角度出发,就是希望通过软件测试能充分暴露软件中存在的问题和缺陷,从而考虑是否可以接受该产品。 从开发者的角度出发,就是希望测试能表明软件产品不存在错误,已经正确地实现了用户的需求 想以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷。注:测试完成不能表明软件中不存在错误,它只能说明软件中存在错误。4中国科学院软件研究所 Institute of Software,Chinese Academy of Sciences软件测试的原则 应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭。 测试用例应由测试输入数据和对应的预期输出结果这两部分组成。 程序员应避免检查自己的程序。 在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。5中国科学院软件研究所 Institute of Software,Chinese Academy of Sciences软件测试的原则 充分注意测试中的群集现象。测试后程序中残存的错误数目与该程序中已发现的错误数目成正比。 严格执行测试计划,排除测试的随意性。 应当对每一个测试结果做全面检查。 妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。6中国科学院软件研究所 Institute of Software,Chinese Academy of Sciences测试的对象软件测试并不等于程序测试。软件测试应贯穿于软件定义与开发的整个期间。需求分析、概要设计、详细设计以及程序编码等各阶段所得到的文档,包括需求规格说明、概要设计规格说明、详细设计规格说明以及源程序,都应成为软件测试的对象。7中国科学院软件研究所 Institute of Software,Chinese Academy of Sciences测试的流程 前期准备 测试组与开发组协调,包括项目测试流程约定,测试组 与开发组的协作活动安排等。在项目前期,规划好测试组 与开发组的协调工作,可以让测试人员与项目开发人员彼 此了解在测试活动中的职责。 项目的客户需求、项目本身要求、明确测试范围、测试 指标、测试要点、测试所需软硬件环境等,为制定测试计 划打好基础。 制定测试计划主要包括测试软硬件资源,人力资源,测试指标,粗 略进度,采集的度量数据,风险,约定等。8中国科学院软件研究所 Institute of Software,Chinese Academy of Sciences测试流程 编制测试用例 了解项目需求(客户需求与项目需求)、明确公共用例、 明确手动测试用例与自动化测试用例范围、确定用例编写 进度、正式编写、用例验证、明确测试用例执行顺序。 实施测试 确定实施进度、搭建测试环境、执行测试用例,记录用例 执行结果,报告缺陷、记录度量数据、维护测试用例。 测试总结 测试停止评估(参照测试用例执行情况,缺陷收敛情况, 与测试指标偏差情况等)、测试总结报告、提交汇总度量 数据、保存测试文档。 9中国科学院软件研究所 Institute of Software,Chinese Academy of Sciences测试方法两种常用的测试方法v黑盒测试v白盒测试v灰盒测试10中国科学院软件研究所 Institute of Software,Chinese Academy of Sciences测试的步骤单元测试 集中对用源代码实现的每一个程序单元进行测试,检查各个程序模块是否正确 地实现了规定的功能。 集成测试 测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。 系统测试 已经经过确认的软件纳入实际运行环境中,与其它系统成份组合在一起进行测 试。 确认测试 要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件 配置是否完全、正确 发版测试 测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模 拟实际操作环境下进行的测试。 测试是由软件的多个用户在实际使用环境下进行的测试。这些用户返回有关 错误信息给开发者。 11中国科学院软件研究所 Institute of Software,Chinese Academy of Sciences测试类型 功能测试 性能测试 恢复测试 配置测试 安全性测试 易用性测试 . 安装测试 容量测试 文档测试 冒烟测试 随机测试12中国科学院软件研究所 Institute of Software,Chinese Academy of Sciences测试用例是软件测试的核心如何以最少的人力、资源投入,在最短的时间内完成测试,发现软件系统的缺陷,保证软件的优良品质。测试用例是测试工作的指导,是软件测试的必须遵守的准则。更是软件测试质量稳定的根本保障。13中国科学院软件研究所 Institute of Software,Chinese Academy of Sciences什么是测试用例所谓的测试用例就是将软件测试的行为活动,做一个科学化的组织归纳。软件测试是有组织性、步骤性和计划性的,而设计软件测试用例的目的,就是为了能将软件测试的行为转换为可管理的模式。基于时间因素的考虑,软件测试行为必须能够加以量化,才能进一步让管理阶层掌握所需要的测试过程,而测试用例就是将测试行为具体量化的方法之一。因为我们不可能进行穷举测试,为了节省时间和资源、提高测试效率,必须要从数量极大的可用测试数据中精心挑选出具有代表性或特殊性的测试数据来进行测试。14中国科学院软件研究所 Institute of Software,Chinese Academy of Sciences测试用例的作用通过一个用例来证明被测软件的某功能符合需求说明书中规定的要求 可以保证一个软件被测试的有效性,使测试人员知道那些功能以被测 ,那些功能还需要测试,从而避免漏测,重复测,提高测试效率 指导测试的工作,保证测试是有计划的实施,而不是随意性的测试 为公司留下财富,为后期软件维护提高帮助,为公司新人进来提供指 导,在测试的时候可以尽量把人为因素的影响减少到最小。保障软件 测试质量的稳定。 可以做为评估测试结果的,为编写测试报告提供依据。 提高测试的质量。分析bug的标准,通过收集的bug,对比测试用例和 bug数据库,分析确证是漏测还是bug复现。漏测反映了测试用例的不 完善,应立即补充相应测试用例,逐步的提高测试质量。而已有相应 测试用例,则反映实施测试或变更处理存在问题。15中国科学院软件研究所 Institute of Software,Chinese Academy of Sciences测试用例的内容 介绍部分:可以有这些:公司名称,保密等级,编 写人员,日期,审核人,版本号,测试对象的介绍 ,测试的范围和目的,测试环境,定义术语,参考 文档,用例执行情况,测试用例设计思路等 测试用例部分:模块名称,测试类型,用例ID, 用例目的,重要程度,测试过程分为(前提条件, 测试步骤,期望结果,测试结果,测试结论)测试 日期,备注。16中国科学院软件研究所 Institute of Software,Chinese Academy of Sciences测试用例生成的基本准则 测试用例的代表性能够代表并覆盖各种合理的和不合理、合法的和非合法 的、边界的和越界的、以及极限的输入数据、操作和环境 设置等; 测试结果的可判定性即测试执行结果的正确性是可判定的,每一个测试用例 都应有相应的期望结果; 测试结果的可再现性即对同样的测试用例,系统的执行结果应当是相同的。 17中国科学院软件研究所 Institute of Software,Chinese Academy of Sciences测试用例的特征 最有可能抓住错误的; 不是重复的、多余的; 一组相似测试用例中最有效的; 不要太简单,也不要太复杂。18中国科学院软件研究所 Institute of Software,Chinese Academy of Sciences测试用例的意义使用测试用例的好处主要体现在以下几个方面:在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测试效率。测试用例的使用令软件测试的实施重点突出、目的明确。在软件版本更新后只需修正少部分的测试用例便可展开测试工作,降低工作强度、缩短项目周期。功能模块的通用化和复用化使软件易于开发,而相对于功能模块的测试用例的通用化和复用化则会使软件测试易于开展,并随着测试用例的不断精化其效率也不断攀升。19中国科学院软件研究所 Institute of Software,Chinese Academy of Sciences黑盒测试用例的设计方法 具体的黑盒测试用例设计方法包括等价类划分法、边界值分析法、场景法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法等。 这些方法是比较实用的,但采用什么方法,在使用时自然要针对开发项目的特点对方法加以适当的选择。20中国科学院软件研究所 Institute of Software,Chinese Academy of Sciences等价类划分法 等价类划分是一种典型的黑盒测试方法,用这一方法设计测试用例完全不考虑程序的内部结构,只根据对程序的需求和说明,即需求规格说明书。 由于穷举测试工作量太大,以致于无法实际完成,促使我们在大量的可能数据中选取其中的一部分作为测试用例。21中国科学院软件研究所 Institute of Software,Chinese Academy of Sciences等价类划分法等价类划分法是把程序的输入域划分成若干部分,然后从每个部分中选取少数代表性数据当作测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值,也就是说,如果某一类中的一个例子发现了错误,这一等价类中的其他例子也能发现同样的错误;反之,如果某一类中的一个例子没有发现错误,则这一类中的其他例子也不会查出错误。使用这一方法设计测试用例,首先必须在分析需求规格说明的基础上划分等价类,列出等价类表。22中国科学院软件研究所 Institute of Software,Chinese Academy of Sciences划分等价类和列出等价类表可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据取得较好的测试结果。等价类划分有两种不同的情况:v有效等价类:是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号