软件测试理论和方法.ppt_第1页
软件测试理论和方法.ppt_第2页
软件测试理论和方法.ppt_第3页
软件测试理论和方法.ppt_第4页
软件测试理论和方法.ppt_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

1、软件测试的理论和方法,来自AMB测试空间技术中心,主要内容,消除软件缺陷的两个重要手段,基本概念,过程,测试方法,测试类型,测试策略,测试工具,消除软件缺陷的两个重要手段,基本概念,过程,测试方法,测试类型,测试策略,测试工具,第一个Bug,海军中尉,格雷斯霍博的第一夫人的计算机软件。1947年夏天,美国哈佛大学的马克2号计算机继电器接触,蛾,第一次记录“计算机错误”,软件缺陷-缺陷,软件缺陷是偏离软件产品及其属性:偏离产品规格偏离用户的期望。软件产品中有三种类型的缺陷:错误:没有正确的规范;产品中未反映的规定或预期要求;额外的实现:规范中没有规定的需求被合并到产品中并被实现。软件缺陷不能完全

2、避免。行业比较机械制造业和建筑业软件行业的缺陷是软件内部的“裂缝”,这些裂缝是为了影响用户和系统运行而隐藏的。然而,当缺陷导致操作错误或负面影响时,它们将构成事故并造成损失或伤害。软件测试的理论和方法是消除软件缺陷的两个重要手段,软件测试的基本概念、测试过程、测试方法、测试类型、测试策略、测试工具是消除软件缺陷的第一重要手段,测试在软件开发中起着重要作用,测试成本占开发成本的近一半。软件开发成本分配:软件项目评审中消除软件缺陷的第二个重要手段,软件测试的理论和方法,消除软件缺陷的两个重要手段,软件测试的基本概念,测试过程,测试方法,测试类型,测试策略,测试工具,软件测试的基本概念,测试对象,软

3、件测试的原则,软件测试的信息流,为什么不能实现软件测试在穷举测试中的现状和局限性,提高产品质量?提高产品的信誉,获得更多的销售机会和市场份额。降低客户的售后支持成本和产品维护成本。测试是一个程序执行的过程,目的是发现错误(缺陷)。好的测试用例可以有效地发现在其他测试用例中没有发现的错误(缺陷)。成功的测试是发现意外的错误(缺陷)。测试对象1,1。程序测试:发现程序中的缺陷,测试对象2,2。软件测试:在程序和早期设计和开发中发现缺陷,软件测试的原则,在测试工作开始之前,不应该假设程序中没有缺陷或者没有缺陷可以被发现(软件心理学)。在测试之前,你应该预测测试结果和数据,尽可能避免测试你自己编写的程

4、序,并坚持独立测试的原则。如有必要,建立一个独立的测试机构。测试用例应该注意有效输入和无效输入,不仅要检查程序是否做了它应该做的事情,我们还应该检查我们是否做了我们不应该做的事情,测试的充分性,以及测试的有效性。保留所有测试用例。对测试程序的任何更改都应该重新测试(回归测试)。软件测试信息流,测试成本曲线,为什么不可能实现穷举测试1。该计划有五个独立的路径,包括一个周期。最大循环次数为20次。分析:周期数:0.123 19.20独立路径数:51.52.53.5211014 (100万亿)。每个测试用例(考虑、执行和验证结果)需要5分钟。总测试时间是10亿年。为什么不可能实现详尽的测试2?一个功

5、能模块有两个输入端A和B以及一个输出端c输入a,b:所有最大长度为32的正整数测试:A1,A2,B1,安,Bn Cn=232 x 232=264 1.84 x 1019,软件测试的现状和局限性,当前的软件测试仍然是寻找缺陷和解决缺陷。隐藏的缺陷会逐渐减少。使用任何测试方法只能发现一些缺陷。一个理想的测试方法可以在没有软件缺陷的情况下找到所有的缺陷,即使是经过仔细的测试、运行测试和维护修复。软件测试的理论和方法,消除软件缺陷的两种重要手段软件测试的基本概念,测试阶段,测试过程,测试方法,测试类型,测试策略,测试工具,测试阶段-V模型,V模型的优缺点,优点:文档驱动开发模式非常注重反馈和测试,可以

