《软件测试工作流程.ppt》由会员分享,可在线阅读,更多相关《软件测试工作流程.ppt(47页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、济南大学 张景祥 版权所有Software Test2023/5/28 1软件测试技术软件测试工作流程济南大学 张景祥 版权所有Software Test 回顾需求分析时需要经历那些步骤?需求分析中测试人员的工作是?需求测试的方法?需求说明书的检查要点?济南大学 张景祥 版权所有Software Test主要内容软件测试工作流程测试过程软件测试实施错误级别测试策略测试环境济南大学 张景祥 版权所有Software Test软件测试工作流程 测试工作的主要步骤测试计划:测试人员对需求进行分析,最终定义一个测试集合测试设计与开发:测试人员根据软件需求,完成测试用例 执行测试:建立测试环境;根据前面
2、编写的测试计划和测试用例运行测试;记录测试结果;报告软件缺陷;跟踪软件缺陷,直至其被处理;分析测试结果济南大学 张景祥 版权所有Software Test测试信息流 整个测试过程需要三类输入 软件配置:包括软件需求规格说明、软件设计规格说明、源代码等;测试配置:包括测试计划、测试用例、测试驱动程序等。测试工具:为提高软件测试效率,可使用测试工具支持测试工作 济南大学 张景祥 版权所有Software Test测试过程需求分析设计编码系统组装单元修正修正修正通过通过通过(集成)济南大学 张景祥 版权所有Software Test测试与开发前期工作的关系需求分析概要设计详细设计编码单元测试集成测试
3、系统测试济南大学 张景祥 版权所有Software Test生存期各阶段活动分析 设计 编码 维护 安装 测试单元测试系统测试验证确认系统测试 质量控制集成测试回归测试验收测试济南大学 张景祥 版权所有Software Test软件生存期各阶段的活动需求分析阶段 制定本项目的计划 设置基于需求的测试用例 对需求进行评审与分析 对用户手册初稿进行评审与分析概要设计阶段 修订计划 制定基于设计的测试步骤 对概要设计进行评审与分析详细设计阶段 设置基于设计的功能测试数据 对详细设计进行评审与分析济南大学 张景祥 版权所有Software Test软件生存期各阶段的活动程序编写和单元测试 完成测试用例
4、说明书 进行单元测试 进行集成测试安装 进行系统测试 进行验收测试运行和维护阶段 软件评价 软件修改评价 回归测试(引自美国国家标准局信息处理标准FIPS PUB101)济南大学 张景祥 版权所有Software Test软件测试的职业要求测试人员的目标:分析或运行代码来暴露代码中潜在的错误软件测试员的基本目标是发现软件错误软件测试员所追求的是尽可能早地找出软件错误软件测试人员必需确保找出的软件错误得以关闭济南大学 张景祥 版权所有Software Test测试人员主要工作设计测试建立一个合适的测试执行环境评估、获取、安装和配置自动测试工具执行测试撰写适当的测试文档 济南大学 张景祥 版权所有
5、Software Test 软件测试实施开发方测试用户测试第三方测试济南大学 张景祥 版权所有Software Test 开发方测试 通常也叫“测试”。开发方通过检测和提供客观证据,证实软件的实现是否满足规定的需求。测试是由一个用户在开发环境/模拟环境下进行的测试。目的是评价软件产品的功能和性能,尤其注重产品的界面和特色。测试可以从软件产品编码结束之时开始,或在模块(子系统)测试完成之后开始,也可以在确认测试过程中产品达到一定的稳定和可靠程度之后再开始。济南大学 张景祥 版权所有Software Test 用户测试 通常也叫“测试”(不同于验收测试)。测试是由软件的多个用户在一个或多个用户的实
6、际使用环境下进行的测试。与测试不同的是,开发者通常不在测试现场。测试的目的是衡量软件产品的功能和性能,尤其注重产品的支持性,包括文档、客户培训和支持产品生产能力。只有当测试达到一定的可靠程度时,才能开始测试。它处在整个测试的最后阶段。同时,产品的所有手册文本也应该在此阶段完全定稿。济南大学 张景祥 版权所有Software Test 第三方测试 介于软件开发方和用户方之间的测试组织的测试。第三方测试也称为独立测试。软件质量工程强调开展独立验证和确认(IV&V)活动。软件第三方测试是由在技术、管理和财务上与开发方和用户方相对独立的组织进行的软件测试。一般情况下是在模拟用户真实应用环境下,进行软件
7、测试。济南大学 张景祥 版权所有Software Test错误级别 错误级别(1)一级:不能完全满足系统要求,基本功能未完全实现;或者危及人身安全。系统崩溃或挂起等导致系统不能继续运行。(2)二级:严重地影响系统要求或基本功能的实现,且没有更正办法(重新安或重新启动该软件不属于更正办法)。使系统不稳定、或破坏数据、或产生错误结果,或部分功能无法执行,而且是常规操作中经常发生或非常规操作中不可避免的主要问题。济南大学 张景祥 版权所有Software Test(3)三级:严重地影响系统要求或基本功能的实现,但存在合理的更正办法(重新安装或重新启动该软件不属于更正办法)。系统性能或响应时间变慢、产
8、生错误的中间结果但不影响最终结果等影响有限的问题。(4)四级:使操作者不方便或遇到麻烦,但它不影响执行工作功能或重要功能。界面拼写错误或用户使用不方便等小问题或需要完善的问题。(5)五级:其他错误。光标跳转设置不好,鼠标(光标)定位错误一些建议性问题。济南大学 张景祥 版权所有Software Test 测试策略 在完成了分析和测试软件需求之后,要着手制定测试策略。首先要考虑以下一些问题:(1)测试范围(2)测试方法(3)质量标准(4)自动化测试工具的选择(5)测试软件的编写(6)与项目相关的一些特殊考虑济南大学 张景祥 版权所有Software Test 在测试策略中所需要完成的主要步骤:确
9、定测试范围确定测试方法定义测试标准选择测试工具济南大学 张景祥 版权所有Software Test确定测试范围测试过度,则在测试覆盖中存在大量冗余;测试范围过小,则存在遗漏错误的风险。定义测试范围是一个在测试时间、费用和质量风险之间寻找平衡的过程。通过分析产品的需求文档识别哪些内容需要被测试。测试范围不能仅仅由测试人员来确定。济南大学 张景祥 版权所有Software Test 定义测试范围需要考虑下列一些因素:首先测试最高优先级的需求。测试新的功能和代码或者改进的旧功能。使用等价类划分来减小测试范围 重点测试经常出问题的地方济南大学 张景祥 版权所有Software Test 确定测试范围方
10、法 可采用提问单的方式来确定测试范围哪些功能是软件的特色?哪些功能是用户最常用的?如果系统可以分块卖的话,哪些功能块在销售时最昂贵?哪些功能出错将导致用户不满或索赔?哪些程序是最复杂、最容易出错的?哪些程序是相对独立,应当提前测试的?哪些程序最容易扩散错误?哪些程序是全系统的性能瓶颈所在?哪些程序是开发者最没有信心的?济南大学 张景祥 版权所有Software Test 选择测试方法 在不同的开发阶段,需要选择不同的测试方法。在瀑布生命周期模型中不同的阶段可以选择的不同的测试方法:需求分析阶段:静态测试概要设计与详细设计阶段:静态测试编码和单元测试阶段:静态测试、动态测试、白盒测试集成测试阶段
11、:动态测试、白盒测试、黑盒测试系统测试阶段:动态测试、黑盒测试验收测试阶段:动态测试、黑盒测试济南大学 张景祥 版权所有Software Test 定义测试标准定义测试标准的目的是设置测试中遵循的规则。需要制订以下几种标准:测试入口标准测试暂停与继续标准测试出口标准济南大学 张景祥 版权所有Software Test制订测试标准常用规则(一)基于测试用例的规则当测试用例的不通过率达到某一百分比时,则拒绝继续测试。优点是适用于所有的测试阶段 缺点是太依赖于测试用例。基于“测试期缺陷密度”的规则“测试期缺陷密度”:测试一个CPU小时发现的缺陷数。如果在相邻n个CPU小时内“测试期缺陷密度”全部低于
12、某个值m时,则允许正常结束测试。济南大学 张景祥 版权所有Software Test制订测试标准常用规则(二)基于“运行期缺陷密度”的规则“运行期缺陷密度”:软件运行一个CPU小时发现的缺陷数如果在相邻n个CPU小时内“运行期缺陷密度”全部低于某个值m时,则允许正常结束测试。济南大学 张景祥 版权所有Software Test测试停止标准 软件测试停止标准(1)软件系统经过单元、集成、系统测试,分别达到单元、集成、系统测试停止标准。(2)软件系统通过验收测试,并已得出验收测试结论。(3)软件项目需暂停以进行调整时,测试应随之暂停,并备份暂停点数据。(4)软件项目在其开发生命周期内出现重大估算,
13、进度偏差,需暂停或终止时,测试应随之暂停或终止,并备份暂停或终止点数据。济南大学 张景祥 版权所有Software Test 单元测试停止的标准(1)单元测试用例设计已经通过评审(2)按照单元测试计划完成了所有规定单元的测试(3)达到了测试计划中关于单元测试所规定的覆盖率的要求(4)被测试的单元每千行代码必须发现至少3个错误(不含五级错误)(5)软件单元功能与设计一致(6)在单元测试中发现的错误已经得到修改,各级缺陷修复率达到标准济南大学 张景祥 版权所有Software Test 集成测试停止标准(1)集成测试用例设计已经通过评审(2)按照集成构件计划及增量集成策略完成了整个系统的集成测试(
14、3)达到了测试计划中关于集成测试所规定的覆盖率的要求(4)被测试的集成工作版本每千行代码必须发现2个错误(不含五级错误)济南大学 张景祥 版权所有Software Test(5)集成工作版本满足设计定义的各项功能、性能要求(6)在集成测试中发现的错误已经得到修改,各级缺陷修复率达到标准济南大学 张景祥 版权所有Software Test 系统测试停止标准(1)系统测试用例设计已经通过评审(2)按照系统测试计划完成了系统测试(3)达到了测试计划中关于系统测试所规定的覆盖率的要求(4)被测试的系统每千行代码必须发现至少1个错误(不含五级错误)(5)系统满足需求规格说明书的要求(6)在系统测试中发现
15、的错误已经得到修改,各级缺陷修复率达到标准 济南大学 张景祥 版权所有Software Test 确认测试停止标准(1)确认测试用例设计已经通过评审(2)按照确认测试计划完成了确认测试(3)达到了确认测试计划中关于确认测试所规定的覆盖率的要求(4)系统达到详细设计定义的各项功能,性能(5)在系统测试中发现的错误已经得到修改,各级缺陷修复率达到标准 济南大学 张景祥 版权所有Software Test 安装测试停止标准(1)安装退出之后,确认应用程序可以正确启动、运行。(2)在安装之前请备份你的注册表,安装之后,察看注册表中是否有多余的垃圾信息。(3)如果系统提供自动卸载工具,那么卸载之后需检验
16、系统是否把所有的文件全部删除,注册表中有关的注册信息是否也被删除。(4)安装完成之后,可以在简单地使用之后再执行卸载操作,有的系统在使用之后会发生变化,变得不可卸载。济南大学 张景祥 版权所有Software Test(5)对于客户服务器模式的应用系统,可以先安装客户端,然后安装服务器端,测试是否会出现问题。(6)考察安装该系统是否对其他的应用程序造成影响,特别是Windows操作系统,经常会出现此类的问题。(7)在安装测试中发现的错误已经得到修改,各级缺陷修复率达到标准济南大学 张景祥 版权所有Software Test 验收测试停止标准(1)软件需求分析说明书中定义的所有功能已全部实现,性
17、能指标全部达到要求。(2)在验收测试中发现的错误已经得到修改,各级缺陷修复率达到标准。(3)所有测试项没有残余一级、二级、三级和四级错误。(4)需求分析文档、设计文档和编码实现一致。(5)验收测试工件齐全(测试计划、测试用例、测试日志、测试通知单、测试分析报告,待验收的软件安装程序。)济南大学 张景祥 版权所有Software Test 缺陷修复率标准(1)一、二级错误修复率应达到100%(2)三、四级错误修复率应达到95%以上(3)五级错误修复率应达到60%以上 覆盖率标准(1)语句覆盖率最低不能小于80%(白盒测试时的语句覆盖率)(2)测试用例执行覆盖率应达到100%(功能测试用例均以执行
18、)(3)测试需求执行覆盖率应达到100%(业务测试用例均以执行)济南大学 张景祥 版权所有Software Test 选择自动化测试工具使用测试工具可以带来下面一些主要的好处:能够很好地进行性能测试和压力测试能够缩短测试周期能够提高测试工作的可重复性济南大学 张景祥 版权所有Software Test 选择自动化测试工具需要注意以下几方面:并不是所有的测试工作都可以由测试工具来完成并不是一个自动化工具就可以完成所有的测试使用自动化工具本身也是需要时间的,这个时间有可能超过手工测试的时间如果测试人员不熟悉测试工具的使用,有可能不能更多发现软件错误,从而影响测试工作质量自动化测试工具并不能对一个软
19、件进行完全的测试购买自动化测试工具,有可能使本项目的测试费用超出预算济南大学 张景祥 版权所有Software Test 减少冗余的测试白盒测试与黑盒测试的方式虽然不同,但往往有“异曲同工”之妙。在很多地方,白盒测试与黑盒测试会产生一模一样的效果(或者能推理出来),这样的测试是冗余的。在集成测试、系统测试阶段,可能要执行多次“回归测试”。每一次“回归测试”都会存在不少的冗余,应当设法剔除不必要的重复测试工作。合理地减少测试工作量济南大学 张景祥 版权所有Software Test减少无价值的测试l无价值的测试通常是由于不懂得测试技术引起的。例如功能测试,在等价区间之中,本来只要测试一个典型的输
20、入就行了,如果有人在此区间测试了100次,那么其中99次就是无价值的。如何“偷工减料”l有一些“短、平、快”的项目,经费本来就少,用户对质量要求也马马虎虎。为了能多挣一点钱,开发方不得不采用“偷工减料”的方式来降低测试代价。偷工减料的途径无非就是减少测试的内容和频度。但不能砍得太狠,否则软件拿不出手。基本方法是找出软件中需要优先测试的部分(见下表),其它次要部分可以忽略或将来再测试。济南大学 张景祥 版权所有Software Test“偷工减料”方法的测试优先级:l 哪些功能是软件的特色?l 哪些功能是用户最常用的?l 如果系统可以分块卖的话,哪些功能块在销售时最昂贵?l 哪些功能出错将导致用
21、户不满或索赔?l 哪些程序是最复杂、最容易出错的?l 哪些程序是相对独立,应当提前测试的?l 哪些程序最容易扩散错误?l 哪些程序是全系统的性能瓶颈所在?l 哪些程序是开发者最没有信心的?济南大学 张景祥 版权所有Software Test测试环境从软件的编码、测试到用户实际使用,存在着:开发环境、测试环境和用户环境。“环境”,指的是被测试软件所运行的软件环境和硬件环境。开发环境:是供程序员进行代码开发时使用的环境,和用户实际使用的环境往往有所差别。济南大学 张景祥 版权所有Software Test测试环境:是测试人员为进行软件测试而搭建的环境,一般情况下,将包括多种典型的用户环境。用户环境:是用户实际使用软件时的环境,当一个软件给不同的用户使用时,他们可能在不同的环境下使用这个软件。济南大学 张景祥 版权所有Software Test测试环境的环境项 计算机平台操作系统浏览器软件支持平台外部设备网络环境其它专用设备济南大学 张景祥 版权所有Software Test在配置测试环境方面,同样面临着在测试范围中的平衡问题。在搭建测试环境的时候,要排列配置的优先级,主要考虑:使用的频度或者范围失效的可能性能最大限度模拟真实环境如何配置测试环境济南大学 张景祥 版权所有Software Test搭建学生信息管理系统的测试环境http:/lihongxia/qcbin/