软件测试第8章课件.ppt

上传人(卖家):三亚风情 文档编号:3175868 上传时间:2022-07-28 格式:PPT 页数:52 大小:224KB
下载 相关 举报
软件测试第8章课件.ppt_第1页
第1页 / 共52页
软件测试第8章课件.ppt_第2页
第2页 / 共52页
软件测试第8章课件.ppt_第3页
第3页 / 共52页
软件测试第8章课件.ppt_第4页
第4页 / 共52页
软件测试第8章课件.ppt_第5页
第5页 / 共52页
点击查看更多>>
资源描述

1、第第8章章 系统测试系统测试8.1 系统测试概述 系统测试在单元测试和集成测试后,它使用各种技术和方法将完成集成后的系统与计算机硬件、外部设备、支持软件、数据以及人员等其他系统元素结合在一起,在实际运行环境下对计算机系统进行一系列的严格测试来发现软件中的潜在缺陷,确保系统能正常使用。系统测试的最终目的是验证软件系统的正确性和性能等是否满足需求分析所指定的要求,保证开发方交付给用户的软件系统能满足用户的需求。系统测试的测试用例应在实际的用户使用环境中执行,若确实无法与实际用户使用环境一模一样,也要尽量贴近真实的使用环境。8.2 系统测试的主要内容 一般情况下,系统测试的主要内容包括以下几个方面:

2、系统可靠性测试。系统健壮性测试。系统支持的最优负载数量。典型应用的反应时间。网络指标。客户端、服务器的CPU、Memory的使用情况。服务器的响应速度。8.3 系统测试的类型 系统测试主要采用黑盒测试技术,测试的对象不仅是所需测试的软件系统,还包括软件所依赖的硬件、外部设备,甚至包括某些数据、支持软件及其接口等。将系统中的软件与各种依赖资源结合起来,在用户的实际使用环境下测试。因此,系统测试应该由若干种不同的测试组成。系统测试的测试类型一般包括功能测试、性能测试、负载测试、强度测试、容量测试、安全性测试、GUI测试、配置测试、故障恢复测试、安装测试等。8.3.1 功能测试 功能测试(Funct

3、ion Testing)也称为确认测试,它是系统测试中最基本的测试。功能测试是基于软件需求规格说明书,在已知产品应有功能的基础上,从用户的角度进行功能验证,以确认每个功能是否都能正常使用、是否能适当地接收输入数据而产生正确的输出结果等。检验能否适当地接受输入数据而产生正确的输出结果。检验能否接受不同的数据输入(能接受正确的数据输入、对异常数据的输入进行提示和溶出处理)。检验数据输出结果是否正确、格式是否清晰,能否保存和读取。检验功能逻辑是否清楚,符合使用者的习惯。检验系统的各种状态是否按照业务流程变化,并保持稳定。1功能测试的内容 检验菜单、按钮操作是否正常、灵活,能处理一些异常操作。检验系统

4、的界面是否清晰、美观。支持各种应用的环境,能配合多种硬件周边设备,与外部应用系统的接口有效。检验是否所有功能都能够实现,是否存在遗漏功能。检验是否所有功能都能正常实现,是否存在不正常功能。检验是否存在额外的功能,如功能键等。检验功能是否满足系统设计的隐含需求,如系统对意外情况的反应能力等。检验软件升级后,能否继续支持旧版本的数据。2常用的功能测试方法字符类型检查:检查在应该输入指定类型的内容的地方输入其他类型的内容是否报错。字符串长度检查:检查输入字符串长度是否超出需求所说明的字符串长度的内容。中文字符处理:检查在可以输入中文的系统输入中文时是否出现乱码或出错。标点符号检查:检查输入内容包括各

5、种标点符号,特别是空格、回车键、各种引号,检查系统处理是否正确。检查输出信息的完整性:在查看信息和update信息时,查看所填写的信息是不是全部输出,输出信息和添加信息是否一致。信息重复:检查在一些需要命名的且名字应该唯一的信息处输入重复的名字或ID,查看系统有没有处理、是否报错,重名包括是否区分大小写以及在输入内容的前后输入空格等,系统是否做出正确处理。检查添加和修改是否一致:检查添加和修改信息的要求是否一致,例如添加规定为整型的项,修改也必须为整型。检查删除功能:检查在一些可以一次删除多个信息的地方,不选择任何信息,按Delete键,查看系统如何处理、是否出错;然后选择一个和多个信息进行删

