开发提测?

前言

开发提测是正式开始测试的重要关卡,提测质量的好坏会直接影响测试阶段的效率,进而影响项目进度。较好的提测质量,对提高测试效率和优化项目进度有着事半功倍的作用。如何更好的推进开发提高提测质量呢?下面小编结合自己项目中遇到的问题(举例如下),和大家分享下开发自测case相关的优化方案。
Q:

开发验证自测case通过提测后,测试验证自测case不通过;
各端开发配合需求中,开发在实际联调成功前回复自测case;
开发与产品两方沟通调整需求,未同步给测试;
……
开发自测case

推进提测质量的提高,可以有多种方式,每个项目组都会有各自的特点及相应适用匹配的方法流程。小编结合在项目中采坑积累的经验,现总结落实在实际项目中的方法有如下几种。

在正式提测前开发实现中,可以通过方案讲解会、code review来提高实现质量及预期结果;正式提测阶段,可以通过自测case、交互走查、视觉走查等方式把关质量;提测后,可以有产品验收等方式。在这里,主要和大家一起沟通下正式提测阶段的自测case。

提到开发自测case,相信很多测试小伙伴都不陌生,甚至很熟悉,小编结合自己所在项目的实际应用,简单介绍下自测case。

1、自测case介绍

开发自测case就是开发同学以邮件形式提测功能前,需要测试人员在最短的时间内提供一份用于验证提测模块主流程上的功能是否已开发完成,是否覆盖了需求以及交互明确规定的主路径细节,从而确保产品在初始形态时满足产品的预期结果。

2、自测case选取

测试同学依据产品的需求/交互文档、开发实现流程(工程主导需求),整理功能主路径case(包含埋点需求)。

3、自测case流程

质量保障之开发提测

开发自测case配合

基于上述自测case的流程规范,还不能很好的解决实际项目中遇到的问题(前言中)。本部分将结合实际项目自测case的执行和配合问题的已落实的解决方案,进一步对开发自测case的配合细节进行补充。
1、自测case发送时机

至少在开发提测排期提前1天发出自测case邮件,按照需求类型,可分类细化如下。

项目版本计划中的产品需求:
在需求评审会后,项目测试开始时,优先发送自测case;

项目版本间的插入/需变:
在三方沟通评审过需变/插入任务的细节及逻辑后,由测试同学在产品需变/插入邮件的基础上,回复自测case邮件;

工程优化类需求:
在三方沟通需求细节及对应版本计划后,测试同学与开发沟通具体逻辑,然后在对应的工程优化邮件基础上,回复自测case邮件。

2、自测case测试准备说明

多端多人配合需求自测case划分:
多端配合的需求,测试需给对应开发同学发送对应功能逻辑的自测case邮件,在无法确定具体的逻辑划分时,可以提前与开发沟通,统一发给无法分辨的所有配合端开发同学一封自测case邮件,由开发之间自行沟通划分自测case验证,并分别回复邮件提测。

较复杂模块自测case邮件形式:
复杂模块对应的自测case相对较多,为方便开发标记结果同步,可以在邮件中将自测case文档添加为附件。

3、自测case配合方规范

开发验证自测case的规范(重点强调)
三方约定,开发需以build系统中的release版本验证通过自测case后方可提测,不可以用本地debug包验证自测case提测。这样,一方面可防止因实际多端开发未联调完成,影响测试进度的问题,另一方面避免因debug包和build包不同造成的阻塞bug进行二次提测的问题。

重要的事情说三遍:

开发必须用build包验证自测case提测!!开发必须用build包验证自测case提测!!开发必须用build包验证自测case提测!!

开发自测case提测邮件规范
开发在提测邮件中需说明build系统的开发分支,注意,还同时涉及多个SDK的交互功能,需要同时说明对应的开发分支;(若已在工程优化邮件中说明,可不再备注)
若涉及测试环境,需在提测邮件中说明测试环境的host,同步给测试同学;
若存在后期需求变动或开发实现逻辑的变动点(已与产品同步),与某些case不匹配,需在邮件正文备注说明;
自测case提测的同步提测准备
开发在发送自测case邮件的同时,需给视觉同学发送视觉走查通知邮件,以及交互同学走查通知邮件。

视觉走查