6、在明确要求的前提下使用,也适合长期专职开发人员的小规模项目开发。缺点:开发阶段受到严格限制,缺乏迭代。集成测试是发现大多数缺陷的时候,它严重滞后于V模型。不支持探索性测试。不适合新领域,缺乏对变革的支持。不支持频繁集成。XP测试、XP特性、日常集成:所有源代码都保存在一个开发服务器上。可运行的程序框架。自动编译和创建。每个人都能得到最新最好的可执行文件。先测试,然后编程。团队编程。结对编程。用户存在。现场缺陷样本管理。常规训练。支持重构。代码集合所有增量开发。例如:微软的极限编程元素。微软什么时候开始它的一天?为什么在午夜?答:因为每日构建是所有任务的核心,它会在半夜自动开始。例如:微软XP元

7、素(续),程序员每天上班前最担心的是什么?答:阻塞错误是由我前一天的代码签入引起的。为什么?因为在同一天工作的每个人都需要构建来验证与其他模块的接口测试,所以构建需要发现新的错误并验证在新的构建中解决的错误。例如:微软XP元素(续),如果有一个阻塞错误呢?解决问题,修补今天的构建。在经历了恐惧和与时间赛跑之后,开发者做的第一件事是什么?回答:打开缺陷跟踪工具,检查分配给你的缺陷,并以高优先级解决缺陷。因为质量比新功能更重要。例如:微软XP元素(续),然后开发人员将在版本控制工具中检出代码以修改代码(解决错误或实现新功能),以获得版本工具中的最新更改,在本地构建它,并进行单元测试。请要求开发团队

8、的同事在代码、软件测试理论和方法方面做代码检查。消除软件缺陷的两个重要手段:软件测试的基本概念、测试过程、测试方法、测试类型、测试策略、测试工具、测试过程、测试计划、测试开发、测试执行、测试过程、测试计划、测试目标、测试范围、测试工具、资源交付、测试设计、详细确认和描述测试用例、确认和设计测试脚本、评估测试覆盖率、测试开发、建立测试环境、记录或编写测试脚本、开发测试驱动程序和存根模块、建立外部数据集、测试执行, 执行测试脚本,分析测试结果,验证和研究意外的测试结果,编写测试日志,错误报告和错误跟踪,以及测试评估。 分析测试用例覆盖率,分析代码覆盖率,分析缺陷分析是否满足测试停止和成功标准,编写

9、测试分析报告,软件测试理论和方法,消除软件缺陷的两个重要手段,软件测试的基本概念,测试过程测试方法,测试类型,测试策略测试工具,测试方法,静态测试方法动态测试方法黑盒测试白盒测试回归测试模拟用户操作测试方法,方法1,方法2,方法3,静态测试方法, 主要特点是当源程序被计算机测试时,计算机并不真正运行被测试的程序,而只是分析被测试程序的特性。 因此,静态方法通常被称为“分析”,这是用于分析被测试程序特性的一些方法的总称。动态测试方法的主要特点是计算机必须真正运行被测程序,并通过输入测试用例来分析其操作(输入和输出之间的对应关系)。黑盒测试,也称为功能测试、黑盒测试或基于规范的测试,是一种从用户角

10、度出发的测试。被测程序被视为一个黑盒,它不考虑程序的内容结构和内容特征,只知道程序的输入和输出或程序的功能之间的关系。根据能够反映这种关系的程序功能的需求规范,测试用例被认为是确定测试结果正确性的。软件黑盒测试用于证明软件功能的正确性和可操作性。白盒测试,也称为结构测试、逻辑驱动测试或基于程序的测试,依赖于对程序细节的严格检查、为特定条件和循环集设计测试用例、测试软件的逻辑路径以及在程序的不同点检查“程序状态”。软件的白盒测试用来分析程序的内部结构。白盒测试要求在一定程度上覆盖一些程序的结构特征,或称“基于覆盖的测试”,回归测试,回归测试应用于:版本控制软件维护的增量开发回归测试,目的是验证修

