【软件测试学习】—软件测试模型(二)

简介: 【软件测试学习】—软件测试模型(二)

1 为什么学习测试模型

指导测试过程

2 常见的测试模型

  • V 模型
  • W 模型
  • H 模型
  • X 模型
  • 前置模型
  • 敏捷测试模型

2.2.2 优点

  • W 模型从 V 模型演化过来,实际上开发是 V,测试是并行的 V,测试与开发同步进行,有利于尽早地全面的发现问题。
  • 测试伴随整个软件开发周期。
  • 测试的对象不仅仅是程序,需求、设计等同样要测试

2.2.3 缺点

W 模型中,需求、设计、编码等活动被视为串行的,同时,测试和开发活动也保持着一种线性的前后关系,上一阶段完全结束,才可正式开始下一个阶段工作。这样就无法支持迭代的开发模型。

2.3 H 模型

2.3.1 H 模型的提出和过程

真正的测试级别之间不存在严格的次序关系,各阶段间可以反复触发、迭代、增量。为了解决 V 模型和 W 模型存在的问题,有专家提出了 H 模型

2.3.2 特点

  • 它将测试活动完全独立出来,形成一个完全独立的流程,将测试准备活动和测试执行活动清晰地体现出来。测试贯穿产品整个生命周期,与其他流程并发地进行。
  • 软件测试不仅仅指测试的执行,还包括很多其他的活动(计划、需求分析、用例设计、环境搭建、提交缺陷、评估总结等)。
  • 当某个测试时间点就绪时,软件测试即从测试准备阶段进入测试执行阶段。
  • 软件测试要尽早准备,尽早执行。
  • 软件测试是根据被测物的不同而分层次进行的。不同层次的测试活动可以是按照某个次序先后进行的,但也可能是反复的

2.4 敏捷测试模型

2.4.1 极限编程

20 世纪 90 年代 Kent Beck 设计了一种名为极限编程(eXtreme Programming XP)的新型软件开发方法。

2.4.2 极限测试

  • 为了满足 XP 的流程和思想,开发人员使用了极限测试方法,该方法强调连续测试。
  • 测试在 XP 中的地位非常重要,所以需要首先创建单元(模块)测试和验收测试,然后才能创建代码库。这种形式的测试称为极限测试(eXtreme Testing,XT)。
  • XP 模型需要客户参与,高度依赖模块的单元和验收测试。
  • 对任何一个递增的代码变更,开发人员都必须进行单元测试,以确保代码库满足其规格说明的要求
  • 单元测试完成后,用户进行验收测试

2.4.3 基于 XP 的项目的步骤

  1. 程序员与客户会晤,决定产品需求并建立使用场景。客户不在场时,程序员进行会晤,将需求分解为独立的任务,并估计完成每项任务所需的时间。程序员向客户提交任务清单和时间估计,并要求客户产生一个功能优先级清单。
  2. 每一对程序员依据应用程序的规格说明,对其编程任务生成单元测试用例。
  3. 编程小组依据程序员具备的能力,将任务分配给结对的程序员。两位程序员协同工作,在同一台机器开发代码库,对代码进行实时检查。所有代码归所有程序员所有。遵循一致的系统隐喻,所有的代码看上去都一致。每一对程序员完成其任务,编写出代码库。每一对程序员在所有单元测试通过之前,不断修改和重测他们的代码。所有的结对程序员每天都整合、集成他们的代码库。编程小组发布应用程序的一个预览版本。
    4.客户进行验收测试,要么确认该应用程序,要么提交一份报告指出存在的 bug或不足。程序员在验收测试成功的基础上发布一个产品版本。开发人员和编程小组可以随时接触客户,这样可以快速、准确地解决问题
    5.程序员根据最新的经验更新时间估计。
    6.不允许加班。如果每周都全力工作了 25 小时,就不需要加班。在重大发布前的一星期例外。

2.4.4 敏捷测试的要点总结

  • 敏捷测试是协同测试的一种形式,程序员结对编程,程序员分饰测试员角色,敏捷测试是连续测试。
  • 敏捷测试侧重单元测试和验收测试。单元测试的过程是先设计单元测试用例,然后进行编码,之后执行测试。
  • 敏捷测试强调客户参与,单元测试通过之后代码集成到代码库中,再由客户进行验收测试。

2.5 测试模型的使用

  • 不同的软件生命周期模型需要使用不同的测试方法。
  • 应尽可能地去应用模型中对项目有实用价值的方面,但不强行地为使用模型而使用模型,否则也没实际意义。
  • 各种模型可以适当结合


