软件测试模式
来源:互联网 发布:天正看图软件 编辑:程序博客网 时间:2024/06/05 01:03
按照测试模式来分类:
瀑布模型、敏捷测试、基于脚本的测试、基于风险的测试、探索测试等。
传统的瀑布模型:
优点:
强调需求、设计的作用;前一阶段完成后,只需关注后续阶段;
为项目提供了按阶段划分的检查点,里程碑清晰;文档规范
缺点:
难以适用需求的频繁变化;项目周期后段才能看到成果;
强制的里程碑、完成时间点;文档工作量大。
V模型:
W模型:
X模型:
H模型:
敏捷测试:
Agile Testing–遵循敏捷宣言的一种测试实践。
敏捷宣言:
个体与交互 重于 过程和工具
可用的软件 重于 完备的文档
客户协作 重于 合同谈判
响应变化 重于 遵循计划
在每对比较中,后者并非全无价值,但我们更看重前者。
特点:
强调从客户角度进行测试;重点关注迭代测试新功能,不再强调测试阶段;尽早测试,不间断测试,具备条件即测试;强调持续反馈;预防缺陷重于发现缺陷。
敏捷测试 vs 传统测试:
基于脚本的测试-SBT:
Script-based Testing
Scripted Testing(ST)
Exploratory Testing(ET)
探索式测试(ET):完全抛开测试脚本的测试。它是一种测试风格、思维而不是一种测试技。
ET和ST使用:
ST Vs ET:
探索式测试的优点:
1.更能激发测试人员的创造性和工作乐趣
2.增加了发现新的或较深入Bug的可能性
3.在较短时间内找到更多Bug以及对SUT做一个快速的评估
4.有利于更加有效的实施自动化
5.更加适用于敏捷项目
6.减少了在简单、繁复上用例的无谓编写时间
探索式测试的缺点:
1.测试管理上有局限性,较难协调和控制
2.对于Bug的重复利用和重复上作用有限
3.对测试人员的测试技能和业务知识深度依赖较大
4.只有在SUT已完全可用的前提下才更有作用
5.ET的生产率很难定义
6.ET本身较难进行自动化
局部探索式测试:输入、状态、代码路径、用户数据、执行环境。
全局探索式测试:漫游测试法—–商业区、旅馆区、历史区、旅游区、娱乐区、破旧区。
执行探索式测试:
Know You Mession—>Learning Session—>Coverage Session—>Deep Session—>Close Session
基于风险的测试-RBT:
Risk-based Testing
一种基于对软件失效的风险评估并以此指导测试计划、设计、执行、结果评价的软件测试类型。
哪些是风险:质量风险、管理风险、风险级别=风险可能性*风险严重度。
识别风险:
可能性:复杂性、时间压力、高变更率、技能水平、地理分散度。
严重程度:使用频率、失效可视性、商业损失、组织负面影响和损害、社会损失和法律责任。
风险要素分=Sum(单项权重*得分)
RBT的优点:
基于模型的测试-MBT:
Model-based testing is software testing in which test cases are derived in whole or in part from a model that describe some(usually fnctional) aspects of the system under test(SUT).
http://blogs.msdn.microsoft.com/sechina/2009/11/18/123
主要的MBT工具:
Spec Explore(Microsoft)
GraphWalker(OpenSource) http://graphwalker.github.io/
Tcases(OpenSource) http://github.com/Cornutum/tcases
Modeljunit(OpenSource) http://www.cs.waikato.ac.nz/~marku/mbt/modeljunit
- 软件测试模式
- 软件测试-生命周期模式
- 软件测试能力模式(自己理解)
- 笔试面试---设计模式&软件测试&软件工程
- 软件测试学习2-软件开发生命周期模式
- 另一种思考模式,在软件测试中成长......
- 面试宝典-软件工程基础-软件测试-UML-设计模式
- 基于矩阵模式的 Web 软件测试手段
- (欧)第15章 设计模式与软件测试
- 软件测试
- 软件测试
- 软件测试
- 软件测试
- 软件测试
- 软件测试
- 软件测试
- 软件测试
- 软件测试
- Android-网络框架01OKHttp3
- Python标识符规则、关键字、特殊变量操作实例
- 欢迎使用CSDN-markdown编辑器
- OC最实用的runtime总结
- Atom 插件制作教程
- 软件测试模式
- IntelliJ IDEA for mac
- 基于MCP2515的Linux CAN总线驱动程序设计(一)
- 自定义view控件
- 多重继承、this、dynamic_cast、static_cast的问题
- Linux 下使用Dump操作MySQL数据库
- 2013年北理复试上机题
- IP地址的划分
- D3D中四元数的表示