6、除,查看是否能正确处理。检查修改重名:检查修改时把不能重名的项改为已存在的内容,查看系统是否处理、报错。同时,也要注意是否报重名的错。检查按钮的功能是否正确:检查如update、cancel、delete、save等功能是否正确。检查多次使用back按钮的情况:检查在有back按钮的地方,back回到原来页面,再back,重复多次,查看是否出错。search检查:检查在有search功能的地方输入系统存在和不存在的内容,查看search结果是否正确,如果可以输入多个search条件,可以同时添加合理和不合理条件,查看系统处理是否正确。回车键检查:检查在输入结束后直接按回车键是系统处理如何、是否

7、会报错。快捷键检查:检查是否支持常见快捷键,如Ctrl+C、Ctrl+V、Backspace等,对一些不允许输入信息的字段,如选日期、选地点对快捷键是否进行了限制。重复提交表单:检查一条已经成功提交的记录,back后再提交,查看系统是否进行处理。输入信息位置:检查在光标停留的地方输入信息时,光标和所输入的信息是否会跳到其他地方。上传下载文件检查:检查上传下载文件的功能是否能够实现、上传文件是否能够打开、对上传文件的格式有何规定、系统是否有解释信息等。必填项检查:检查应该填写的项没有填写时系统是否都进行了处理、对必填项是否有提示信息,如在必填项前加“*”。页面链接检查:检查每一个链接是否都有应对

8、的页面,并且页面之间切换正确。3功能测试自动化 软件测试自动化是软件测试技术一个重要部分,能够完成许多手工无法完成或者实现的一些测试工作。测试离开自动化就谈不上效率,功能测试更需要自动化。随着国内对软件测试行业的逐渐重视,许多公司已经引进实用的功能测试工具。这类工具的代表产品包括MI公司的WinRunner和QTP。8.3.2 性能测试 性能测试(Performance Testing)是对软件的运行性能指标进行测试,判断系统集成后在实际的使用环境下能否稳定、可靠地运行。性能测试是软件测试的高端领域,要求测试人员了解系统的内部工作原理,并能通过定义特殊的系统资源来进行检查。性能测试一般都通过测

9、试工具(代表产品MI公司的)来模拟人为的操作进行,重点是测试环境的建立、前期数据的设计和后期数据的分析。1软件性能的表现1)时间性能 时间主要是指软件的一个具体事务响应时间。响应时间的长短并无一个绝对统一的标准。对游戏软件来说,一个普遍接受的响应时间标准为0.1:1:3,即0.1秒以内应该是不错的,在1秒左右可能属于勉强可以接受的,3秒以上就完全难以接受了。2)空间性能空间性能包含的主要内容如下:CPU的使用情况。I/O的使用情况。主存的使用情况。每个模块的执行时间百分比。模块使用在主存储上的时间百分比。指令随时间的跟踪路径。控制从一个模块到另一个模块的次数。系统的反应时间。系统的吞吐量。3)

10、收集性能指标的方法 为了收集系统的时间和空间性能指标,一般采用以下方法:被测系统在典型运行环境中执行测试用例,并使用外部探针或性能监视器进行度量。被测系统在典型运行环境中执行测试用例,并将探针插入代码中,收集性能信息。2性能测试的目标 判断被测系统是否满足预期的性能需求(产品规格要求书所要求的性能指标)。判断系统的性能表现。寻找可能存在的软件性能问题,定位性能瓶颈并解决问题。3性能测试的内容 对软件系统架构的分析(了解输入、输出数据类型、数据量)。网络环境说明。硬件环境说明。测试范围、目的与方法。性能测试工具的选型。测试的启动和退出条件。测试执行及测试结果分析。4性能测试的分类1)常规性能测试