11、改或添加的部分是正确的,验证这些部分不会在其他部分引起错误,模拟用户操作测试,模拟用户操作测试,这是基于对用户如何使用测试软件开发测试的理解。经验告诉我们,复杂的软件产品有许多错误。然而,用户只能发现其中的一些错误。为了给用户带来最大的好处,我们应该专注于测试和修改用户可能发现的错误。软件测试理论和方法是消除软件缺陷的两种重要手段,软件测试的基本概念、测试过程测试方法、测试类型、测试策略、测试工具、可靠性测试(质量维度1)和完整性测试侧重于评估测试对象的强线(防止失败的能力)、语言和语法的技术兼容性以及资源利用该测试针对不同的测试对象进行实施和执行,包括单元测试和集成单元结构测试,其重点是评估

12、测试目的是否与其设计和构造一致。该测试通常在基于网络的应用程序上执行,以确保所有链接都已连接,显示了正确的内容,并且没有孤立的内容。功能测试(质量维度2),配置测试侧重于确保测试在不同的硬件和/或软件配置上按预期运行。该测试也可以作为系统性能测试来实现功能测试,重点是测试对象按计划运行并提供所需的服务、方法或用例。该测试针对不同的测试对象实施和执行,包括单元、集成单元、应用和系统安装测试,重点是确保该测试是希望在不同条件(磁盘空间不足或电源中断)下按预期安装的测试。该测试针对不同的应用程序和系统实施和执行。功能测试(质量维度2),安全测试专注于确保只有预期的参与者才能访问测试对象、数据(或系统

13、)。这个测试是为各种测试对象实现和执行的。容量测试侧重于测试对象对大量数据(输入和输出或驻留在数据库中)的处理能力。容量测试包括许多测试策略,例如:创建一个返回整个数据库内容的查询,对查询设置许多限制,使其不返回数据或返回每个字段中数据量最大的数据条目,性能测试(质量维度3),基准测试,将(新的或未知的)测试对象与已知的参考和系统性能进行比较的性能测试。竞争测试关注的是box是否是一个测试,来测试对来自多个角色对相同资源(数据记录、内存等)的请求的处理。)是可以接受的。负载测试是一种性能测试,用于验证和评估系统在负载下良好运行的可接受性,包括负载和响应时间的特性,而被测系统保持不变。性能测试(

14、质量维度3)、性能曲线在该测试中,将监控测试对象的时序配置文件,包括执行流程、数据访问、功能和系统调用,并识别和解决性能瓶颈和底层效应流程。强度测试也是一种性能测试,重点是保证系统在遇到异常情况时能够按预期运行。系统面临的工作强度可能包括过多的工作负载、不足的内存、不可用的服务/硬件或过低的共享资源。其他测试类型术语1,单元测试关注的是软件中最小的可测试元素何时被应用于实现模型中的组件。在功能正确的前提下,控制流和数据流的覆盖测试主要针对单元的内部结构。更加关注白盒测试集成。集成单元可以正确执行用例。测试对象是实现模型中的一个包或一组包。要集成的包通常来自不同的开发组。集成测试将揭示包结构规范

15、中的不完整或错误。其他测试类型术语-2,系统测试所有集成测试完成软件系统之间的联合测试软件和硬件之间的联合测试模拟真实操作环境的测试验收测试测试测试的最后一个过程,在用户在场或直接测试的情况下,用户可以定制测试用例,其他测试类型术语-3,恢复测试,例如,由硬件故障或不良用户数据引起的一些情况兼容性测试将软件、硬件、操作系统和网络的兼容性测试与类似产品进行比较, 列出了优点和缺点,其他测试类型term-4,边界测试测试产品特定的限制,如最大值和最小值,并确定软件是否可以在这些特定的限制下正常工作。正向测试确定软件某一特性的结果是否与正确使用软件的需求相一致。反向测试决定了对软件无效输入或非法操作的处理是否合理。软件测试理论和方法是消除软件缺陷的两个重要手段。软件测试的基本概念、测试过程测试方法、测试类型、测试策略、测试工具,测试策略是一种用于各种测试阶段(单元测试、集成测试和系统测试)和测试类型(功能测试、性能测试、负载测试、强度测试等)的策略。),其中描述了这些测试活动中采用的方法和主要目标。测试策略的几个重要因素:特别考虑目标技术工具的成功标准,例如安装测试,目标是在指定的

温馨提示

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

评论

0/150

提交评论