系统测试概念系统测试,英语为系统测试。 结合已确认的软件、计算机硬件、外围设备、网络等其他因素,对信息系统进行各种装配测试和确认测试。 系统测试是对整个产品系统进行的测试,目的验证系统是否满足要求规格的定义,找出与要求规格不符或不一致的地方,提出更完善的方案。 系统测试发现问题后,经过调试确定并纠正错误的原因和位置。系统测试是基于系统整体需求说明书的黑盒类测试,应覆盖系统所有联合的部件。对象不仅仅包括需测试的软件,还要包含软件所依赖的硬件、外设甚至包括某些数据、某些支持软件及其接口等。系统测试的测试用例应依据需求分析说明书来设计。
系统测试类型功能测试、GUI测试、性能测试、压力测试、负载测试、容量测试、健壮性测试、安全性测试、可靠性测试、恢复测试与备份测试、协议一致性测试、兼容性测试、安装性测试、可用性测试、配置性测试、文档性测试、验收测试、回归测试
1 .功能测试功能测试是系统测试中的最基本的测试,他不管软件内部的实现逻辑如何,主要是产品需求规格说明书和http://www.Sina.com
测试需求列表
a .是否有不正确或忽略的功能;
b .功能实现是否满足用户需求和系统设计的隐性需求;
c .输入是否被正确接受,是否能正确输出结果?
发现错误
a .为每个明确的功能要求加标签
b .为每个可能隐藏的功能要求加标签
c .对可能发生的功能异常进行分类分析并打上标签
d .对上述三个步骤中获得的功能需求进行排名(重要、非重要) ) ) ) ) ) ) ) ) ) )。
e .分析各项功能(是否可测、如何测试、是否可输入、是否可输出) ) ) ) ) ) ) ) )。
f .脚本化、自动化
分析方法
a .等价类划分
b .边界值分析
c .因果关系图
d .决策表
e .错误的猜测法
2 .除了GUI测试用例设计方法GUI本身的测试外,还必须考虑GUI所表达的系统功能的测试GUI应具有的因素。 符合标准和规范、直观性、连贯性、灵活性、舒适性、正确性、实用性。 3 .性能测试性能(Performance )测试的主要http://www.Sina.com/http://www.Sina.com /
a. GUI测试是功能测试的一种表现形式:测试中获得的检验软件是否达到需求规格说明书中规定的各类性能指标,并满足一些性能相关的约束和限制条件。和性能测试内容等数据可用于验证计划模型的能力和辅助决策
b. 评估系统的能力:将受控负载增加到极端水平进行突破,可以修复系统瓶颈和薄弱环节。
c. 负荷:通过反复运行测试,验证调试系统活动取得预期结果,改善性能,检测软件中的问题。 4 .压力测试3358 www.Sina.com/(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.兼容性测试兼容性测试是指检查软件之间是否能够正确地进行交互和共享信息。对新软件进行软件兼容性测试,需要解决:
软件设计要求与何种其它平台和应用软件保持兼容?如果要测试的软件是一个平台,那么设计要求什么应用程序在其上运行?应该遵守何种定义软件之间交互当地标准或者规范?软件使用何种数据与其它平台和软件交互和共享信息? 13.安装性测试软件如要实现其功能(除嵌入式软件外),第一步是安装操作。理想情况下,一个软件的安装程序应当可以较好的与已有系统相兼容,并有相应的提示界面供用户参考,安装完毕并实现其功能。若事先没有正确的安装测试,导致软件安装错误或失败,则软件根本就谈不上正确的执行,因此安装测试就显得相当重要。安装性测试的目的就是要验证系统成功安装的能力,并保证程序安装后能正常运行。因此清晰且简单的安装过程是系统文档中最重要的部分。
14.可用性测试可用性测试 (Usability Testing) 是对于用户友好性的测试,是指在设计过程中被用来改善易用性的一系列方法。
系统测试工具 测试管理工具:TD/QC等缺陷管理工具:bugzilla、mantis、bugfree等配置管理工具:vss、cvs、svn、clear case、git等功能测试工具:qtp、robot等性能测试工具:loadrunner、robot等