11、 常规性能测试是指软件在正常的软硬件环境下运行,不施加任何压力的性能测试。这里的正常环境一般是指用户的实际使用环境,并模拟生产运行的业务压力。资源占用率测试、易用性测试、用户文档测试、效率测试和可扩充性测试都是常规性能测试的范围。2)高级性能测试 压力测试(Stress Testing)。压力测试是持续不断地给被测系统增加压力,直到被测系统被压垮,从而确定系统能承受的最大压力。可靠性测试(Reliability Testing)。可靠性测试是在给被测系统加载一定业务压力的情况下,使系统运行一段时间,以此来测试系统是否稳定。并发性能测试(Concurrency Testing)。并发性测试是负载

12、测试和压力测试的过程,即逐渐增加负载,指导系统的瓶颈或者不能接受的性能点,通过综合分析交易执行指标和资源监控来确定系统并发性能的过程。系统监控测试。在进行负载压力测试的同时,利用测试工具对数据库服务器、Web服务器、应用服务器、认证及授权服务器上的操作系统、数据库以及中间件等资源进行监控。速度测试。疲劳测试。通常是采用系统稳定运行情况下能够支持最大并发用户数,持续执行一段时间业务,通过综合分析交易执行指标和资源监控指标来确定系统处理最大工作量强度性能的过程。大数据量测试。8.3.3 负载测试 负载测试(Load Testing)是在一种需要反常数据、频率或资源的方式下,对系统整体执行重复性的测

13、试,以检查软件系统对异常情况的抵抗能力,找出性能瓶颈。1负载测试的加载方式 要高质量地完成负载测试,必须通过测试工具准确模拟被测系统实际运行时所收到的真实负载。虽然这种模拟不可能和现实完全吻合,但借助一些方法基本上能做到这一点。最常见的加载方法有4种。2负载测试的目的 负载测试的目的是找到系统测试的处理极限,为系统调优提供依据。负载测试应该在专用的计算机上或专用的机时内执行,以便实现完全的控制和精确的评测。负载测试所用的数据库应该是实际大小或相同缩放比例的数据库。8.3.4 强度测试 强度测试是一种性能测试技术,实施和执行此类测试的目的是找出因资源不足或资源争用而导致的错误。如果内存或磁盘空间

14、不足,测试对象就可能会表现出一些在正常条件下并不明显的缺陷。而其他缺陷则可能由于争用共享资源(如数据库锁或网络带宽)而造成。强度测试还可以用于确定测试对象能够处理的最大工作量。1强度测试的分类 Spike Testing:短时间的极端负载测试。Extreme Testing:在过量用户下的负载测试。Hammer Testing:连续执行所有能做的操作。2.强度测试的目标 核实测试对象能够在以下强度条件下正常运行,不会出现任何错误:服务器上几乎没有或根本没有可用的内存(RAM和DASD)来连接或模拟了最大实际(实际允许)数量的客户机,供多个用户对相同的数据或账户执行相同的事务(逻辑业务事务,以下

15、提到的事务都指逻辑业务事务)。也就是说,强度测试是为了确定和记录那些使系统无法继续正常运行的情况和条件。3强度测试的策略 强度测试是为性能评测或负载测试制定的测试。要对有限的资源进行测试,就应该在一台计算机上运行测试,而且应该减少或限制服务器上的RAM和DASD。对于其他的强度测试,应该使用多台客户机来运行相同的测试或互补的测试、已产生的最繁重的事务或最差的事务组合。4强度测试的完成标准 在所有数据库访问方法和进程都按设计的方式进行,并且数据没有遭到损坏时,我们就认为强度测试已经完成了。8.3.5 容量测试 容量测试也可称为洪流测试(Flood Testing),它是用来检测系统在处理大量数据

16、的情况下正确运行的能力,它的目标是识别只有在这种情况下才可能出现的缺陷。容量测试可以重新运行早期测试阶段的合适用例,当然还需再设计一些新的测试用例。一种特别的容量测试是重复运行同一个测试用例,但每次都增加数据量,以确定数据量到达什么程度时系统会失效。1容量测试的策略 第一次进行容量测试可以采取递增加载的方式,先获得一个基本的容量值或容量范围,然后再考虑用一次性加载的方式,来决定实际可支持的容量值。当然,两种加载方式也可以交叉使用,虽然没有很好的可比性,但可以相互参考(取两者均值),对获取更准确的容量会有帮助。2容量测试、压力测试和性能测试的关系 压力测试可以看做是容量测试、性能测试和可靠性测试

