收藏 分享(赏)

第5章测试技术与应用.ppt

上传人:jw66tk88 文档编号:10200941 上传时间:2019-10-18 格式:PPT 页数:49 大小:207KB
下载 相关 举报
第5章测试技术与应用.ppt_第1页
第1页 / 共49页
第5章测试技术与应用.ppt_第2页
第2页 / 共49页
第5章测试技术与应用.ppt_第3页
第3页 / 共49页
第5章测试技术与应用.ppt_第4页
第4页 / 共49页
第5章测试技术与应用.ppt_第5页
第5页 / 共49页
点击查看更多>>
资源描述

1、1,软 件 测 试 技 术,2,第五章 测试技术与应用,5.1 系统测试技术 5.2 测试技巧 5.3 Web系统测试要点,3,5.1 系统测试技术,系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不相符合或与之矛盾的地方。 系统测试的对象不仅仅包括需要测试的产品系统的软件,还要包含软件所依赖的硬件、外设等。 系统测试最重要的是功能测试和性能测试。 除了功能测试和性能测试,在系统测试过程中,还有可能进行一些其它的测试工作,例如:兼容性测试、可用性测试、安全测试、安装测试。,4,5.1.1 功能测试,功能测试的目的是保证软件的功能符合软件需求,是各种测

2、试的基础和起点。 功能测试的依据是需求文档。 功能测试的基本方法是构造一些合理输入,检查输出是否与期望的相同。 功能测试一般以黑盒测试的方式进行,通常采用等价类划分和边界值分析方法。,5,在进行功能测试时,需要把输入分为典型值、边界值和异常值来处理。 在进行功能测试时,测试人员往往需要了解该软件的行业背景。,6,5.1.2 错误处理测试,健壮性是软件质量的一个重要因素。错误处理测试是检查软件在面对错误时,是否进行了正确的处理。 错误测试的目的是要发现软件是否做了用户不期望的事情、发现软件在发生异常的时候是否有能力进行处理。 测试人员需要以否定的态度来思考问题。 在错误处理测试中发现的部分问题可

3、能不会被修复。,7,典型的异常情况: 用户输入非法数据 在系统不支持的平台上运行 网络连接异常 数据文件(或者数据库)被破坏,数据文件(数据库)中有混乱的数据 计算机断电后启动 在用户界面上的违反操作步骤的操作,8,非法的数据主要包括: 不输入数据 输入无效数字数据,如负数和字母数字串 输入任何被认为是非法的数据类型格式 尝试不常用的数据组合 确保使用零值 输入超过或者短于要求长度的数据,9,破坏环境的测试包括: 异常中断应用程序 断开电缆连接 软件运行过程中,关闭计算机电源,10,5.1.3 内存泄露测试,内存泄漏是一种典型的程序缺陷,导致应用程序不断消耗系统内存(或虚拟存储器),使程序运行

4、出现响应变慢、某些功能无法实现,甚至整个系统瘫痪等问题。 在某些语言(如C/C+语言)编写的程序中,内存泄露是一个极其普遍的问题。 内存泄露测试可采用静态测试和动态测试技术。 Compuware公司的BoundChecker,Rational的Purify就是一种典型的内存泄露检查工具。,11,5.1.4 用户界面测试,图形用户界面测试和评估的重点是正确性、易用性和视觉效果。 界面中的文字检查和拼写检查也是用户界面测试的重要环节。 用户界面测试的过程中,有时要依赖于测试人员的主观判断。,12,用户界面测试的基本原则: 易用性原则 规范性原则 合理性原则 美观与协调性原则 菜单位置原则 独特性原

5、则 快捷方式的组合原则 排错性考虑原则 多窗口的应用与系统资源原则,13,用户界面测试用例,14,15,16,5.1.5 性能测试,性能测试包含并发性能测试、强度测试、破坏性测试等。 并发性能测试是评估系统交易或业务在渐增式并发情况下处理瓶颈以及能够接收业务的性能过程。 强度测试是在资源情况低的情况下,找出因资源不足或资源争用而导致的错误。 破坏性测试重点关注超出系统正常负荷若干倍的情况下,错误出现状态和出现比率以及错误的恢复能力。,17,性能测试可以通过黑盒测试或者白盒测试方法来进行。,何时需要性能测试?,18,软件中某个模块涉及到复杂的计算,特别是一些基于人工智能的分析 涉及到大量数据的读

6、写、通讯 涉及到数据检索,而被检索的数据,具有很大的数据量 具有多个并发用户 软件在运行时,可用资源(特别是CPU和内存)可能在某些情况下很紧张。例如一些嵌入式系统软件,19,如何进行性能测试?,20,性能测试步骤: 确定明确的测试目标 测试需求分析:主要目的是挖掘出可能造成系统瓶颈的因素 测试用例设计 脚本开发数据的准备以及测试执行与监控 测试分析,21,项目背景: 公司的客户信息系统,主要完成录入、 修改以及查询全球客户的信息,并将客户信息转入到业务系统。,性能测试分析,22,性能测试分析,确定测试目标 在相同系统环境配置下30个并发用户在15秒钟内完成各类在线操作。 测试需求分析 应用配

