测试流程学习笔记一
前言
例如:随着互联网行业的不断发展,软件开发流程不断完善进化,适应不同需求场景的交付,应运而生多种新型测试流程。
一、敏捷测试
1. 敏捷测试定义
- 敏捷测试是测试的一种,原有测试定义中通过执行被检测系统发现问题,通过测试这种活动能够提供对被测系统提供度量等概念还是适用的
- 敏捷开发的最大特点是高速迭代,有周期性,并且能够及时、持续的响应客户的频繁反馈。敏捷测试是不断修正质量指标,正确建立测试策略,确认客户的有效需求能得以圆满实现和确保整个生产的过程安全的、及时的发布最终产品。
2.敏捷测试遵循原则
- 强调从客户角度,即从使用系统的用户角度,来测试系统。
- 重点关注持续迭代的测试新开发的功能,而不再强调传统测试过程中严格的测试阶段。
- 建议尽早开始测试,一旦系统某个层面可测,比如提供了模块功能,就要开始模块层面的单元测试,同时随着测试的深入,持续进行回归测试保证之前测试过内容的正确性。
二、DevOps开发测试流程
1.DevOps定义
- DevOps(development和operations的组合词)是一种重视“软件开发人员(Dev)”和“IT技术运维人员(Ops)”之间沟通合作的文化、运功或惯例。通过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加快捷、频繁和可靠。
2.DevOps类型
- 笔者公司采用微服务架构+DevOps模式
- 微服务(Microservices)是一种软件架构风格,它以专注于单一责任与功能的小型功能区模块(Small Building Blocks)为基础,利用模块化的方式组合出复杂的大型应用程序,各功能区块使用与语言无关(language-independent)的API集互相通信。
最初的DevOps概念
不断演化后的DevOps概念,已经扩大到端到端模式
3.DevOps平台搭建工具
- 项目管理:JIRA 可见完整工作流
- 代码管理:gitlab
- 持续集成CI(Continuous Integeration):gitlab-ci 开发人员提交新代码之后,立刻进程构建,测试。根据测试结果可以确定新代码和原有代码能否正确的集成在一起。
- 持续交付CD(Continuous Delivery):gitlab-cd 完成单元测试后,可以把代码部署到测试环境进行更全面的测试。如果没问题可以手动部署到生成环境。
- 镜像仓库:Harbor
- 容器:Docker
- 编排:K8s
- 服务治理:Consul或者 Nacos
- 数据库:mysql redis
- 日志管理:Docker管理或者ELK
- 系统监控:Prometheus
- 负载均衡:Nginx
- 网关:Gateway或者zuul
- 链路追踪:Zipkin(未接触过)
- 产品UI图:蓝湖
- 公司内部文档:confluence 或者 wps
三、端到端测试
1.端到端测试定义
- 将应用程序与其依赖的系统一起进行测试,确保在使用网络后,前后端程序(包括上下游系统)能顺畅交互,从而保证业务上实现闭环,确保满足客户的使用需求,可以帮助发现与系统相关的问题。
2.端到端测试目标
- 确保交付的系统与其子系统良好协助,检查从原系统到模板系统的所有系统流程再最终用户角度验证需求,识别异构环境中的问题。
3.端到端测试与系统测试区别
端到端测试 | 系统测试 |
---|---|
根据业务需求对本产品以及依赖系统一起测试 | 根据PRD定义的标准对本产品进行测试 |
还要包括源系统和目标系统之间的API测试 | 偏向功能流程,包括非功能 |
启动系统测试的同时开始 | 集成测试通过后开始 |
关注前后端以及中间件之间的处理流程 | 根据PRD检查所有功能点 |
还要站在业务角度熟悉数据流/工作流 | 熟悉PRD以及本系统功能的人 |
从头开始直到覆盖所有从属系统的系统末端的活动系统 | 使用不同的输入集合检查相同功能来评估本系统的响应 |
总结
以上就是个人对我司涉及到的测试流程进行系统化的摘录学习。
参考原文地址:
敏捷:https://baike.baidu.com/item/%E6%95%8F%E6%8D%B7%E6%B5%8B%E8%AF%95/4626327?fr=aladdin
DevOps: https://www.zhihu.com/question/58702398
端到端:https://www.jianshu.com/p/c0dc624e1dc3
联系侵删