探讨系统测试的最佳实践与思维模式!

news2025/6/18 19:58:06

这是测试活动过程详解系列的最后一篇文章。之前的想法,是对测试过程各重要环节进行拆解,然后介绍这个环节重点要做的事情,为什么要做这些事,以及注意事项。

前面几篇文章分别介绍了单元测试、集成测试、回归测试阶段要解决的问题和实践的注意事项,这篇文章,分享一些我对于系统测试的实践经验和思考。

系统测试要解决什么问题

以微服务架构下的电商业务为例,我们的被测系统大致是这样的:

在单元测试阶段,我们通过验证代码中的语句、分支和条件,确保研发实现的系统可以顺利通过冒烟,满足集成测试阶段的可测性。在集成测试阶段,我们采用接口测试的手段,尽可能验证单个模块或服务本身的数据处理逻辑和功能实现符合预期。到了系统测试阶段,我们要解决什么问题呢?

从上图可以看到,我们的测试对象,其实是一个很复杂的系统。为了保障最终的交付质量,我们要考虑很多因素,比如:

  • 网关层:负载是否均衡、验签、限流、黑白名单等功能是否正常;
  • 业务层:功能实现和页面跳转否和设计一致、业务逻辑是否正确、页面是否美观;
  • 服务层:数据交互和逻辑处理是否正常,对异常情况的处理是否优雅以及各组件的稳定性;
  • 数据库:数据读写是否正常,表字段类型设计是否正确,是否创建了索引,分库分表的落库逻辑是否正确;

总结来说,系统测试阶段的主要目的是:验证整个系统范围内各应用和组件之间的调用依赖关系以及各种场景下的逻辑处理功能实现正确与否

当然,这里仍然要说明几点前置条件:整个系统范围内一般默认是本次迭代或者某个发布节点要上线的所有需求对应的代码;实现是否正确主要包括两点:是否符合需求预期设计+是否满足交付质量标准。

 
  1. 现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。

  2. 如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受

  3. 可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛

  4. 分享他们的经验,还会分享很多直播讲座和技术沙龙

  5. 可以免费学习!划重点!开源的!!!

  6. qq群号:455787643【暗号:csdn999】

系统测试的实践注意事项

系统测试阶段是软件产品从需求到上线过程中的重要环节,除了验证系统的功能、性能、安全以及可靠性之外,还要考虑用户使用体验和后续的维护便捷性。

在系统测试阶段,我个人的认为需要重点关注如下几项:

  • 进度管理:该阶段测试活动已经大范围展开,要重点关注整体进度,抓大放小(如有延期风险,在交付的完整性和质量之间做平衡)。
  • 测试效率:大范围的测试活动开展,最好是借助工具来提高测试过程效率(工具的建设是一个长期过程,切忌蒙头憋大招,也不要一味追求美观时尚,能运行起来提升效率解决问题就行)。
  • 边界划分:系统是由很多个不同模块组成,且实际工作中由多个不同团队负责,彼此职责范围内的边界划分和交互部分的约定至关重要(AB模块各自由谁负责,交互依赖的上下游内容、标准以及如何配合)。
  • 质量复盘:这里并不仅仅是测试出一份系统测试报告就完事,而应该和产品以及研发团队一起在这个阶段评估本次迭代部分的质量(即需求逻辑、编码质量、各自是否按时交付、影响质量和进度的风险因素)。可能很多人认为这个应该是上线后再进行的版本复盘,但上线后的质量已成定局,建议在系统测试阶段即将完成时就开展复盘,以便于回归测试和验收测试进行改进验证。
  • 质量监控:这点是很多团队容易忽视的一点,即系统上线后才开始慢慢补上对应的各种业务监控、基础指标监控,但在上线和补上监控的这段时间内,也是线上故障的频发区。更好的方法是,在系统测试阶段,就由测试同学推动相关的研发或者运维同学,对本次要线上发布的部分相关监控提前构建好并且验证通过,随着需求代码一起发布。这样即使上线后出现问题,也能及时发现和修复。

