测试体系与测试方案设计
简介
测试体系(Testing Framework
)和测试方案设计(Test Plan Design
)是软件测试中的两个重要概念。它们共同构成了有效的软件测试过程,确保软件质量和可靠性。学习和掌握这些知识不仅能够提高软件的质量和可靠性,还能有效降低开发成本、提高测试效率、促进团队协作,对于个人的职业发展也具有重要意义。
价值
- 提高软件质量
- 降低开发成本
- 增强测试效率
- 促进团队协作
系统架构
了解被测系统的架构
- 业务架构:业务模型分析
- 技术架构:技术组件、通信协议分析
- 数据架构:数据模型、数据存储引擎分析
智能家居技术架构
涂鸦智能家居产品包括手机客户端和 Amazon Echo
通过DNS
接入到整个服务集群,服务器内部通过负载均衡分发到各个集群中,在集群中完成各个服务器的业务处理。业务处理后还有负载均衡,发送到更多内部微服务器集群。其中用到一些消息队列、关系数据库、缓存系统、大数据处理、安全相关、通信相关。
阿里云经典业务架构
上面是支撑应用,中下层是技术组件产品,通过业务进行整体的控制。
阿里云物联网平台技术架构
各种物联网硬件通过对应的各个协议完成设备的接入,接入后完成消息的通信、设备管理、监控运维、数据分析等整个流程。
企业服务钉钉技术架构
图片中右方是钉钉对应的业务架构包括应用的集群和开发平台等,通过对应的协议接入企业内部网络,右下方是钉钉的业务架构包括用到的微服务架构以及分布式数据库和消息队列,通过加密通道连接私有云。
企业服务飞书技术架构
中间多机房接入等阐述了对应技术是如何接入系统,构成整体的技术架构。
电子商城 Mall 开源项目技术架构
电脑手机通过网关服务的集群包括各种配置,用到容器化的部署以及各种管道,构成整体的技术架构。
经典技术架构
- 网关产品 Nginx Apache Httpd
- web 应用开发 Vue.js React
- 移动应用开发 Android iOS RN Flutter
- 后端应用开发 Java(Spring Boot)
- 底层引擎 C/C++ GO Rust
- 消息管道 Kafka RabbitMQ
- 缓存系统 Redis MemCached
- 数据监控 Logstash ElasticSearch Kibana
- 性能监控 Prometheus Grafana
- 大数据处理 Hadoop Spark Flink
- 人工智能深度学习 TensorFlow Pytorch
腾讯与阿里的质量保证服务参考
腾讯 WeTest 测试能力全景图
测试关注上层测试能力相关模块。作为参考跟自己的公司产品做对标,比较哪些是需要完善补充。
阿里云效测试能力与架构
通过云效平台的各个指标,参考并完善自己公司产品的架构。
测试开发技术体系
用户端测试
- Web/App 测试
- Web/App 自动化测试
- 用户端专项测试
- 用户端安全测试
服务端测试
- 接口协议与 Mock
- 接口自动化测试
- 服务端性能测试
- 服务端安全测试
持续交付
- 容器技术 Docker
- 自动化系统 Jenkins
- 持续集成
- 持续交付
测试开发
- 持续部署 DevOps
- 测试框架 测试平台
- 测试左移 精准测试
- 测试右移 质量监控
测试能力框架图
- 精准测试:保证测试的充分性。
- 持续集成、持续交付、DevOps:提高测试效率。
- 测试平台:保证测试的高效性,降低沟通成本。
总结
- 了解被测系统的架构。
- 经典技术架构。
- 测试开发技术体系。
- 测试能力框架。