全面的系统测试理论方法介绍

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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