软件测试学习笔记丨测试开发体系介绍
本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/27642
一、测试体系介绍 L1
1、软件测试基础概念
1.1、概念
通过手工或者工具对 “被测对象”进行测试
验证实际结果与预期结果之间是否存在差异
1.2、 软件测试作用:
通过测试工作可以发现并修复软件当中存在的缺陷,从而提高用户对产品的使用信心
测试可以降低同类型产品开发遇到问题的风险
2、软件开发流程
为了使软件开发的工作系统化并且可控制;
需要采用合适的软件开发模型和开发过程管理所有的活动。
2.1、 瀑布模型
软件开发的各项活动严格按照线性方式进行。
当前活动接受上一项活动的工作结果。
当前活动的工作结果需要进行验证。
需求分析—>设计—>编码—>实现—>软件测试—>完成—>维护
:制定计划;
:需求分析;
:软件设计;
:程序编码;
:软件测试;
:运行维护;
2.2、 敏捷开发模型
适用于需求频繁变化和需要快速开发的场景。XPSCRUM
2.2.1 、 XP - 极限编程
2.2.2、 SCRUM
2.3、 DevOps
2.3.1、 DevOps 生命周期
持续开发
持续测试
持续集成
持续部署
持续监控
2.3.2、 CI/CD
持续集成(Continuous Integration,缩写为 CI):一种软件开发实践。团队开发成员每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证。根据测试结果确定新代码和原有代码能否正确地集成在一起。
持续交付(Continuous Delivery,缩写为 CD)是一种软件工程手法。让软件产品的产出过程在一个短周期内完成。保证软件可以稳定、持续的保持在随时可以发布的状况。
目标:让软件的构建、测试与发布变得更快以及更频繁。减少软件开发的成本与时间,减少风险。
3、测试流程体系
3.1、软件测试的原则
测试显示缺陷的存在
穷尽测试是不可能的
测试尽早介入
缺陷集群性(2/8 原则)—缺陷集种在 20%的模块中
杀虫剂悖论—测试用例不能拿来用多次
测试活动依赖于测试内容
没有错误是号的谬论
3.2、软件测试对象
需求分析阶段:需求文档、接口文档
编码实现阶段:源代码
系统功能使用:软件程序
3.3、软件测试模型
3.3.1、V 模型
需求分析—>概要设计—>详细设计—>编码—>单元测试–>集成测试—>系统测试—>验收测试
3.3.2、W 模型
3.3.2、H 模型
3.4、系统测试流程
需求分析—>测试计划—>测试设计—>用例评审—>测试执行—>-bug 关系–>发布维护
3.5、bug 管理流程
3.6、测试左移
左移是往测试之前的开发阶段移
测试团队在软件开发周期早起就介入
对代码进行测试
发现 bug 到预防 bug
代码评审
代码审计
单元测试
自动化冒烟测试
研发自测
3.7、测试右移
右移是往发布之后移
产品上线后进行线上监控
闭环的线上问题反馈-检查-解决-更新流程
更便捷的日志查看、回传服务
丰富有效的 log、便于问题定位
丰富的监控指标(例如业务异常点指标)
业务监控(例如短信发送等)
关键指标每日监控(服务器指标)
生产数据监控(警报)
软件测试开发免费视频教程分享
版权声明: 本文为 InfoQ 作者【测试人】的原创文章。
原文链接:【http://xie.infoq.cn/article/1510d90b40b48d5686a6930a0】。文章转载请联系作者。
评论