以上注意事项仅供参考,在具体的工作场景中,应根据团队具体情况来合理制定方案并落地。

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
 

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1503603.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

yolo模型中神经节点Mul与Sigmoid 和 Conv、Concat、Add、Resize、Reshape、Transpose、Split

yolo模型中神经节点Mul与Sigmoid 和 Conv、Concat、Add、Resize、Reshape、Transpose、Split 在YOLO(You Only Look Once)模型中,具体作用和用途的解释:

qt 日志 格式化打印 QMessagePattern

进入 qt源码 调试:qt creator debug 无法进入 qt源码 调试-CSDN博客 qt为 格式化打印 日志 提供了一个简易的 pattern(模式/格式) 词法解析类QMessagePattern,该类在qt的专门精心日志操作的源码文件Src\qtbase\src\corelib\global\qlogging.cpp 中 该类直接在构造函数中…

基于springboot+vue的食品安全管理系统(源码+论文)

目录 前言 一、功能设计 二、功能实现 1 首页 2 后台登录 3 食品信息添加页面 4 食品查询 三、库表设计 四、论文 前言 从事食品行业的商家可能会对于食品的储存以及食品的销售,都有着不同门道的想法,那么如何能将这些想法一一实现,…

图像处理ASIC设计方法 笔记8 卷积计算芯片的结构

(一) P81 卷积芯片内部模板框图 该设计有两个数据通路:图像数据和模板数据。 图像数据是经过帧控制、实时图SPRAM(写控制、 SPRAM读控制、数据读控制)、计算单元; 模板数据是经过模板SPRAM、计算单元。 4.5.4运算单元像素寄存器控制 存储SPRAM写入的64bit数据,输出为…

FPGA的时钟资源

目录 简介 Clock Region详解 MRCC和SRCC的区别 BUFGs 时钟资源总结 简介 7系列FPGA的时钟结构图: Clock Region:时钟区域,下图中有6个时钟区域,用不同的颜色加以区分出来 Clock Backbone:从名字也能看出来&#x…

PermissionError: [Errno 13] Permission denied: ‘xview/xView_train.geojson‘

原因 如果你试图打开一个文件,但你的路径是一个文件夹,就会发生这种情况。 判断是否是文件夹 import os path r"my/path/to/file.txt" assert os.path.isfile(path) with open(path, "r") as f:pass或者可以看下该文件是否真没有…

前后端分离项目Docker部署指南(下)

目录 前言: 一.安装nginx 创建目录 上传nginx.conf至/data/nginx/conf文件夹中 运行启动容器 上传静态资源文件 ​编辑 访问结果 前言: 在上一篇博客中,我们深入探讨了如何使用Docker部署一个前后端分离的项目中的后端部分。我们构建…

二叉树遍历(前中后序的递归/非递归遍历、层序遍历)

二叉树的遍历 1. 二叉树的前序、中序、后序遍历 前、中、后序遍历又叫深度优先遍历 注:严格来说,深度优先遍历是先访问当前节点再继续递归访问,因此,只有前序遍历是严格意义上的深度优先遍历 首先需要知道下面几点: …

STM32基础--位带操作

位带简介 位操作就是可以单独的对一个比特位读和写,这个在 51 单片机中非常常见。51 单片机中通过关键字 sbit 来实现位定义,STM32 没有这样的关键字,而是通过访问位带别名区来实现。 在 STM32 中,有两个地方实现了位带&#xff…

leetcode 1143. 最长公共子序列【动态规划】

