系统测试(System Testing)
系统测试,是将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其它系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列的组装测试和确认测试
--- a测试和b测试:
--a测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试
--b测试是由软件的多个用户在实际使用环境下进行的测试。这些用户返回有关错误信息给开发者
测试种类:
软件测试是由一个系列不同的测试组成。主要目的是对以计算机为基础的系统进行充分的测试
功能测试:功能测试是在规定的一段时间内运行软件系统的所有功能,以验证这个软件系统有无严重错误
可靠性测试:如果系统需求说明书中有对可靠性的要求,则需进行可靠性测试
强度测试:强度测试是要检查在系统运行环境不正常乃至发生故障的情况下,系统可以运行到何种程度的测试
性能测试:性能测试是要检查系统是否满足在需求说明书中规定的性能。特别是对于实时系统或嵌入式系统
恢复测试:恢复测试是要证实在克服硬件故障(包括掉电、硬件或网络出错等)后,系统能否正常地继续进行工作,并不对系统造成任何损害
启动/停止测试:这类测试的目的是验证在机器启动以及关机阶段,软件系统正确处理的能力
配置测试:这类测试是检查计算机系统内各个设备或各种资源之间的相互连接和功能分配中的错误
安全性测试:安全性测试是要检查在系统中已经存在的系统安全性、保密性措施是否发挥作用,有无漏洞。
可使用性测试:可使用性测试主要从使用的合理性和方便性等角度对软件系统进行检查,发现人为因素或使用上的问题
可支持性测试:这类测试是要验证系统的支持策略对于公司与用户方面是否切实可行
安装测试:安装测试的目的不是找软件错误;而是找安装错误
过程测试:在一些大型的系统中,部分工作由软件自动完成,其它工作则需由各种人员,包括操作员,数据库管理员,终端用户等,按一定规程同计算机配合,靠人工来完成
互连测试:互连测试是要验证两个或多个不同的系统之间的互连性
兼容性测试:这类测试主要想验证软件产品在不同版本之间的兼容性
容量测试:容量测试是要检验系统的能力最高能达到什么程度。在使系统的全部资源达到“满负荷”的情形下,测试系统的承受能力
文档测试:这种测试是检查用户文档(如用户手册)的清晰性和精确性
调试(Debug)
软件调试是在进行了成功的测试之后才开始的工作。它与软件测试不同,调试的任务是进一步诊断和改正程序中潜在的错误
调试的步骤:
① 从错误的外部表现形式入手,确定程序中出错位置
② 研究有关部分的程序,找出错误的内在原因
③ 修改设计和代码,以排除这个错误
④ 重复进行暴露了这个错误的原始测试或某些有关测试
几种主要的调试方法:
调试的关键在于推断程序内部的错误位置以及原因。可以采用以下方法:
强行排错:这种调试方法目前使用较多,效率较低。它不需要过多的思考,比较省脑筋
回溯法调试:这是在小程序中常用的一种有效的调试方法。一旦出现了错误,人们先分析错误征兆,确定最先发现“症状”的位置
归纳法调试:归纳法调试的基本思路是:从一些线索(错误征兆)着手,通过分析它们之间的关系来找出错误
演绎法调试:演绎法是一种从一般原理或前提出发,经过排除和精化的过程来推导出结论的思考方法。
调试的原则:
在调试方面,许多原则本质上是心理学方面的问题。调试由两部分组成,调试原则也分成两组。
确定错误的性质和位置的原则(用头脑去分析思考与错误征兆有关的信息、避开死胡同)
只把调试工具当做辅助手段来使用。
避免用试探法,最多只能把他当作最后手段
修改错误的原则:
在出现错误的地方,很可能还有别的错误
当心修正一个错误的同时有可能会引入新的错误
测试分析报告:
1、 引言:编写目的、项目背景、定义、参考资料
2、 测试计划执行情况:测试项目、测试结构和人员、测试结果
3、 软件需求测试结论
4、 评价:软件能力、缺陷和限制、建议、测试结论