系统测试简介

系统测试

概念

系统测试,英文是System Testing。是将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种组装测试和确认测试,系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不符或与之矛盾的地方,从而提出更加完善的方案。系统测试发现问题之后要经过调试找出错误原因和位置,然后进行改正。系统测试是基于系统整体需求说明书的黑盒类测试,应覆盖系统所有联合的部件。对象不仅仅包括需测试的软件,还要包含软件所依赖的硬件、外设甚至包括某些数据、某些支持软件及其接口等。系统测试的测试用例应依据需求分析说明书来设计。

系统测试类型

功能测试、GUI测试、性能测试、压力测试、负载测试、容量测试、健壮性测试、安全性测试、可靠性测试、恢复测试与备份测试、协议一致性测试、兼容性测试、安装性测试、可用性测试、配置性测试、文档性测试、验收测试、回归测试

1.功能测试

  1. 功能测试是系统测试中最基本的测试,他不管软件内部的实现逻辑,主要根据产品的需求规格说明书测试需求列表,验证产品的功能实现是否符合产品的需求规格。

  2. 发现错误
      a.是否有不正确或遗漏的功能;
      b.功能实现是否满足用户需求和系统设计的隐藏需求;
      c.能否正确地接受输入、能否正确地输出结果。

  3. 分析方法
      a.对每个明确的功能需求进行标号
      b.对每个可能隐藏的功能需求进行标号
      c.对于可能出现的功能异常进行分类分析,并标号
      d.对以上3个步骤获得的功能需求进行分级(关键、非关键)
      e.对每个功能进行分析(是否可测、如何测试、可能的输入、可能的输出)
      f.脚本化、自动化

  4. 用例设计方法
      a.等价类划分
      b.边界值分析
      c.因果图
      d.决策表
      e.错误猜测法

2.GUI测试

  1. GUI测试是功能测试的一种表现形式。不仅要考虑GUI本身的测试,也要考虑GUI所表现的系统功能的测试
  2. GUI应具有的要素:符合标准和规范 、直观性 、一致性 、灵活性 、舒适性 、正确性 、实用性。

3.性能测试

  1. 性能(Performance)测试主要检验软件是否达到需求规格说明书中规定的各类性能指标,并满足一些性能相关的约束和限制条件。
  2. 性能测试内容
      a.评估系统的能力:测试中得到的负荷响应时间等数据可以被用于验证所计划的模型的能力,并帮助做出决策。
      b.识别系统中的弱点:受控的负荷可以被增加到一个极端的水平并突破它,从而修复系统的瓶颈或薄弱的地方。
      c.系统调优:重复运行测试,验证调整系统的活动得到了预期的结果,从而改进性能,检测软件中的问题。

4.压力测试

压力测试(负载测试、并发测试)( Stress Testing)是指模拟巨大的工作负荷,以查看系统在峰值使用情况下是否可以正常运行。压力测试是通过逐步增加系统负载来测试系统性能的变化,并最终确定在什么负载条件下系统性能处于失效状态,以此来获得系统性能提供的最大服务级别的测试。

压力测试的例子:
(1) 对于一个固定输入速率的单词处理响应时间,例如每分钟120个单词。
(2) 在一个非常短的时间内引入超负荷的数据容量。
(3) 改变交互、实时、过程控制方面的负荷。
(4) 同时引入大量的操作。
(5) 成千上万的用户在同一时间登录。
(6) 手机短信列表查看,短信越多时打开列表所花的时间越长。考虑在手机短信已满的情况下打开短信列表,看在这种极限情况下花费的时间是多少。
(7) 电子商务网站的服务器的cpu占用率达到100%时,再访问该电子商务网站,看网页响应时间是多少。
(8) 新建word空白文档到不能新建为止,然后在任意一个空白文档中进行输入,然后保存,看保存所花费的时间。

5.负载测试

定义:
负载测试是通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标的情况下,系统所能承受的最大负载量的测试。
目的:
不把系统搞挂的测试,使系统能够在最大的压力下可以正常运行。从而获取系统指标。
方法:
不断增加请求压力,直到服务器某个资源项达到饱和(比如CPU使用率达到90%+)或某个指标达到安全临界值(比如运维的监控告警阈值or拐点)。系统负载压力包含并发用户数、持续运行时间、数据量等。其中并发用户数是负载压力的重要指标。

6.容量测试

所谓的容量测试( Capacity Testing):采用特定的手段测试系统能够承载处理任务的极限值所从事的测试工作。这里的特定手段是指,测试人员根据实际运行中可能出现极限,制造相对应的任务组合,来激发系统出现极限的情况。

7.健壮性测试

健壮性测试(Robustness Testing)主要用于测试系统抵御错误的能力。这里的错误通常指的是由于设计缺陷而带来的系统错误。测试的重点为当出现故障时,是否能够自动恢复或忽略故障继续运行。

8.安全性测试

安全性测试是检查系统对非法侵入的防范能力,其目的是为了发现软件系统中是否存在安全漏洞。软件安全性是指在非正常条件下不发生安全事故的能力。 安全性一般分为两个层次,即应用程序级的安全性和系统级别的安全性。

9.可靠性测试

在有使用代表性的环境中,为进行软件可靠性估计对该软件进行的功能测试。软件可靠性在规定条件下,在规定时间内,软件不引起系统失效的概率。该概率是系统输入和系统使用的函数,也是软件中存在故障的函数,系统输入将确定是否会遇到存在的故障。

10.恢复测试与备份测试

恢复性测试主要检查系统的容错能力。当系统出错时,能否在指定时间间隔内修正错误并重新启动系统。 备份测试是恢复性测试的一个补充,也是恢复性测试的一个部分。备份测试的目的是验证系统在软件或者硬件失败时备份数据的能力。、

11.协议一致性测试

主要测试协议实现是否严格遵循相应的协议描述;互操作性测试关注的是对于同一个协议标准,不同协议实现之间的互连通问题。

12.兼容性测试

兼容性测试是指检查软件之间是否能够正确地进行交互和共享信息。对新软件进行软件兼容性测试,需要解决:

  1. 软件设计要求与何种其它平台和应用软件保持兼容?
  2. 如果要测试的软件是一个平台,那么设计要求什么应用程序在其上运行?
  3. 应该遵守何种定义软件之间交互当地标准或者规范?
  4. 软件使用何种数据与其它平台和软件交互和共享信息?

13.安装性测试

软件如要实现其功能(除嵌入式软件外),第一步是安装操作。理想情况下,一个软件的安装程序应当可以较好的与已有系统相兼容,并有相应的提示界面供用户参考,安装完毕并实现其功能。若事先没有正确的安装测试,导致软件安装错误或失败,则软件根本就谈不上正确的执行,因此安装测试就显得相当重要。安装性测试的目的就是要验证系统成功安装的能力,并保证程序安装后能正常运行。因此清晰且简单的安装过程是系统文档中最重要的部分。

14.可用性测试

可用性测试 (Usability Testing) 是对于用户友好性的测试,是指在设计过程中被用来改善易用性的一系列方法。

系统测试工具

  1. 测试管理工具:TD/QC等
  2. 缺陷管理工具:bugzilla、mantis、bugfree等
  3. 配置管理工具:vss、cvs、svn、clear case、git等
  4. 功能测试工具:qtp、robot等
  5. 性能测试工具:loadrunner、robot等
  • 10
    点赞
  • 126
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值