17、的一种手段,不是直接的测试目标。压力测试的重点在于发现功能性测试所不易发现的系统方面的缺陷。而容量测试和性能测试是系统测试的主要目标内容,也就是确定软件产品或系统的非功能性方面的质量特征,包括具体的特征值。容量测试和性能测试更着力于提供性能与容量方面的数据,为软件系统部署、维护、质量改进服务,并可帮助改进市场定位、销售人员对客户的解释、广告宣传等服务。压力测试、容量测试、性能测试的方法相似、相通,在实际测试工作中,往往结合起来进行,以提高测试效率。一般会设置专门的性能测试实验室,完成这些工作。即使用虚拟的手段模拟实际操作,所需要的客户端有时还是很大的,所以性能测试实验室的投资较大。8.3.6

18、安全性测试 安全性测试(Security Testing)用于检验系统对非法侵入的防范能力。系统的安全必须能够经受各方面的攻击。在安全性测试的过程中,测试人员扮演非法入侵者的角色,采用各种方法试图突破系统的安全防线。从理论上讲,只要给予足够的时间和资源,任何系统都可以侵入。因此,系统安全设计原则是将系统设计为想攻破系统而付出的代价应大于侵入系统之后得到的信息价值,使得非法侵入者无利可图。1非法入侵系统的手段 尝试通过外部手段截获或破译系统口令。使用甚至专门开发能够瓦解防守的客户软件来攻击系统,试图破坏系统的保护机制。故意引发系统错误,导致系统失败,企图趁系统恢复时侵入系统。2安全性测试的主要内

19、容 全面检验软件在软件需求规格说明中规定的防止危险状态措施的有效性和在每一个危险状态下的反应。对软件设计中用于提高安全性的结构、算法、容错、冗余、中断处理等方案,进行针对性测试。在异常条件下测试软件,以表明不会因可能的单个或多个输入错误而导致不安全状态。用错误的安全性关键操作进行测试,以验证系统对这些操作错误的反应。对安全性关键的软件单元和软件部件,要单独进行加强的测试,以确认其满足安全性需求。3安全测试的策略 根据安全性的不同级别,软件安全性测试包括应用程序、系统安全性测试。应用程序的安全性。包括对数据或业务功能的访问。应用程序级别的安全性可以保证在预期的安全性条件下,用户只能使用应用程序的

20、特定功能或仅能访问有限数据。系统的安全性。包括对系统登录或远程访问。系统级别的安全性能更可以保证只有具备系统访问权限的用户才能访问应用程序,且仅能通过相应网关来访问。根据系统安全指标不同测试策略也不同:用户认证安全测试的策略 系统网络安全测试的策略 数据库安全性测试的策略 8.3.7 GUI测试 GUI是Graphical User Interface的首字母缩写,是指采用图形方式显示的计算机操作用户界面。GUI让用户可以通过图标和鼠标与计算机进行交互。GUI测试用于核实用户与软件之间的交互。GUI测试的目标是确保用户界面通过测试对象的功能来为用户提供相应的访问或浏览功能。GUI测试还可确保G

21、UI中的对象按照预期的方式运行,并符合公司或行业的标准。1GUI测试的难点 可能的输入太多。可能的输出太多。由于GUI可能存在无穷的输入,因此也必然产生无穷的输出。活动序列太多。众多的输入输出组合不仅产生巨大的活动序列集合,且每个活动序列都可能导致系统处于不同状态,基于庞大的状态集合进行GUI测试并非易事。难以选择合适的覆盖指标。传统的结构化覆盖率无法简单应用于GUI测试,目前也很难找到合适的自动化工具来自动评估对界面元素、活动序列等信息的覆盖程度。低劣的设计容易将界面与功能混在一起,进一步增加GUI测试的难度。2GUI测试的策略 对窗口的测试 窗口是Windows本身以及Windows环境下