为避免后期视觉走查不通过或者视觉稿变更,引发的重复兼容性测试工作量的问题,小编所在项目中将视觉走查的时机提前到开发提测阶段,保证在兼容性测试之前,UI达到可提测标准,测试同学开始UI层的兼容性测试的依据是视觉走查通过邮件。

具体的配合流程如下:

质量保障之开发提测

邮件形式举例:

质量保障之开发提测

备注:问题描述形式:可在邮件正文描述,也可附带在附件中。

质量保障之开发提测

总结

我们在实际项目测试过程中,不可避免的会遇到配合、效率、质量的问题,不同的项目组会有不同的解决方式,流程规范只是其中一种有效手段,小伙伴们可以根据实际项目情况选择最适合自己的解决方式。


              【下面是我整理的2023年最全的软件测试工程师学习知识架构体系图】


一、Python编程入门到精通

二、接口自动化项目实战

三、Web自动化项目实战


四、App自动化项目实战

五、一线大厂简历


六、测试开发DevOps体系

七、常用自动化测试工具


八、JMeter性能测试

九、总结(尾部小惊喜)

生命不息,奋斗不止。每一份努力都不会被辜负,只要坚持不懈,终究会有回报。珍惜时间,追求梦想。不忘初心,砥砺前行。你的未来,由你掌握!

生命短暂,时间宝贵,我们无法预知未来会发生什么,但我们可以掌握当下。珍惜每一天,努力奋斗,让自己变得更加强大和优秀。坚定信念,执着追求,成功终将属于你!

只有不断地挑战自己,才能不断地超越自己。坚持追求梦想,勇敢前行,你就会发现奋斗的过程是如此美好而值得。相信自己,你一定可以做到!

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

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

优化算法 学习记录

文章目录 相关资料 优化算法梯度下降学习率牛顿法 随机梯度下降小批量随机梯度下降动量法动量法解决上述问题 AdaGrad 算法RMSProp算法Adam学习率调度器余弦学习率调度预热 相关资料 李沐 动手学深度学习 优化算法 优化算法使我们能够继续更新模型参数,并使损失函…

【数据安全】金融行业数据安全保障措施汇总

数字化的今天,数据的价值不可估量,尤其是金融行业,数据不仅代表着企业的核心资产,还涉及到客户的隐私和信任。因此对于金融行业而言,保障数据安全至关重要。下面我们就来一起讨论为什么金融行业要保障数据安全&#xf…

基于Qt的蓝牙Bluetooth在ubuntu实现模拟

​# 前言 Qt 官方提供了蓝牙的相关类和 API 函数,也提供了相关的例程给我们参考。笔者根据 Qt官方的例程编写出适合我们 Ubuntu 和 gec6818开发板的例程。注意 Windows 上不能使用 Qt 的蓝牙例程,因为底层需要有 BlueZ协议栈,而 Windows 没有。Windows 可能需要去移植。笔者…

代码随想录算法训练营第三十六天|01背包问题 二维 ,01背包问题 一维 ,416. 分割等和子集

背包理论基础 01 背包(二维) 有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。 背包最大重量为4。 物品为&#x…

Docker入门指南:从基础到实践

在当今软件开发领域,Docker已经成为一种不可或缺的工具。通过将应用程序及其依赖项打包成轻量级的容器,Docker实现了开发、测试和部署的高度一致性。本文将深入研究Docker的基本概念,并通过详细的示例代码演示如何应用这些概念于实际场景中。…

学习IO的第八天

作业&#xff1a;使用信号灯循环输出ABC sem.c #include <head.h>union semun {int val; /* Value for SETVAL */struct semid_ds *buf; /* Buffer for IPC_STAT, IPC_SET */unsigned short *array; /* Array for GETALL, SETALL */struct seminf…

InnoDB在SQL查询中的关键功能和优化策略

文章目录 前言存储引擎介绍存储引擎是干嘛的InnoDB的体系结构 InnoDB的查询操作InnoDB的查询原理引入 Buffer Pool引入数据页Buffer Pool 的结构数据页的加载Buffer Pool 的管理Buffer Pool 的优化 总结 前言 通过上篇文章《MySQL的体系结构与SQL的执行流程》了解了SQL语句的执…

IO第二天作业

1.用read write函数实现文件拷贝 程序 #include <stdio.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <unistd.h> #include <stdlib.h> #include <string.h>int main(int argc, const char *argv[]){…

孩子还是有一颗网安梦——Bandit通关教程:Level 9 → Level 10

