目录
测试过程按4个步骤进行,即单元测试,组装测试,确认测试和系统测试
单元测试的步骤
测试模块时,同时要考虑它和外界大的联系,用一些辅助模块去模拟与被测试模块相联系的其它模块
- 驱动模块(driver)
- 桩模块(stub
部分常见错误清单
- 、模块接口检查表
- 模块接受的输入参数个数与模块的变元个数是否一致?
- 参数与变元的属性是否匹配?
- 参数与变元所用的单位是否一致?
- 传递给被调用模块的变元的数目是否等于那个模块的参数的数目?
- 传递给被调用模块的变元属性和参数大的属性是否一致?
- 传递给被调用模块的变元的单位和该模块参数的单位是否一致?
- 传递给内部函数变元属性、数目和次序是否正确?
- 是否修改了只是作为输入用的变元?
- 全程变量的定义在各个模块重是否一致?
- 有没有把常数当作变量来传递?
- 、完成外部输入/输出时的检查表
- 文件属性是否正确?
- OPEN语句是否正确?
- 格式说明与输入/输出语句给出的信息是否一致?
- 缓冲区容量与记录长度是否匹配?
- 在进行读写操作之前是否打开了文件?
- 对结束文件条件的判断和处理是否正确?
- 对输入/输出错误的处理是否准确?
- 有没有输出信息中有正文错误?
- 、模块局部数据结构检查表
- 不正确或不一致说明?
- 错误的初始值或错误的缺省值?
- 变量名拼写或缩写错?
- 不相容的数据类型?
- 下溢、上溢或是地址错误?
组装测试(Integrated Testing)
通常,把模块组装称为系统的方式有两种
1.一次性组装方式(big bang)
2.增殖性组装方式
(1)自顶向下的增值方式(按深度方向组装的例子)
(2)自底向上的增值方式
确认测试(Validation Testing)
确认测试又称有效测试。任务是验证软件的功能和性能及其它特性是否与用户的要求一致
1.进行有效性测试(黑盒测试)
有效测试是在模拟的环境(可能就是开发的环境)下,运用黑盒测试的方法,验证被测软件是否满足需求规说明书列出需求。
2.软件配置复查
软件配置复查的目的是保证
软件配置的所有成分都齐全
各方面的质都符合要求;
具有维护阶段所必需的细节
而且已经编排好分类的目录
验收测试(Acceptance Testing)
验收测试是以用户为主的测试。软件开发人员和QA(质量保证)人员也应参加
有用户参加设计测试用例,使用生产中的实际数据进行测试
系统测试(System Testing)
系统测试,是将通过确认测试的软件,作为整个基于算系统大的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其它系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列的组装测试和确认测试
α测试和β测试
α测试是由一个用户在开发环境下进行的测试,也可以是公内部用在模拟实际操作环境下进行的测试
β测试是由软件的多个用户在实际使用环境下进行的测试,这些用户返回有关错误信息给开发者
测试种类
软件测试是由一系列不同的测试组成,主要目的是对以计算机为基础的系统进行充分的测试
功能测试
功能测试是在规定的一段时间内运行软件系统的所有功能,以验证这个软件系统有无严重错误
可靠性测试
如果系统需求说明书中有对可靠性的要求,需进行可靠性测试.
强度测试
强度测试是要检查在系统运行环境不正常乃至发生故障的情况下,系统可以运行到种测度的测试。
性能测试
性能测试是要检查系统是否满足在需求说明书种规定的性能。特别是对于实时系统或嵌入系统
单元测试白盒为主,黑盒为辅
其它测试黑盒为主
恢复测试
恢复测试是要证实在客服硬件故障(包括掉点、硬件或网络出错等)后,系统能否正常地继续进行工作,并不对系统造成任务损害。
启动/停止测试
这类测试的目的是验证在机器启动及关机阶段,软件系统正确处理的能力
配置测试
这类测试是要检查计算机系统内各个设备或各种资源之间的相互联结和功能分配 中的错误
安全性测试
安全性测试是要检验在系统中已经存在的系统安全性、保密性措施是否发挥作用,有无漏洞
可使用测试
可使用测试主要从使用的合理性和方便性等角度对软件系统进行检查,发现人为因素或使用上的问题。
可支持性测试
这类测试是要验证系统的支持的支持策略对于公司与用户方面是否切实可行
安装测试
安装测试目的不是找软件错误,而是找安装的错误
过程测试
在一些大型的系统中,部分工作软件自动完成,其它工作则需由各种人员,包括操作员,数据库管理员,终端用户等,按一定规程计算机配合,靠人工来完成
互联测试
互联测试是要验证两个或多个不同的系统之间的互连性
兼容性测试
这类测试主要想验证软件产品在不同版本之间的兼容性
容量测试
容量测试是要检验系统的能力最高能达到什么程度
在使系统的全部资源达到”满负荷”的情形下,测试系统的承受能力
文档测试
这种测试是检查用户文档(如用户手册)的清晰性和精确性
调试(Debug)
软件调试是在进行了成功的测试之后开始的工作,它与软件测试不同,调试的任务实施进一步诊断和改正程序中潜在的错误
调试的步骤
几种主要的调试方法
调式的关键在于推断程序内部的错误位置及原因。可以采用以下方法
强行排错
这种调试方法目前使用较多,效率较低,它步需要过多的思考,比较省脑筋
回朔法调试
这是在小程序中常用的一种有效的调试方法
一旦发现了错误,人们先分析错误征兆,确定最先发现”症状”的位置
归纳法调试
归纳法调试的基本思想是:从一些线索(错误征兆)着手,通过分析它们之间大的关系来找出错误
常以3W1H形式组织可用的数据:
“What”列出一般现象;
“Where”说明发现现象的地点;
“When” 列出现象发生时所有已知情况;
“How”说明现象的范围和量级
演绎法调试
演绎法是一种从一般原理或前提出发,经过排除和精化的过程来推导出结论的思考方法
调试原则
在调试方面,许多原则本质上是心里学方面的问题,调试由两部分组成,调试原则也分成两组
确定错误的性质和位置的原则、用头脑去分析思考与错误征兆有关的信息、避开死胡同、修改错误的原则、在出现错误的地方,很可能还有别的错误、当心修正一个错误的同时有可能会引入新的错误。
测试分析报告
- 引言
1.编写目的
2.项目背景
3.定义
4.参考资料
2.测试计划执行情况
1.测试项目
2.测试机构和人员
3.测试结构
3.软件需求测试结论
4.评价
1.软件能力
2.缺陷和限制
3.建议
4.测试结论
软件测试
软件测试在程序员对每一个模块的编码之后做程序测试,在做单元测试,然后再进行集成(综合或组装)测试,系统测试,验收(确认)测试,平行测试,人工测试,其中单元测试的一部分已在编码阶段就开始了,测试横跨开发与测试两个阶段,又有不同的人员参加,测试工作本身是复杂的
据统计测试工作量要占软件开发总成本的40%到50%以上
软件测试的概念和原则
测试的概念
(1)软件测试
软件测试是对软件计划、软甲设计、软件编码进行查错和纠错的活动(包括代码执行活动与人工活动)
(2)程序测试
它是对编码的语法错、语义错、运行错进行查找的编码执行活动,找出编码汇总哦错误的代码执行活动称程序测试,纠正编码中的错误的执行活动称程序测试
(3)软件确认与程序确认
软件确认是广义上的软件测试,它是企图证明程序软件在给定的外部环境中的逻辑正确性一系列活动和过程
○1静态分析
○2动态分析
- 各种软件错误的出现比例
- 功能错,占整个软件错误27%,是需要分析设计不完整而引起的
- 系统错,占整个软件错误16%,是总体设计错误而引出的
- 数据错,占整个软件错误10%,由编码错误引起的
- 编码错,占整个软件错误4%,程序员编码错误引起的
- 其它错,占整个软件错误16%,由文档错和硬件错所引起的
- 测试过程
- 测试的原则
测试原则如下:
- 测试前要认定被测试软有错,不要认为软件没有错
- 要预确定被测试软件的测试结果
- 要尽量避免测试自己编写的程序
- 测试要兼容合理输入与不合理输入数据
- 测试要以软件需求规格说明书为标准
- 要明确找到的新错与找到的旧错成正比
- 测试是相对的,不能穷尽所有的测试方法。
- 测试用例留作测试报告与以后得反复测试用,重新验证纠错的程序是否有错
软件测试技术:
- 软件测试的目标
测试的目标:
(1)测试是为了发现程序中的错误而执行程序的过程
(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案
(3)成功的测试是发现了至今为止尚未发现的错误的测试
2.测试方法
按照测试过程是否在实际应用环境中来分,有静态分析与动态测试
测试方法有分析方法(包括静态分析法与白盒法)与非分析方法(称黑盒测试)。白盒法是通过分析程序内部的逻辑与执行路径来设计测试用例,进行测试单的方法,白盒法爷称逻辑驱动方法,黑盒法是功能驱动方法,仅根据I/0数据条件来设计测试用例,而不管程序内部单与路径如何
(1)静态分析技术
不执行被测软件,可对需求分析说明书、软件设计说明书,源程序做结构检查、流程分析、符号执行来找出软件错误
(2)把程序作为一个函数,输入单的全体称为函数的定义域,输出额全体称为函数的值域,函数则描述了输入的定义域与输出值域的关系
(3)黑盒测试和白盒测试
(1) 黑盒测试
黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程。黑盒测试又称为功能测试
(2) 白盒测试法
白盒测试法的前提是可以把程序看成装在一个透明单的白盒子里,也就是完全了解程序的结构和处理过程,白盒测试又称为结构测试
3.设计测试方案
测试规约大纲:
a.测试范围
b.测试计划
测试阶段和结构;进度;额外的软件;环境和资源
c.测试过程(1-n)
1.集成测试
目的;要测试的模块
2.对结构中模块单元的测试
对模块的测试描述;额外软件的描述;希望的结果
3.测试的环境
特殊的工具和技术;额外的软件描述
4.测试用例数据
5.建立所期望单结果
a.实际测试结果
b.参考文献
c.附录