22、的应用程序的基本界面单位,即显示在屏幕上的一个矩形区域。标准意义上的窗口具有标题栏、菜单栏、工具栏、工作区、状态栏、最大化、最小化按钮和滚动条的标准方框,应用程序通过它和用户进行交互。对信息处理的测试 在这里将文本框、列表框、组合框、下拉列表框、复选框、单选框、选项框、滑动条都作为信息处理类。对消息框与对话框的测试 对按钮的测试 8.3.8 配置测试 配置测试(Configuration Testing)用来核实测试对象在不同的软件和硬件配置中的运行情况。配置测试的目的是保证被测试的软件在尽可能多的硬件平台上运行。1配置缺陷的分离 判断缺陷是开发程序的问题还是硬件的问题的方法如下:软件可能包含

23、在多种配置中都会出现的缺陷。软件可能包含只在某一个特殊配置中出现的缺陷。硬件设备或者其设备驱动程序可能包含仅由软件揭示的缺陷。硬件设备或其设备驱动程序可能包含一个借助许多其他软件才能看到的缺陷尽管它可能对测试的软件特别明显。2配置测试的过程 确定所需的硬件类型。确定哪些硬件、型号和驱动程序可用。确定可能的硬件特性、模式和选项。将确定后的硬件配置缩减为可控制的范围。明确使用硬件配置的软件唯一特性。设计在每一种配置中执行的测试用例。在每种配置中执行测试。反复测试直到小组对结果满意为止。8.3.9 故障恢复测试 故障恢复能从导致意外数据损伤或数据完整性破坏的各种硬件、软件、网络故障中恢复数据。故障恢

24、复测试是一种对抗性的测试过程。在这种测试中,将把应用程序或系统置于极端条件下(或者是模拟的极端条件下),以产生故障,然后调用恢复进程并监测和检验应用程序和系统,核实应用程序或系统和数据已得到了正确的恢复。故障恢复测试中考虑的典型问题如下:是否存在潜在的和已确认的故障,导致的后果是怎样。故障恢复过程是否为错误提供了足够的反应。恢复过程是否能够正确工作。8.3.10 安装测试 安装测试(Installing Testing)是确保软件在正常情况和异常情况下都能进行安装,并核实软件在安装后可立即正常运行的测试。异常情况包括磁盘空间不足、缺少目录创建权限等场景。安装测试包括测试安装代码以及安装手册。安

25、装手册提供如何进行安装,安装代码提供安装一些程序能够运行的基础数据。1自动化测试 安装测试应尽量自动化进行。对安装程序使用自动化测试的流程图:2安装测试的策略 检测安装过程是否是必要的。检测安装过程。卸载。升级安装。安装后的第一次运行。利用工具辅助测试。8.3.11 其他测试 其他重要的系统测试还有容错测试(Recover Testing)、文档测试(Documentation Testing)和兼容性测试(Compatibility Testing)等。这些测试类型需要根据软件项目的具体要求进行裁剪。8.4 系统测试的过程 系统测试实际上是顺序实现45个步骤的序列。最初,测试集中在每个单独的

26、模块中,保证它作为一个单元测试;其次,必须将模块加以集中或装配,形成一个功能,系统有n个功能,功能和功能组装形成一个完整的功能;集成测试有检验和组装两重含义,用于检验集成的所有元素配合是否合理以及整个系统的性能和功能是否达到;有效性测试用于保证软件符合所有功能上和性能上的要求;最后进行系统测试。小系统测试的序列 大系统测试的序列8.5 系统测试的案例 在这一节里,我们详细讲解一个具体的项目案例,使大家对如何撰写测试计划有一个基本的了解。8.6 本章小结 如果系统只满足了功能要求,没有满足一些非功能特性的要求,那么最终系统还是不能满足客户的要求。因此,系统测试除了验证系统功能之外,更重要的是验证系统是否符合非功能性的质量要求,包括性能、负载、容量、安全性等,而这些特性之间有一定的关系,所以在进行系统测试之前,要规划好系统测试执行的先后次序及结果的共享。值得注意的是:在这些测试工作中,仍然需要运用前面第3、4、5章中所讲到的测试方法,比如等价类测试、边界值测试、逻辑覆盖测试等。无论是在单元测试、集成测试,还是在系统测试阶段,自动化都是永远需要考虑的工作。使用自动化测试工具实施测试工作,能极大地提高测试效率。本章结束谢谢!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(软件测试第8章课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|