相关文章
|
11月前
|
人工智能 搜索推荐 数据管理
探索软件测试中的自动化测试框架选择与优化策略
本文深入探讨了在现代软件开发流程中,如何根据项目特性、团队技能和长期维护需求,精准选择合适的自动化测试框架。
437 11
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
如何让AI更“聪明”?VLM模型的优化策略与测试方法全解析​
本文系统解析视觉语言模型(VLM)的核心机制、推理优化、评测方法与挑战。涵盖多模态对齐、KV Cache优化、性能测试及主流基准,助你全面掌握VLM技术前沿。建议点赞收藏,深入学习。
567 8
|
2月前
|
人工智能 边缘计算 搜索推荐
AI产品测试学习路径全解析:从业务场景到代码实践
本文深入解析AI测试的核心技能与学习路径,涵盖业务理解、模型指标计算与性能测试三大阶段,助力掌握分类、推荐系统、计算机视觉等多场景测试方法,提升AI产品质量保障能力。
|
3月前
|
机器学习/深度学习 存储 分布式计算
Java 大视界 --Java 大数据机器学习模型在金融风险压力测试中的应用与验证(211)
本文探讨了Java大数据与机器学习模型在金融风险压力测试中的创新应用。通过多源数据采集、模型构建与优化,结合随机森林、LSTM等算法,实现信用风险动态评估、市场极端场景模拟与操作风险预警。案例分析展示了花旗银行与蚂蚁集团的智能风控实践,验证了技术在提升风险识别效率与降低金融风险损失方面的显著成效。
|
9月前
|
存储 人工智能 测试技术
小鱼深度评测 | 通义灵码2.0,不仅可跨语言编码,自动生成单元测试,更炸裂的是集成DeepSeek模型且免费使用,太炸裂了。
小鱼深度评测 | 通义灵码2.0,不仅可跨语言编码,自动生成单元测试,更炸裂的是集成DeepSeek模型且免费使用,太炸裂了。
141574 29
小鱼深度评测 | 通义灵码2.0,不仅可跨语言编码,自动生成单元测试,更炸裂的是集成DeepSeek模型且免费使用,太炸裂了。
|
9月前
|
机器学习/深度学习 自然语言处理 API
阿里云零门槛、轻松部署您的专属 DeepSeek模型体验测试
DeepSeek R1是基于Transformer架构的先进大规模深度学习模型,2025年1月20日发布并开源,遵循MIT License。它在自然语言处理等任务上表现出色,高效提取特征,缩短训练时间。阿里云推出的满血版方案解决了服务器压力问题,提供100万免费token,云端部署降低成本,用户可快速启动体验。虽然回答速度有待提升,但整体表现优异,备受关注。
348 8
|
9月前
|
人工智能 IDE 测试技术
用户说 | 通义灵码2.0,跨语言编码+自动生成单元测试+集成DeepSeek模型且免费使用
通义灵码, 作为国内首个 AI 程序员,从最开始的内测到公测,再到通义灵码正式发布第一时间使用,再到后来使用企业定制版的通义灵码,再再再到现在通义灵码2.0,我可以说“用着”通义灵码成长的为数不多的程序员之一了吧。咱闲言少叙,直奔主题!今天,我会聊一聊通义灵码的新功能和通义灵码2.0与1.0的体验感。
|
9月前
|
人工智能 IDE 测试技术
用户说 | 通义灵码2.0,跨语言编码+自动生成单元测试+集成DeepSeek模型且免费使用
用户说 | 通义灵码2.0,跨语言编码+自动生成单元测试+集成DeepSeek模型且免费使用
|
11月前
|
Java 测试技术 API
探索软件测试中的自动化测试框架
本文深入探讨了自动化测试在软件开发中的重要性,并详细介绍了几种流行的自动化测试框架。通过比较它们的优缺点和适用场景,旨在为读者提供选择合适自动化测试工具的参考依据。
|
11月前
|
数据管理 测试技术 持续交付
软件测试中的自动化测试策略与最佳实践
在当今快速迭代的软件开发环境中,自动化测试已成为确保软件质量和加速产品上市的关键手段。本文旨在探讨软件测试中的自动化测试策略,包括选择合适的自动化测试工具、构建有效的自动化测试框架以及实施持续集成和持续部署(CI/CD)。通过分析自动化测试的最佳实践,本文为软件开发团队提供了一系列实用的指南,以优化测试流程、提高测试效率并减少人为错误。
302 4