第五章系统测试

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
主要是根据产品的需求规格说明书和测试需求列 表,验证产品是否符合产品的需求规格。
需求规格说明是功能测试的基本输入。因此先对 需求规格进行分析,明确功能测试的重点。可按照如 下步骤进行:
① 为所有的功能需求(其中包括隐含的功能需求)加 以标识;
② 为所有可能出现的功能异常进行分类分析并加ቤተ መጻሕፍቲ ባይዱ标 识;
③ 对前面表示的功能需求确定优先级。
第五章系统测试
[本章要点]
系统测试的定义; 系统测试的组织与分工; 系统测试的类型; 系统测试的测试用例设计方法; 系统测试的案例分析。
[本章目标]
▪ 进一步理解系统测试和集成测试的区别; ▪ 掌握系统测试的概念; ▪ 熟悉主要的系统测试类型及其特点; ▪ 了解系统测试的过程; ▪ 重点理解如何把黑盒测试技术运用到系统测试中。
14.检查多次使用back键的情况
15. search检查 16.输入信息位置 17.上传下载文件检查 18.必填项检查 19.快捷键检查 20.回车键检查 二、协议一致性测试(Protocol Conformance Testing)
分布式系统中,很多计算功能的完成需要由分布式 系统内的多台计算机相互进行通信、交换信息、协调合 作来完成的,必须遵循一定的规则(协议)。 所以要 进行协议测试。
从网络管理软件获取网络拓扑结构、从现有的流量 监控软件获取流量信息,这样可以得到现有网络的基本 结构,并进行流量分析和冲突检测。
3、应用在服务器上性能的测试
采用工具监控资源使用情况。
实施测试的目的是实现服务器设备、服务器操作系 统、数据库系统、应用在服务器上性能的全面监控,测 试原理如图5-2。
文件 服务器
并发性能测试的过程是一个负载测试和压力测试的 过程,即逐渐增加负载,直到系统的瓶颈或者不能接收 的性能点,通过综合分析交易执行指标和资源监控指标 来确定系统并发性能的过程。
并发性能测试的目的主要体现在三个方面:以真实 的业务为依据,选择有代表性的、关键的业务操作设计 测试案例,以评价系统的当前性能;
系统测试的组织和分工
测试组组长:组织测试; 测试分析员:负责设计和实现测试脚本和测试用例; 测试者:负责执行测试脚本中记录的测试用例。
同时可以邀请客户代表参与系统测试,可以与客户 建立一个良好的平台,并且得到反馈信息。
过程:搭建好系统测试的软、硬件平台制定软 件测试计划(与开发人员多多沟通)系统测试提交系 统测试的大量输出的拷贝文档(包括测试结果记录表格、 系统测试日志和全面的系统测试总结报告)。
四、压力测试
压力测试又称强度测试,是在各种资源超负荷情 况下观察系统的运行情况。在压力测试过程中,测试 人员主要关注的是非正常资源占用的情况下系统的处 理时间。
注意:区分压力测试和容量测试
五、容量测试
容量测试是面向数据的,在系统正常运行的范围内 测试并确定系统能够处理的数据容量。也就是观察系 统承受超额的数据容量的能力。
这种问题在软件测试阶段就应该得到解决。
①并发性能测试前的准备工作 测试环境; 测试工具:并发性能测试工具有QALoad、 LoadRunner、Benchmark Factory 和Webstress等; 测试数据;
②并发性能测试的种类与指标 并发性能测试的种类取决于并发性能测试工具监控
的对象,以QALoad自动化负载测试工具为例。 软件针对各种测试目标提供了DB2、DCOM、
三、实施阶段:使用当前的软件版本进行测试脚本的录制 工作,确定软件的基线。
四、执行阶段:根据系统测试计划和事先设计好的系统测 试用例,以及一定测试规程进行测试脚本的回放。
五、评估阶段:进行评估,以确定系统测试是否通过。
系统测试分析
测试人员在做系统测试分析时,不妨分别从用户 层、应用层、功能层、子系统层、协议层等几个层次 入手:
1)用户层 用户层的测试核心应该围绕用户界面的规范性、
友好性、可操作性,系统对用户支持的情况,以及数 据的安全性等方面展开;
还应该注意可维护性测试和安全性测试。
2)应用层 主要是针对产品工程应用或行业应用的测试。 从系统应用的角度:对系统的兼容性、可靠性、 性能等进行的测试。 对整个系统的应用层测试:包含并发性能测试、负 载测试、压力测试、强度测试、破坏性测试。
ODBC、ORACLE、NETLoad、Corba、QARun、SAP、 SQLServer、Sybase、Telnet、 TUXEDO、UNIFACE、 WinSock、WWW、 Java Script等不同的
监控对象,支持Windows和UNIX测试环境。 主要的测试指标包括交易处理性能指标和UNIX资源
当扩展应用程序的功能或者新的应用程序将要被部署时, 负载测试会帮助确定系统是否还能够处理期望的用户负 载,以预测系统的未来性能;通过模拟成百上千个用户, 重复执行和运行测试,可以确认性能瓶颈并优化和调整 应用,目的在于寻找到瓶颈问题。
例如:在每月20日左右是电话交费的高峰期,几千 个收费网点同时启动。收费过程一般分为两步,首先要 根据用户提出的电话号码来查询出其当月产生费用,然 后收取现金并将此用户修改为已交费状态。一个用户看 起来简单的两个步骤,但当成百上千的终端,同时执行 这样的操作时,情况就大不一样了,如此众多的交易同 时发生,对应用程序本身、操作系统、中心数据库服务 器、中间件服务器、网络设备的承受力都是一个严峻的 考验。
如何进行系统测试
系统测试过程要经历以下几个阶段: 制定系统测试计划、设计系统测试、实施系统测 试、执行系统测试和评估系统测试。(如图5-1所示)
制定系统测试计划 设计系统测试 实施系统测试 执行系统测试 评估系统测试
图5-1系统测试过程
与之对应的是如下的几个阶段:
一、计划阶段:制定测试计划
二、设计阶段:对系统进行详细的测试分析,然后设计一 些典型的,满足测试需求的测试用例;同时给出系统测 试的大致过程。
通常包括如下几种类型的协议测试:
1、协议一致性测试:检查所实现的系统是否与标准协 议符合; 2、协议性能测试:检查协议实体的各种性能指标(如: 数据传输率、连接时间、执行速度); 3、协议互操作性测试:验证相同协议在不同实现的环 境中的相容性; 4、协议健壮性测试:用来考验系统在外界因素下抗干 扰的能力,例如通信中止、人为破坏等等。
现阶段,应该构件效率高、灵活性好、可复用性 强的可“复用”的测试环境。
测试前要保证测试软件的可靠性;保证系统软件、 数据库、应用软件的可靠性和安全性;并且尽量减少 镜像文件的大小。
系统测试类型
介绍17类系统测试类型 。
一、功能测试(Functional Test)
功能测试属于黑盒测试技术范畴,是系统测试中 要进行的最基本的测试,它不用考虑软件内部的具体 实现过程。
输出包错误率: 发送以太网数据包时每秒错误数 包输入率: 每秒输出的以太网数据包数目 读入内存页速率: 物理内存中每秒读入内存页的数目 写出内存页速率: 每秒从物理内存中写到页文件中的内
存页数目或者从物理内存中删掉的内存页数目 内存页交换速率: 每秒写入内存页和从物理内存中读出
页的个数 进程入交换率: 交换区输入的进程数目 进程出交换率: 交换区输出的进程数目 系统CPU利用率: 系统的CPU占用率(%) 用户CPU利用率: 用户模式下的CPU占用率(%) 磁盘阻塞: 磁盘每秒阻塞的字节数
3)功能层 测试是否已经实现需求规格说明中定义的功能,
以及系统功能间是否存在类似共享资源访问冲突。
4)子系统层 针对产品内部结构性能的测试。关注子系统
内部的性能,子系统间接口的瓶颈。 5)协议/指标层
针对系统所支持的协议,进行协议一致性测试 和协议互通测试。
系统测试环境
软件测试环境构建的是否合理、稳定和具有代表 性,将直接影响到软件测试结果的真实性、可靠性和 正确性,
监控。 ③疲劳强度与大数据量测试
疲劳测试是采用系统稳定运行情况下能够支持的最 大并发用户数,持续执行一段时间业务,通过综合分析 交易执行指标和资源监控指标来确定系统处理最大工作 量强度性能的过程。
大数据量测试可以分为两种类型:针对某些系统存 储、传输、统计、查询等业务进行大数据量的独立数据 量测试;与压力性能测试、负载性能测试、疲劳性能测 试相结合的综合数据量测试方案。大数据量测试的关键 是测试数据的准备,可以依靠工具准备测试数据。
2、应用在网络上性能的测试 该测试重点是利用成熟先进的自动化技术进行网络
应用性能监控、网络应用性能分析和网络预测。下面我 们分别从三个方面来阐述。 ①网络应用性能分析
目的就是准确展示网络带宽、延迟、负载和TCP端 口的变化是如何影响用户的响应时间的。 ②网络应用性能监控
主要用来分析关键应用程序的性能,定位问题的根 源是在客户端、服务器、应用程序还是网络。 ③网络预测
在进行恢复性测试时,同样首先要进行恢复性测 试分析,经常要考虑的主要问题有如下几个:
系统测试概述
系统测试的根本任务就是要证明被测系统的功能 和结构的稳定性;还要有一些非功能测试:性能测试、 压力测试、可靠性测试等等。
最终目的是为了确保软件产品能够被用户或操作 者接受。测试的主要目标不再是找出缺陷,而是证明 其性能。
系统测试属于黑盒测试范畴,不再对软件的源代 码进行分析和测试。
什么是系统测试
④ 对每个功能进行测试分析,分析其是否可测、采用 何种测试方法、测试的入口条件、可能的输入、预期 输出等等。
⑤ 是否需要开发脚本或借助工具录制脚本。
⑥ 确定要对哪些测试使用自动化测试,对哪些测试使 用手工测试。
功能测试用例是功能测试工作的核心,常见的设计方 法有如下几种:
<1>规范导出法
<2>等价类划分法
数据库 服务器
应用 服务器
其他 服务器
系统资源信息
控制信息
测试 主控台
图5-2 应用服务器上的性能测试原理图
对于安装UNIX操作系统的服务器来说,有如下资源 监控指标: 平均负载: 系统正常状态下,最后60秒同步进程的平 均个数 冲突率: 在以太网上监测到的每秒冲突数 进程/线程交换率: 进程和线程之间每秒交换次数 CPU利用率: CPU占用率(%) 磁盘交换率: 磁盘交换速率 接收包错误率: 接收以太网数据包时每秒错误数 包输入率: 每秒输入的以太网数据包数目 中断速率: CPU每秒处理的中断数
三、性能测试(Performance Test)
性能测试在软件的质量保证中起着重要的作用。可 从三个方面进行性能测试:应用在客户端性能的测试、 应用在网络上性能的测试和应用在服务器端性能的测试。 1、应用在客户端性能的测试
目的是考察客户端应用的性能,测试的入口是客户 端。 它主要包括并发性能测试、疲劳强度测试、大数 据量测试和速度测试等,其中并发性能测试是重点。
六、安全性测试
要验证系统内的保护机制能否抵御入侵者的攻击。
所谓的系统安全性就是让系统非法入侵者花费更多的 时间、付出更大的代价来交换其所获得的系统信息, 即让非法者获得的一切信息内容贬值。
评价标准:有效性;生存性;精确性;出错反应 时间;吞吐量
七、恢复性测试
恢复性测试的目标就是验证系统从软件或者硬 件失败中恢复的能力。在测试过程中会采取各种人 工干预方式使软件出错,而不能正常工作,进而检 验系统的恢复能力。
<3>边界值分析法
<4>因果图
<5>判定表
<6>正交实验设计
<7>基于风险的测试
<8>错误猜测法
经常进行的功能测试项目如下:
1.页面链接检查
2.相关性检查
3.检查按钮的功能是否正确
4.字符串长度检查
5.字符类型检查 6.标点符号检查 7.中文字符处理 8.检查带出信息的完整性 9.信息重复 10.检查删除功能 11.检查添加和修改是否一致 12.检查修改重名 13.重复提交表单
系统测试就是将已经集成好的软件系统,作为整 个计算机系统的一个元素,与计算机硬件、外设、某 些支持软件、数据和人员等其它系统元素结合在一起, 在实际运行(使用)环境下,对计算机系统进行一系 列的组装测试和确认测试。
系统测试的目的在于通过与系统的需求定义比较, 检查软件是否存在与系统定义不符合或与之矛盾的地 方,以验证软件系统的功能和性能等满足其规约所指 定的要求。
相关文档
最新文档