ch03-软件测试需求分析_第1页
ch03-软件测试需求分析_第2页
ch03-软件测试需求分析_第3页
ch03-软件测试需求分析_第4页
ch03-软件测试需求分析_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件测试管理与实践ch03-软件测试需求分析1了解不同层次的软件需求。理解测试需求的重要性以及测试需求分析的步骤。掌握测试类型分析的方法。掌握测试需求的表达方式。能够根据理论开展软件项目测试需求的分析。学习目标23软件需求和软件测试需求测试需求分析知识准备测试需求分析的步骤软件需求和软件测试需求145认识软件需求6业务需求组织或客户的高层次目标描述为什么要开发系统(Why),希望达到什么样的目标一般2-5条,记录在软件愿景和范围文档中用户需求从用户角度,描述用户使用产品必须要完成什么任务用户能使用系统来做什么(What)通过用户访谈、调查、对用户使用场景进行整理等方法获取功能需求描述开发人员在

2、产品中实现的软件功能描述开发人员如何设计具体的解决方案来实现这些需求(how)数量往往比用户需求高一个数量级属于软件需求规格说明书的一部分认识软件需求-需求的三个层次7功能需求用户需求系统需求:用于描述包含多个子系统的产品(即系统)的顶级需求,它是从系统实现的角度描述的需求,有时还需要考虑相关的硬件、环境方面的需求。业务规则:业务规划本身并非软件需求,因为它们不属于任何特定软件系统的范围。然而,业务规则常常会限制谁能够执行某些特定用例,或者规定系统为符合相关规则必须实现某些特定功能。它包括企业方针、政府条例、工业标准、会计准则和计算方法等。有时,功能中特定的质量属性(通过功能实现)也源于业务规

3、则。所以,对某些功能需求进行追溯时,会发现其来源正是一条特定的业务规则。非功能需求质量属性:产品必须具备的属性或品质。系统的质量属性包括可用性、可修改、性能、安全性、可测试行、易用性等。约束:也称为限制条件、补充规约,通常是对解决方案的一些约束说明。外部接口认识软件需求-软件需求规格说明书8测试需求与软件需求密切相关。测试需求分析的主要输入是软件需求规格说明书。测试需求是解决“测什么”的问题,是整个测试项目的基础,是制定测试计划、开发测试用例的依据。测试需求必须是可以核实的,它们必须有一个可观察、可评测的结果。测试需求9明确测试范围功能点明确功能处理过程单功能点业务场景组合测试需求分析的目标测

4、试需求分析只是准备21011软件测试是一项系统性工程,从不同的角度考虑可以有不同的划分方法,了解各种不同的测试分类,能更好地理解测试、开展测试。了解软件测试分类12常见软件测试分类131.根据测试阶段进行划分依据软件测试流程中各个阶段要开展的测试来划分,包括单元测试、模块测试、集成测试、系统测试、验收测试等。2.根据是否执行被测对象进行划分按照是否需要执行被测软件的角度可分为静态测试和动态测试。静态测试不运行被测软件,比如需求文档评审、设计文档评审、代码走查等。动态测试则通过运行被测试软件开展测试。3.根据是否使用工具划分根据测试是手工执行的还是工具执行的可以分为手工测试和自动化测试,一般情况

5、下性能测试用自动化测试方式。软件测试分类144.根据测试技术划分根据测试技术可以划分为黑盒测试、白盒测试和灰盒测试。白盒测试通过对程序内部结构的分析、检测来寻找问题。黑盒测试通过软件的外部表现来发现其缺陷和错误。灰盒测试是介于白盒测试和黑盒测试之间的测试,灰盒测试不仅关注输出、输入的正确性,同时也关注程序内部的情况。灰盒测试不像白盒测试那么详细、完整,但又比黑盒测试更关注程序的内部逻辑,常常是通过一些表征性的现象、事件、标志来判断内部的运行状态。5.根据测试类型划分测试类型是从不同的角度来分析和测试产品,测试类型概念很早就已经存在,比如:性能测试、安全性测试、功能测试、兼容性测试等等。软件测试