&#x1f575;️‍♂️ 专栏《解密游戏-Bandit》 &#x1f310; 游戏官网&#xff1a; Bandit游戏 &#x1f3ae; 游戏简介&#xff1a; Bandit游戏专为网络安全初学者设计&#xff0c;通过一系列级别挑战玩家&#xff0c;从Level0开始&#xff0c;逐步学习基础命令行和安全概念…

初学编程100个代码,python 基础 详细

本篇文章给大家谈谈初学编程100个代码&#xff0c;以及python 基础 详细&#xff0c;希望对各位有所帮助&#xff0c;不要忘了收藏本站喔。 1.Python标识符 在 Python 里&#xff0c;标识符有字母、数字、下划线组成。 在 Python 中&#xff0c;所有标识符可以包括英文、数字以…

新版Spring Security6.2架构 (二) - Authentication

前言&#xff1a; 书接上文&#xff0c;继续官网的个人翻译和个人理解&#xff0c;有不对的请见谅。第一个篇博客中写到Sevlet appliation的总体架构&#xff0c;本博客是写Sevlet appliation中Authentication的架构&#xff0c;在后面第三篇博客将会写到新版spring security如…

IO流(一)

目录 一.关于IO流 二.字节流 1.FIleOutputStream&#xff08;字节输出流&#xff09; 1.书写步骤&#xff1a; 1.创建字节输出流对象 2.写数据 3.释放资源 2.书写数据的三种方式 3.换行写入数据&#xff1a; 4.续写 2.FileInputStream&#xff08;字节输入流&#xf…

【算法-字符串3】听说KMP很难?进来看这篇:实现strstr(),查找子串

今天&#xff0c;带来KMP算法的讲解。文中不足错漏之处望请斧正&#xff01; 理论基础点这里 今天我们来实现strstr()。 题意转化 在一个字符串mainStr中找另一个字符串subStr。 解决思路 两指针i和j分别在mainStr和subStr中拿取字符尝试匹配 匹配&#xff1a;继续不匹配&…

HTML实现页面

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>工商银行电子汇款单</title> </head> &…

主机访问Android模拟器网络服务方法

0x00 背景 因为公司的一个手机app的开发需求&#xff0c;要尝试链接手机开启的web服务。于是在Android Studio的Android模拟器上尝试连接&#xff0c;发现谷歌给模拟器做了网络限制&#xff0c;不能直接连接。当然这个限制似乎从很久以前就存在了。一直没有注意到。 0x01 And…

回顾【数学基础】找出断层,继续前进, 使用chatGPT学习并解决实际问题:微积分

已经学过的算术、代数、几何。跳过。 从微积分开始 想象一下&#xff0c;你在画一条曲线&#xff0c;或者在一个大草地上奔跑。微积分就是一种数学工具&#xff0c;帮助我们了解这条曲线的形状&#xff0c;或者你奔跑的方式。 微分&#xff08;就像研究曲线上的每一小点&…

SQL基础理论篇(十一):事务隔离

文章目录 简介事务并发时的常见异常什么是脏读&#xff1f;什么是不可重复读&#xff1f;什么是幻读&#xff1f; 事务的常用隔离级别参考文献 简介 之前我们讲过事务的四大特性&#xff0c;即ACID&#xff0c;分别是原子性、一致性、隔离性和持久性。隔离性就是事务的基本特性…

ROBdispatch stage

ROB会跟踪所有pipeline中的指令的状态&#xff1b;一旦ROB中&#xff0c;header指的entry complete了&#xff0c;则该指令可以commit,其architectural state属于visible了&#xff1b;如果header instruction 发生了异常&#xff0c;pipleine需要flush, 在该exception instruc…

Python接口自动化测试 —— Requests库学习

安装&#xff1a; pip install requests 例子&#xff1a; import requests r requests.get(http://www.baidu.com) print r.status_code print type(r) print r.cookies运行程序&#xff0c;得到结果&#xff1a; 运行程序&#xff0c;得到结果&#xff1a; 200 <…

Leetcode—2963.统计好分割方案的数目【困难】

2023每日刷题&#xff08;五十七&#xff09; Leetcode—2963.统计好分割方案的数目 算法思想 参考灵神思路 实现代码 class Solution { public:long long mod 1e97;long long pow(long long x, int cnt) {if(cnt 0) {return 1;}if(cnt 1) {return x % mod;}long long …