软件测试模式
1.按测试模式来分类
瀑布模型、敏捷模型、基于脚本的测试、基于风险的测试、探索式测试等
2.传统的瀑布模型
项目计划——需求分析——软件设计——程序开发——软件测试——集成维护
3.瀑布模型的优缺点
优点
①强调需求、设计的作用
②前一阶段完成后,只需要关注后续阶段
③为项目提供了按阶段划分的检查点,里程碑清晰
④文档规范
缺点
①难以适应需求的频繁变化
②项目周期后端才能看到结果
③强制的里程碑、完成时间点
④文档工作量大
4.V模型
需求分析/验收测试——概要设计/系统测试——详细设计/集成设计——软件编码/单元测试
5.W模型
用户需求/验收测试设计——需求分析/系统测试设计——概要设计/集成测试设计——详细设计/单元测试设计——编码/单元测试——集成/集测试——实施/系统设计——交付/验收测试
6.敏捷测试的特点
①强调从用户角度进行测试
②重点关注迭代测试新功能,不再强调测试阶段
③尽早测试,不间断测试,具备条件即测试
④强调持续反馈
⑤预防缺陷重于发现缺陷
7.敏捷测试和传统测试
传统测试:测试是质量的最后保护者
严格的变更管理
预先的计划和细节的准备
重量级文档
各阶段测试严格的入口和出口标准
更多在回归测试时进行重量级的自动化测试
严格依赖流程执行
测试团队和开发团队是相对独立的
敏捷测试:开发和测试人员紧密合作,大家都有责任对软件辅助
变更是可接受的,拥抱变更
计划随着进展时常调整
只需要绝对必要的文档
各迭代之间已经没有明显的入口和出口标准
所有阶段都需要自动测试,每个人都需要做,是项目集成的一部分
流程不再需要严格执行
团队合作是无缝隙合作
28.基于脚本的测试—SBT
Script-based Tseting
Scripted Testing(ST)
Exporatory Testing(ET)
29.探索式测试(ET)
完全抛开测试脚本的测试
它是一种测试风格、思维而不是一种测试技术
30.ST和ET
ST:系统性强
容易管理、控制
设计在先,执行在后
主要是验证自己的思路
可预见性
ET:自由灵活
和ST是互补的
执行和设计(思考)并行
不断和系统交互,带着问题测试
学习的过程
31、探索式测试的优点
①更能激发测试人员的创造性和工作的乐趣
②增加了发现新的或较深入Bug的可能性
③在较短时间内找到更多Bug以及对SUT作一个快速的评估
④有利于更加有效的实施自动化
⑤更加适用于敏捷项目
⑥减少了在简单、繁复上用例的无谓编写时间
32.探索式测试的缺点
①测试管理上有局限性,较难协调和控制
②对于Bug的重复利用和重现上作用有限
③对测试人员的测试技能和业务知识深度依赖较大
④只有在SUT已完全可用的前提下才更 有作用
⑤ET的生产率很难定义
⑥ET本身较难进行自动化
33.局部探索测试的要素
输入 状态 代码路径 用户数据 执行环境