6、分类15软件测试类型是从不同的角度有针对性地来分析和测试产品。软件测试执行阶段是由一系列不同的测试类型的执行过程组成的,每种测试类型都有其具体的测试目标和支持技术,每种测试类型都只侧重于对测试目标的一个或多个特征或属性进行测试,准确的测试类型可以给软件测试带事半功倍的效果。 测试类型16常见的测试类型及其测试内容说明编号测试类型测试角度1功能性测试是对产品的各功能进行验证,根据功能需求逐项测试,检查产品是否达到用户要求的功能。2兼容性测试测试软件在特定的硬件平台上、不同的应用软件之间、不同的操作系统平台上、不同的网络等环境中是否能够正常的运行。3安全性测试针对未授权的访问,拒绝访问攻击等,一般

7、包括程序、网络、数据库安全性测试。4接口测试测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。5数据库完整性测试该项测试内容主要是以数据库表为单位,检查数据库表以及表中各字段命名是否符合命名规范,表中字段是否完整,数据库表中的字段描述是否正确包括字段的类型、长度、是否为空,数据库表中的关系、索引、主键、约束是否正确。6用户界面测试即UI测试,测试用户界面的功能模块的布局是否合理,整体风格是否一致,各个控件的放置位置是否符合客户使用习惯,操作是否便捷,导航是否简单易

8、懂,界面文字是否正确,命名是否统一,页面是否美观,文字、图片组合是否合适等等。除此之外,UI 测试还要确保 UI 功能内部的对象符合预期要求,并遵循公司或行业的标准。17常见的测试类型及其测试内容说明编号测试类型测试角度7负载测试负载测试是通过改变系统负载方式、增加负载等来发现系统中所存在的性能问题。负载测试更多的是一种测试方法,而不是测试类型,可以为性能测试、压力测试所采用。负载测试的加载方式也有很多种,可以根据测试需要来选择。8性能测试性能测试是为获取或验证系统性能指标而进行测试。多数情况下,性能测试会在不同负载情况下进行。性能指标主要有:系统吞吐量、响应速度、cpu占用率、内存占用率等。

9、9压力测试压力测试通常是在高负载情况下来对系统的稳定性进行测试,更有效地发现系统稳定性的隐患和系统在负载峰值的条件下功能隐患等。10疲劳强度测试通过长时间运行系统,测试系统的性能,发现性能问题。一般会测试系统的日常业务(正常情况)和高峰业务(最大业务量)情况下长时间运行系统的结果。11恢复性测试测试一个系统从灾难或出错中能否很好地恢复的过程,如遇到系统崩溃、硬件损坏或其他灾难性出错。可恢复测试一般是通过人为的各种强制性手段让软件或硬件出现故障,然后检测系统是否能正确的恢复(自动恢复和人工恢复)。12配置测试一般是针对硬件配置的测试,测试软件在最低配置和推荐配置情况下是否能够正常运行。18常见的

10、测试类型及其测试内容说明编号测试类型测试角度13安装卸载测试确保软件在正常情况和异常情况的不同条件下,都能正确地完成安装和卸载。例如,进行首次安装、升级、完整的或自定义的安装。14用户文档测试软件文档是软件的一部分,要确保文档能够给用户提供正确的说明或指引,重点关注文档的正确性、完备性以及可理解性。交给用户的文档主要有:系统帮助、用户使用手册、用户安装手册、示例以及模板、图像声音帮助、用户许可协议等。15可用性测试(易用性测试)让一群具有代表性的用户对产品进行典型操作,同时观察员和开发人员在一旁观察,聆听,做记录。可用性有五个指标,分别是易学性、易记性、容错性、交互效率和用户满意度。16稳定性

11、测试(可靠性测试)稳定性测试(亦可称可靠性测试)通过给系统加载一定的业务压力,让系统持续运行一段时间(一般为7x24小时),检测系统是否能够稳定运行。17内存泄漏测试内存泄漏是指用动态存储分配函数动态开辟的空间,在使用完毕后未释放,结果导致一直占据该内存单元,直到程序结束。内存泄漏测试就是测试有没有内存空间使用完毕之后未回收的情况,一般用专门的检测工具。18本地化测试也称为国际化测试,有些产品为了满足特定区域用户的需要有多个语言版本,比如简体中文、繁体中文、英文、日文等,本地化测试是针对特定目标区域性或区域设置的产品进行测试,在本地化的软硬件环境下测试界面、安装卸载等内容,也要关注产品目标地区

