欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

理解迭代模型在软件测试中的应用 - 敏捷开发视角下的详细解析

最编程 2024-08-06 09:22:00
...
  • 迭代开发不要求每一个阶段的任务做的都是最完美的,先将主要功能先搭建起来,以最短的时间,最少的损失先完成一个“不完美的成果物”直至提交,然后再通过客户或用户的反馈信息,在这个“不完美的成果物”上逐步进行完善,这正符合敏捷开发的递增变化。
  • 整个开发工作被组织为一系列的短小的、固定长度(2周—4周)的小项目,被称为一系列的迭代。
  • 每一个迭代都是一个完整的瀑布模型,是一种开发过程。
  • 采用瀑布模型的原因:功能少、周期短。
  • 迭代式开发适合那些需求信息不明确的项目。支持不断调整,随时变化。

迭代模型

  • 测试发现设计上有重大失误就回顾,没有就进入下一个迭代,增加其他新功能。
  • 发布时,会先发布到灰度环境,由相关人员进行内测,若在内测中发现较小问题,直接交付开发修改,若是问题严重则同样会进行回顾,从需求开始。

案例:

测试的工作内容:

  • 需求分析
  • 检视代码,评审开发文档
  • 测试设计(测试文档、测试方案、测试用例、执行流程、输出管理、测试控制)
  • 测试执行,缺陷跟踪
  • 度量软件质量

@@@@@@
测试方案
描述需要测试的特性、测试的方法、测试环境的规划、测试工具的设计和选择、测试用例的设计方法、测试代码的设计方案。
测试方案的特点
测试方案是技术层面的文档,从技术的角度对一次测试活动进行规划。
测试方案需要在测试计划的指导下进行,测试计划提出“做啥”,测试方案明确“咋做”
测试用例
是为某个特殊目标而编制的一组测试输入,包含了执行条件以及预期结果,以便测试某个程序(路径)或核实是否满足某个特定需求,是执行测试的最小实体
测试用例的特点
步骤清晰、结果唯一、可操作性强
(1)正确性:验证系统是否满足需求规格说明书的各项功能
(2)完整性:基本功能,不能由遗漏
(3)唯一性:按测试用例输入实施测试后,不能出现模糊不清的结果
(4)清晰、简洁:好的测试用例描述清晰,每一步都有很强的针对性
(5)可维护性:可根据需要,对测试用例进行修改、增加、删除等,以符合相应测试要求
(6)可操作性:适合特定的测试环境以及符合整个团队的测试水平
(7)可重用性:要求不同的测试者在同样的测试环境下使用同样测试用例都能得出相应结论
测试执行
根据事先设计好的测试用例而执行程序的过程,这个过程需要根据用例执行的输入数据,判断执行程序后的输出结果是否正确。
测试执行的目的
(1)发现缺陷
(2)减少风险(回归)
@@@@@@

迭代模式下的测试工作内容:

案例:

真实案例:

缺陷等级
一级:致命缺陷,使整个系统失效/不能运行/性能严重偏离
二级:严重缺陷,不会引起项目运行失败或对项目造成重大不良影响
三级:一般缺陷,不影响系统的正常使用,属于编程规范性错误
建议:建议类问题和程序优化性问题
疑问:不确定的问题

软件测试原则

  1. 测试尽早介入
  2. 穷尽的测试是不可能的
  3. 测试显示软件存在缺陷
    (测试就表明软件存在去缺陷)
  4. 缺陷集群性(8/2原则)
    (80%缺陷存在于20%的模块中)
    (20%的用例发现80%的缺陷)
  5. 杀虫剂悖论
    (对于重新移交的代码,若编程逻辑发生改变,需重新设计测试用例,以防测试用例发现BUG的能力变弱)
  6. 测试活动依赖于测试内容
    (有页面---->手工、回归---->自动化)
  7. “无错就是好”的谬论

软件测试潜规则
(1) 可以规划权限数量
(2)测试在前期工作只能是学习
(3)姜是老的辣,用例是陈的香
(4)任何一个项目都是可以复制的
(5)需求规格是测试出来的,不是设计出来的

推荐阅读