7、置需求: 例如应用整体框架、涉及到哪些第三方的组件、应用层与数据库层的接口、使用了什么数据库等。 系统配置需求: 例如用户客户端配置、客户端与服务器端的网络配置、应用服务器或数据库服务器操作系统等。 用户使用情况需求: 例如用户分布情况; 哪些模块用户使用比较频繁; 在用户操作的数据有哪些特点等。,23,测试需求如下: Web Server Iplanet6.5 第三方组件 ORM Tool :hiberate 数据库 Sybase12.5 用户分布 亚洲、欧洲、北美 模块使用情况:录入新客户信息、修改客户信息以及很多客户查询 数据量情况:70%的客户资料比较少,有30%的客户是1012点(都

8、按照北京时间计算),这些较复杂。 用户操作情况:上午910点、下午45点以及晚上1012点(都按照北京时间计算)这些时刻比较频繁 网络配置 通过专网(带宽在130M,24,3测试用例设计:主要是根据测试需求分析的结果制定出在测试执行时系统的执行方法。应考虑以下问题: 虚拟用户的操作步骤要尽量类似于真实用户的操作。 操作的数据要类同于真实用户实际使用数据,例如在用户录入客户信息时,根据需求得到的结果,可以设计有34个虚拟用户在录入一些小客户的信息,12个虚拟用户在录入大客户的信息等。 在设计时要充分考虑到需求中用户对模块的使用频率。使得在模拟时每个模块使用情况尽量地类似于真实环境。,25,4脚本

9、开发数据的准备以及测试执行与监控 数据准备一定要关注数据的质量和数量,不要出现一些不符合业务逻辑的废数据,并且数据量要满足测试运行的需要。例如测试需要100组数据,但是实际只准备了50组,从而导致测试执行结果出现大的偏差。 在此过程中如果有测试工具能够满足测试要求,那么应尽量使用测试工具,5测试分析 测试分析的主要目的是要根据测试执行获取到的数据去判断造成系统出现瓶颈的位置,挖掘造成系统瓶颈的真正原因。 尽量使用一些比较成熟的工具协助分析工作,这样将大大减轻工作负担。 在确定出真正的性能瓶颈时,可以做一些小的测试模型去做验证,确定分析的正确性。,26,5.1.6 安全测试,系统环境安全包括了物

10、理设备安全和软件安全。 安全测试的目的是为了发现软件中存在的安全漏洞。 安全测试重点:分析系统的安全隐患,为非法入侵设立目标,例如盗窃某个文件、修改用户权限、更改数据库记录等。,27,安全需要测试人员有足够的能力去分析系统的安全隐患,安全性测试用例的参考模板,28,5.1.7 压力测试,压力测试也叫负荷测试,即获取系统能正常运行的极限状态。 压力测试用于检查软件在面对大数据量时是否可以正常运行。 大数据量,往往是发生概率比较小的情况。 压力测试所涉及的方面主要包括:数据库大小、磁盘空间、可用内存空间、数据通信量。,29,压力测试用例的参考模板,30,5.1.8 安装与卸载测试,安装测试应该考虑

11、以下方面: 测试各种不同的安装组合,并验证各种不同组合的正确性 安装退出之后,确认应用程序可以正确启动、运行。 在安装之前备份注册表,安装之后,察看注册表中是否有多余的垃圾信息。 至少要在一台笔记本上进行安装测试 安装完成之后,可以在简单地使用之后再执行卸载操作 对于客户服务器模式的应用系统,可以先安装客户端,然后安装服务器端,测试是否会出现问题。 考察安装该系统是否对其他的应用程序造成影响,31,5.1.9 升级测试,升级测试包括两个方面:软件本身的升级;软件运行环境升级。 软件的升级测试需要对软件重新进行功能、性能等方面的测试工作。,32,5.1.10 兼容性测试,兼容性测试是为了检验程序

12、与很多可能的硬件和系统软件配置之间的兼容情况。 在进行兼容性测试时,需要得到一份软件的兼容性列表,主要考虑:,操作系统兼容性 浏览器兼容性 其它的软件兼容 硬件兼容 带宽限制/网络环境兼容性,33,5.1.11 冒烟测试,冒烟测试(Smoke Testing)的目的是检查版本的基本功能。 冒烟测试所进行的是一系列对于该软件比较核心的测试,一般从测试用例中选择一部分核心的作为冒烟测试时所使用的测试用例。,34,5.1.12 文档测试,文档测试主要对产品手册、用户手册、帮助文件等技术文档进行测试。 文档测试中常见错误:,文字错误、语法错误、拼写错误 所描述的操作步骤有遗漏 所描述的功能或者操作步骤

13、错误,35,5.2 测试技巧,植入缺陷,就是在测试前向程序中植入一些缺陷 植入缺陷的目的是为了估计软件中还有多少剩余的缺陷。 假设植入缺陷的数目是Ns,通过测试,发现了n1个植入的缺陷,发现了n2个软件固有的缺陷,那么,软件中固有缺陷的估算值(N0)为:N0 = n2 * Ns / n1软件中残余缺陷的估算值则为 :N0 n2,5.2.1 植入缺陷,36,回归测试是指对某些已经被测试过的内容进行重新测试。,5.2.2 回归测试,软件增加后影响软件的结构。 软件修改考虑不周,引入问题。,为何需要回归测试?,37,每改动一次都需要回归测试?,测试人员可以按照实际情况选择回归策略: 每两周需要进行一

14、次完整的回归测试 当修复的缺陷数量累计到50个时,进行一次完整的回归测试 在产品递交用户前5个工作日,进行完成的回归测试,回归测试通常可以使用自动化测试工具。,38,5.3 Web系统测试要点,Web应用系统的测试重点:性能、兼容性、安全性、正确性。 Web应用系统可以分为服务器端测试和客户端测试两个部分。 服务端重点需要进行的测试内容:性能测试、负载测试和安全测试。 客户端重点需要进行的是兼容性测试。 Web应用系统在进行负载测试时,通常主要关注:并发用户数量 、吞吐量,39,Web系统测试实例,项目背景:某官方网站进行的系统级的测试。 项目需求: 主要功能包括相关信息的收集、发布以及与广大

15、互联网用户之间的信息交互。系统共由内容管理、WebGuard网页防篡改、客户关系、全文检索、方案征集、嘉宾聊天、XX人才、通用留言板、索票、网上投票、文字直播、内容过滤、咨询等13个子系统组成。 其中内容管理、WebGuard网页防篡改、全文检索、内容过滤这四个子系统,面向后台管理用户,均采用C/S架构。其余子系统采用B/S架构。 各子系统分别部署在windows和Linux操作平台上。,40,项目环境要求:(C/S),41,42,测试要点分析: 从功能测试的角度来说,不但需要检查和验证系统是否按照设计的要求实现了各项功能,而且还要测试系统在不同类型的浏览器端的显示是否合适。 Web系统对于用

16、户界面(也就是页面)的要求也远远超过了传统的C/S架构的软件,更加关注页面的视觉效果,因此,Web页面设计是否合理,风格是否统一,是否方便用户浏览也是功能测试需要关注的一个方面。 从性能测试的角度来说, Web系统将所有的功能操作均尽可能的放在后台的服务器端进行处理,这使得服务器端的性能至关重要,这也是系统是否会产生性能瓶颈的一个关键所在。 Web系统受其自身事务处理模式所决定,浏览器端必须通过网络,很多时候是通过公众互联网,与服务器端进行数据的传递与交互。这就使得对数据进行加密保护,防止信息在传输过程中泄露,成为了当务之急;同时面向广大外部用户的Web系统,极易受到来自网络上的攻击,系统一旦

17、出现安全漏洞,就很有可能被外来者利用,因此, Web系统(尤其是电子商务系统)对安全的要求,远比一般系统要高。对Web系统的安全性测试,也将重点围绕这两点展开。,43,测试内容 功能测试 性能测试 安全性测试 兼容性测试,44,功能测试 页面链接测试 表单测试 Cookies测试 内容测试 整体界面测试 功能验证测试,45,性能测试 并发性测试 服务器性能监测,46,并发性测试 并发浏览测试 并发查询测试 并发注册测试 并发登录测试 文字直播并发测试 通用留言板并发测试 咨询系统并发测试 方案征集并发测试,47,运行状态监测:监测相关服务器的以下性能指标 cpu 内存使用情况 磁盘读写 特定应

18、用系统的检测(oracle),网络监测:监测相关服务器的以下性能指标 最大利用率 平均帧速 帧的平均长度 帧总数 字节总数 冲突总数,48,安全性测试 应用层缓冲区溢出(压力测试); cookie安全使用状况评估; 跨站脚本攻击风险评估 ; 页面隐藏参数域篡改风险评估; 系统隐蔽指令执行风险评估; 第三方误配置安全隐患 ; 各类型已知安全漏洞 ; URL参数篡改攻击风险评估; 后门程序和调试选项遗留隐患 ; WEB内容强迫浏览问题。,49,兼容性测试 平台兼容性测试:Windwos 98、Windwos 2000、Windwos XP、Windwos 2003和Linux。 浏览器兼容性测试:浏览器是Web客户端最核心的构件,测试来自不同厂商的浏览器对Java、JavaScript、ActiveX、plug-ins或不同的HTML规格的支持。,

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报