一、如果我们要测试一个系统,首先我们要了解被测系统的架构
(一)业务架构-从需求里面去了解(角色和行为):
业务模型分析(是一个电商,还是一个企业的crm,还是一个网站,还是一个内部的财务处理工具)
(二)技术架构-从概要设计里面去了解:
技术组件、通讯协议分析(比如:技术架构有无缓存,有缓存要考虑缓存过期的情况。技术组件的特性也会影响到被测系统的质量)
(三)数据架构(和校验的数据有关系):
数据模型、数据存储引擎分析(数据是如何进行管理保存的,它使用的是NoSQL还是传统的关系型数据库,它使用的是kv结构还是链式存储,或者说内部是用的搜索引擎)
二、技术架构、业务架构举例(要学会去画自己公司的业务架构)
智能家居-涂鸦智能技术架构
阿里云经典业务架构
阿里云物联网平台技术架构
企业服务钉钉技术架构
企业服务飞书技术架构
电子商城 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
- 测试框架 测试平台
- 测试左移 精准测试
- 测试右移 质量监控
测试能力架构图(规划测试方案参考如下,下方软件测试主要考虑覆盖度)