导图社区 信息系统综合测试与管理
软件及信息系统的综合测试与管理知识,包含软件测试模型、软件测试类型(按开发阶段、实施阶段、测试技术、执行方法、质量属性、测试对象的不同可以划分多种测试类型),软件测试管理知识等。
编辑于2022-10-09 16:41:03 北京市社区模板帮助中心,点此进入>>
信息系统综合测试与管理
软件测试模型
V模型
优点
将复杂的测试工作按阶段划分为各个小阶段来实现
从多角度测试系统,找出更多的缺陷
缺点
软件测试容易误导为软件开发的最后一个阶段
需求、设计阶段产生的问题不能很早发现
质量控制和测试效率无高效发挥
W模型
优点
测试和开发同步进行,有利尽早发现问题
增加非程序角度测试系统的思想
测试准备及设计工作提前,提高测试质量及效率
缺点
把软件开发视为需求、设计、编码等一系列串行的活动
开发和测试保持一种线性的前后关系
无法支持迭代、自发性以及变更调整
H模型
优点
将测试从开发中独立出来,利于研究更深的测试技术
同时测试多个项目时,可对测试技术重复利用
高效调整测试人员
缺陷修复时不受项目组内部人员限制
缺点
独立的测试对系统认识不够深入
影响测试质量及测试效率
X模型
优点
强调单元测试及集成测试的重要性
引入探索性测试使测试模型与现实更接近
缺陷修复时不受项目组内部人员限制,
缺点
只强调测试过程中的部分内容
没有对需求测试、验收测试等内容进行说明
前置测试模型
前置模型特点
将测试执行和开发结合在一起,在开发阶段以“编码-测试-编码”的方式体现。
当程序片段编写完成,立即进行测试
提倡验收测试和技术测试沿两条不同路线进行, 每条路线分别验证系统是否能够如预期设计一样可以正常工作
用较低成本来尽早发现错误,强调了测试对确保系统高质量的重要意义
整个开发过程中反复使用各种测试技术, 使开发人员、经理和用户节省时间,简化了工作
软件测试类型
按照开发阶段划分
单元测试
测试内容
单元功能测试
单元接口测试
单元局部数据结构测试
单元中重要的执行路径测试
单元的各类错误处理路径测试
单元边界条件测试
测试原则
应该尽早地进行软件单元测试。
应该保证单元测试的可重复性。
尽可能采用测试自动化的手段来支持单元测试活动。
集成测试
测试内容
模块间接口测试
模块间数据传递
全局数据结构测试
集成策略
增值策略
非增值策略
确认测试
按照用户的参与程度
内部确认测试
Alpha 测试
Beta 测试
验收测试
系统测试
测试内容
从用户角度对系统做功能性的验证
非功能性的验证
测试目的
通过与系统的需求定义作比较,检验完整的软件配置项能否和系统正确连接, 发现软件与系统设计文档或软件开发合同规定不符合或与之矛盾的地方
验收测试
测试内容
对整个系统的测试与评审
根据验收通过准则分析测试结果
决定是否接收系统及测试评价
需要注意的地方
必须编写正式的、单独的验收测试计划。
验收测试必须在实际的用户运行环境中运行。
由用户和测试部门共同执行比较好。
回归测试
按照测试实施组织划分
开发方测试
由公司内部的用户进行的受控测试
证实软件满足规定的需求
注重产品的界面和特色
用户测试
由最终用户在客户场所进行验证
不受开发者控制
注重产品的支持性
第三方测试
介于开发方和用户方间的组织的测试
保证测试工作的客观性
评审需求、设计、用户类文档
单元测试、功能测试、性能测试等
按照测试技术划分
黑盒测试
测试内容
对界面测试
对功能测试
优点
简单,不需要了解程序内部代码及 实现。
与软件的内部实现无关。
从用户的角度出发
基于软件开发文 档测试,能了解软件实现了文档的哪 些功能。
做自动化测试方便。
缺点
代码覆盖率较低,只有总代码量的 30%。
自动化测试的复用性较低。
白盒测试
测试内容
检查所有的结构及路径是否正确
检查软件内部动作是否按规定进行
测试原则
保证一个模块中的所有独立路径至少 被测一次。
所有逻辑覆盖均需测试真(true)和 假(false)两种情况。
检查程序的内部数据结构,保证其结 构的有效性。
在上下边界及可操作范围内运行所有 循环。
灰盒测试
特点
关注输出对于输入的正确性
关注内部表现
介于白盒和黑盒测试之间
优点
能够进行基于需求的覆盖测试和基于程序路径覆盖的测试
测试结果可以对应到程序内部路径, 便于Bug的定位、分析和解决
能够保证设计的黑盒测试用例的完整性,防止遗漏软件的一些不常用的功能或功能组合
能够减轻需求或设计不详细或不完整对测试造成的影响
缺点
投入的时间黑盒测试大概多20%~40%的时间
对测试人员的要求比黑盒测试高
不如白盒测试深入
不适用于简单系统(只有一个模块的系统)
按照测试执行方式划分
静态测试
代码检查
桌前检查(Desk Checking)
代码走查
代码审查
静态结构分析
代码质量度量
不运行程序,用于预防,覆盖率100%
动态测试
编写测试用例
执行程序
分析程序输出结果
运行程序,用于矫正,覆盖率50%
按照测试对象类型划分
文档测试
非交付用户的文档测试
需求文档测试
需求规格说明书
概要设计说明书
详细设计说明书
测试相关文档测试
测试计划
测试用例
测试报告
交付用户的文档测试
需求文档
用户手册
安装手册
源代码测试
性能测试
负载测试
压力测试
并发测试
稳定性测试
大数据量测试
数据库测试
网络测试
功能测试
界面测试
流程测试
接口测试
安装测试
按照质量属性划分
容错性测试
兼容性测试
安全性测试
可靠性测试
可用性测试
维护性测试
可移植性测试
易用性测试
按照测试地域划分
本地化测试
软件界面测试
基本功能测试
安装/卸载测试
文档测试
国际化测试
设计评审
代码审查
对源语言的功能测试
对伪翻译版本的测试
软件项目测试管理
测试管理过程
制定测试计划及用例
执行 测试
发现并报告缺陷
修正缺陷
重新测试
软件调试与测试
测试的目的是找出存在的 错误,而调试的目的是定位错误并修改程序以修正错误
测试过程可以事先设计,进度可以事 先确定;调试不能描述过程或持续时间
测试成功的标志是发现了错误,根据错误迹象 确定错误的原因和准确位置,并加以改正