12、的文化、宗教、喜好等适用性测试。19测试类型是指功能测试、性能测试、安全性测试等等实际实践:不同类型的测试会发现不同类型的Bug;测试类型是从不同的角度来分析和测试产品;不同产品对应的测试类型集合可能不同;不同测试类型的测试方法不同;不同测试阶段其测试类型不同一般做法:测试团队根据产品特点建立测试类型库如果没有自己的测试类型库可以参考质量特性与测试类型的对应关系表在测试类型分析中分析并列出测试需求项需要哪些类型的测试测试类型分析20附:质量子特性与测试类型的对应表21某单机产品系统测试阶段测试类型列表功能测试性能和压力测试兼容性测试可用性测试错误恢复和可靠性测试安全性测试用户文档测试安装部署测

13、试版本配置项测试测试类型分析-举例122某手机产品测试类型列表功能性测试一致性测试互操作测试安全性测试流控测试性能测试压力测试大容量测试长时间测试配置测试兼容测试安装测试备份测试恢复测试易用性测试Qos测试国际化测试测试类型分析-举例2测试需求分析步骤32324测试需求分析的步骤25广泛、全面结合具体的产品背景、团队管理水平、测试阶段有针对性的收集1.原始测试需求收集注意事项26测试需求可能的来源用户需求系统开发需求产品愿景产品设计说明书;同类竞争产品及其说明书;旧产品及其说明书:如果是产品升级换代的情形相关的协议和规范:如果产品要符合某种规范则要将协议和规范包含在需求范围内,比如儿童手机对辐

14、射度的规范要求。原始测试需求可能的来源27产生原始需求来源表原始测试需求来源表来源编号原始需求来源文档名称备注1用户需求用户需求规格说明书_作业管理系统.doc2开发需求系统需求规格说明书_作业管理系统.doc28概要需求整理对被测对象有一个整体的把握满足短时间内给出测试计划的需要方便分配任务进行详细需求的整理举例2.原始需求概要整理29详细需求整理明确每个测试功能点对应的输入,处理和输出明确每一个测试需求的具体要求原始需求详细整理30测试需求项分析与旧版本关系分析与其他需求项关系分析测试类型分析需求项分析-测试需求项分析31项目型软件 VS 产品型软件被测试的新版本与以前版本之间的关系新增加

15、的需求修改的需求修改了什么?以前的测试设计、用例和测试记录?是整个需求重新开发?还是在原来的基础上修改?需求项分析1-与旧版本关系分析32产品功能不是独立的,功能之间存在交互关系为了提高测试的完备性,要对需求与需求之间的关系进行分析。可以参考软件需求跟踪矩阵中需求与需求之间的关系(横向关系)时序关系(时间顺序关系)共享资源关系(共享数据和资源)需求项分析2-与其他需求项关系分析33测试类型是指功能测试、性能测试、安全性测试等等实际实践:不同类型的测试会发现不同类型的Bug;测试类型是从不同的角度来分析和测试产品;不同产品对应的测试类型集合可能不同;不同测试类型的测试方法不同;不同测试阶段其测试

16、类型不同一般做法:测试团队根据产品特点建立测试类型库如果没有自己的测试类型库可以参考质量特性与测试类型的对应关系表在测试类型分析中分析并列出测试需求项需要哪些类型的测试需求项分析3-测试类型分析34附:质量子特性与测试类型的对应表35某单机产品系统测试阶段测试类型列表功能测试性能和压力测试兼容性测试可用性测试错误恢复和可靠性测试安全性测试用户文档测试安装部署测试版本配置项测试需求项分析3-测试类型分析-举例136某手机产品测试类型列表功能性测试一致性测试互操作测试安全性测试流控测试性能测试压力测试大容量测试长时间测试配置测试兼容测试安装测试备份测试恢复测试易用性测试Qos测试国际化测试需求项分析3-测试类型分析-举例237测试需求分析完成后,为了方便后续对测试需求的跟踪和维护需要建立测试需求跟踪矩阵。测试需求跟踪矩阵记录软件需求到测试需求的分解以及测试项到测试用例的分解。需求跟踪-建立软件测试需求跟踪矩阵38测试需求跟踪矩阵应该记录的主要内容软件需求到测试需求的分解测试需求项后续跟进测试需求向测试用例的分解需求跟踪-软件测试需求跟踪矩阵的内容下表是一个简单形式的测试需求跟踪矩阵实际项目中可以根据需要扩充测试需求的属性,比如测试需求的优先级、测试需求的测试类型等等。需求跟踪-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论