想了想,如何运用在工作环境进阶一个小level:公司当前的软件测试模型更类似于H模型,然后测试流程也倾向于传统测试流程,单元集成冒烟系统回归验收测试,单元一般是开发自己去写去做。【左移右移做的还不好,需要后面学习相关技术运用在工作中】
一、软件测试模型
(一)V模型
- V模型是瀑布模型的一种改进
- V模型标明了测试过程中的不同阶段
1.V模型每个测试阶段的测试内容
单元测试:类、函数
集成测试:接口
系统测试:前期测功能有没有满足需求,后期满足功能后还需要测性能、兼容性
验收测试:检查产品有无满足最终的需求
2.V模型的优缺点
优点
1.既有底层测试又有高层测试。
2.将开发阶段清楚的表现出来,便于控制开发的过程
缺点
1.容易让人误解为测试是在开发完成之后的一个阶段
2.由于它的顺序性,当编码完成之后,正式进入测试时,这时发现的一些bug可能不容易找到其根源,并且代码修改起来很困难。
3.如果需求变更较大,导致要重复变更需求、设计、编码、测试。返工量大
(二)W模型
- W模型明确表示出了测试与开发的并行关系
- W模型中测试伴随着整个软件开发周期,并且测试的对象不仅仅是程序,需求和设计同样要测试
1.W模型的优缺点
优点
1.将测试贯穿到整个软件的生命周期中,且除了代码要测试,需求、设计等都要测试
2.更早的介入到软件开发中,能尽早的发现缺陷进行修复
3.测试与开发独立起来,并与开发并行
缺点
1.无法支持迭代的开发模型
2.对有些项目,开发过程中根本没有文档产生,故W模型无法使用
3.对于需求和设计的测试技术要求很高,实践起来很困难
(三)H模型
- 软件开发中需求、设计、编码等活动被分阶段执行,但是实践中,他们并不是完全串行的,它们之间更多时候是交叉进行的,更多的是迭代执行(迭代:开发到一半,测试过程中发现一个问题,因为这个问题又去改需求,然后跟着改设计重新编码)
- 把测试活动完全独立出来,形成一个完全独立的流程,将测试准备活动和测试执行活动清晰地体现出来
1.H模型每个测试阶段的测试内容
测试准备:人员的配备,多长时间能把这个项目能测完,测哪些点测哪些模块
测试就绪点:测试准备到什么程度就可以执行测试(比如文档都得有啦、程序都得有啦)
测试执行:按照测试用例去测试我们的文档还有程序
2.H模型的优缺点
优点
1.软件测试完全独立,贯穿整个生命周期,且与其他流程并发进行
2.软件测试活动可以尽早准备、尽早执行,具有很强的灵活性
缺点
1.测试就绪点分析困难
2.对于整个项目组的人员要求非常高
二、软件测试流程
(一)传统测试流程
单元测试:类、函数
集成测试:接口
冒烟测试:软件的基本功能(电商app:下单→付款)
系统测试:前期测功能有没有满足需求,后期满足功能后还需要测性能、兼容性、安全性
回归测试:系统测试过程中发现的bug开发需要进行修改,回归①bug有没有改好②修改bug的影响功能③老功能能不能用(老功能也可能发现问题)→所有新功能的用例执行完了、老功能的用例回归完了
验收测试:检查产品有无满足最终的需求
(二)系统测试流程
测试计划:版本的测试时间、开发的提测时间、几个人去测试、用例谁去写、回归的范围是多少、协调谁去做、总结谁去做
(三)Bug管理流程
(四)测试左移和测试右移
1.测试左移
- 左移是往测试之前的开发阶段移
- 测试团队在软件开发周期早期就开始介入对代码进行测试
- 从发现bug到预防bug
测试左移-质量保障手段
- 代码评审(code review)
- 代码审计:自动化工具,安全漏洞
- 单元测试
- 自动化冒烟测试:提供自动化冒烟测试脚本
- 研发自测
2.测试右移
- 右移是往发布之后移
- 产品上线后进行线上监控
测试右移-线上监控文章来源:https://www.toymoban.com/news/detail-520560.html
- 闭环的线上问题反馈-检查-解决-更新流程
- 更便捷的日志查看、回传服务
- 丰富有效的log,便于问题的快速定位
- 丰富的监控指标(例如业务异常点指标)
- 业务监控(例如短信有没有成功发送到等)
- 关键指标每日监控(服务器指标)
- 生产数据监控(警报,异常数据)
三、项目管理与跨部门沟通合作
(一)项目管理
项目实例
文章来源地址https://www.toymoban.com/news/detail-520560.html
1.需求阶段
项目经理 | 产品 | 研发 | 测试 |
---|---|---|---|
活动1. 在项目管理工具中建立项目目录2. 分析项目所需资源、风险等3. 预估项目周期 | 活动1. 收集整理需求 | 参与1. 需求分析2. 环境分析 | 参与1. 需求分析2. 环境分析 |
产出1. 项目计划(大致时间规划) | 产出1. 需求文档 |
2.设计阶段
项目经理 | 产品 | 研发 | 测试 |
---|---|---|---|
活动1. 监控项目进度2. 组织安排本阶段的评审3. 任务分解,责任到人4. 细化项目计划 | 活动1. 系统功能设计 | 活动1. 系统功能技术设计2. 数据库设计 | 活动1. 组织测试计划评审 |
产出1. 项目计划(具体到各个功能) | 产出1. 系统说明书 | 产出1. 概要设计文档2. 详细设计文档 | 产出1. 测试计划 |
3.开发阶段
项目经理 | 产品 | 研发 | 测试 |
---|---|---|---|
活动1. 监控项目进度2. 调整人员安排3. 跟踪解决技术难点 | 参与1. 需求细节沟通 | 活动1. 具体功能开发2. 组织 code review3. 单元测试 | 活动1. 组织测试计划评审活动1. 编写测试用例2. 组织测试用例评审 |
产出1. 项目计划(更新进度)2. 项目报告进度 | 产出1. 功能代码2. 单元测试代码 | 产出1. 测试用例 |
4.集成测试阶段
项目经理 | 产品 | 研发 | 测试 |
---|---|---|---|
活动1. 监控项目进度2. 跟踪解决技术难题 | 参与1. 需求细节沟通2. Bug 修改方案 | 活动1. 集成测试2. 修改 Bug | 活动1. 支持研发进行集成测试2. 准备测试数据3. 准备自动化测试用例 |
产出1. 项目报告进度 | 产出1. 集成测试报告2. 部署测试环境 |
5.系统测试阶段
项目经理 | 产品 | 研发 | 测试 |
---|---|---|---|
活动1. 分配 Bug2. 跟踪解决技术难题 | 参与1. 需求细节沟通2. Bug 修改方案 | 活动1. 支持测试2. 修改 Bug | 活动1. 测试环境搭建2. 补充测试数据3. 功能测试4. 自动化测试 |
产出1. 项目报告进度 | 产出1. 系统测试报告(执行报告)2. 缺陷报告 |
6.软件项目管理的方法
- 制定项目计划
- 执行该计划并监控跟踪管理
- 项目风险应对与问题解决
- 项目收尾
(二)跨部门沟通协作
1.与产品沟通
- 需求评审会
- 在分析需求阶段
- 在测试用例编写阶段
- 在测试过程中
2.与开发沟通
- 在分析需求阶段
- 在测试用例编写阶段
- 在测试过程中
- 在线上监控发现 Bug 时
3.上下游配合测试
- 测试计划沟通
- 环境对接
- 熟悉业务
到了这里,关于软件测试流程扫盲:V/W/H模型,测试左移测试右移的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!