leetcode 1143. 最长公共子序列 int longestCommonSubsequence(char* text1, char* text2) {int len1 strlen(text1);int len2 strlen(text2);int dp[len1 1][len2 1];memset(dp, 0, sizeof(dp));for (int i 1; i < len1; i) {for (int j 1; j < len2; j) {if (t…

读书笔记之《理解和改变世界》:从信息知识智能的本质看AI

《理解和改变世界: 从信息到知识与智能》作者:是(法) 约瑟夫希发基思&#xff0c; 原作名: Understanding and Changing the World: From Information to Knowledge and Intelligence&#xff0c;2023年出版。 约瑟夫希发基思&#xff08;Joseph Sifakis&#xff09;&#xff…

【Linux】第一个小程序--进度条

这篇博客要综合利用以前的知识&#xff0c;来实现一个进度条程序~ 目录 换行&回车 缓冲区 实现简单的倒计时 实现进度条 version1 version2 在开始写这个小程序之前&#xff0c;我们先学习一些预备知识&#xff1a; 换行&回车 缓冲区 在我们运行这个程序时&…

docker ENTRYPOINT [“sh“,“-c“,“java“,“-jar“,“Hello.jar“] 启动失败问题分析

因为没系统的学过linux语法&#xff0c;所以才会产生如下疑问。大佬请跳过。 问题&#xff1a;当在dockerfile里面配置 ENTRYPOINT ["sh","-c","java","-jar","Hello.jar"] &#xff0c;启动对应容器时会无法正常运行&…

【MySQL】MySQL 的 SSL 连接以及连接信息查看

MySQL 的 SSL 连接以及连接信息查看 在上篇文章中&#xff0c;我们学习过 MySQL 的两种连接方式&#xff0c;回忆一下&#xff0c;使用 -h 会走 TCP 连接&#xff0c;不使用 -h 可以使用另两种方式来走 UnixSocket 连接。我们就接着这个话题再聊点别的&#xff0c;首先要纠正一…

基于springboot+vue实现高校学生党员发展管理系统项目【项目源码+论文说明】

基于springboot实现高校学生党员发展管理系统演示 摘要 随着高校学生规模的不断扩大&#xff0c;高校内的党员统计及发展管理工作面临较大的压力&#xff0c;高校信息化建设的不断优化发展也进一步促进了系统平台的应用&#xff0c;借助系统平台可以实现更加高效便捷的党员信息…

抓包工具获取请求信息

Charles 下载安装 下载 官方下载地址&#xff1a;https://www.charlesproxy.com/latest-release/download.do 下载后傻瓜式安装就好&#xff0c;这个官方的需要激活&#xff0c;可以选择绿色版或者学习版 绿色版 绿色中文版&#xff1a;https://soft.kxdw.com/pc/Charles.z…

STM32标准库——(21)Flash闪存

1.简介 第一个用途&#xff0c;对于我们这个C8T6芯片来说&#xff0c;它的程序存储器容量是64K&#xff0c;一般我们写个简单的程序&#xff0c;可能就只占前面的很小一部分空间&#xff0c;剩下的大片空余空间我们就可以加以利用&#xff0c;比如存储一些我们自定义的数据&…

单数码管(arduino)

1.连接方法 挨个点亮每个灯 #include <Arduino.h>int pin_list[] {4, 5, 19, 21, 22, 2, 15, 18}; int num_pins sizeof(pin_list) / sizeof(pin_list[0]); // 计算数组中的元素数量void setup() {// 设置每个引脚为输出for(int i 0; i < num_pins; i) {pinMode(p…

Synthetic Temporal Anomaly Guided End-to-End Video Anomaly Detection 论文阅读

Synthetic Temporal Anomaly Guided End-to-End Video Anomaly Detection 论文阅读 Abstract1. Introduction2. Related Work3. Methodology3.1. Architecture3.1.1 Autoencoder3.1.2 Temporal Pseudo Anomaly Synthesizer 3.2. Training3.3. Anomaly Score 4. Experiments4.1.…

详解Linux例行性工作

例行性工作&#xff08;计划任务&#xff09; 场景&#xff1a; 生活中&#xff0c;我们有太多场景需要使用到闹钟&#xff0c;比如早上7点起床&#xff0c;下午4点开会&#xff0c;晚上8点购物&#xff0c;等等。再Linux系统里&#xff0c;我们同样也有类似的需求。比如我们…