功能测试前还需要做哪些准备?

news2024/11/15 23:57:46

概述

在项目管理流程中,有几个关键阶段:

需求阶段

开发阶段

测试阶段

上线阶段

其中的需求阶段和开发阶段是最为重要的,一个是设计,定义这个功能如何运作,一个是执行与实现,这两个阶段把控好了,往下走就会顺利很多。

下面重点讲一下开发阶段中的提测步骤,在提测前应该准备什么东西,以保证提测的质量。

首先关于提测这个动作,我自己是这么理解的:提测了,就说明开发人员认为功能就长这样了,已经完全按照产品PRD完整的实现了,是个严谨、负责、认真的动作。

理论上,研发人员一旦提测,就可以开始处理其他需求任务了的。

为啥要注重提测质量

在刚才提到几个项目管理阶段中,越早认真越好,早发现问题早解决,如果到了测试阶段,还出现各种各样的问题,基本都是要付出惨痛的代价的。

你有没有遇到过,功能提测后,还出现如下情况:

功能跟产品PRD里的不一样,走偏了;

前端BUG几百个;

严重阻塞性BUG几十个;

测试环境极度不稳定,测试人员一直来让开发人员定位。

这些问题都会造成极大的沟通成本、执行成本,也会占用很多资源,直接影响了整个部门对需求处理的吞吐量,而这些本身是可以尽量避免的。解决的办法就是狠抓提测这个步骤。

下面列一下我自己实战过且发挥了作用的一些手法。注意,这里着重强调的是,提测这个动作执行前,要做的事情,关注的是,测试人员接手后,是否能顺利走下去,像架构方案、技术设计、压测、回滚方案呀,这些是另外的动作,是必做的,不会在文章里强调。
 

提测前要做的事情

注:这些步骤不分先后。

01完成端到端联调

自己负责的部分再完美也是没用的,端到端一联调,可能就出问题。

端到端联调的重要性再怎么强调都不为过,它可以整体性的验证功能模块是否符合产品预期。像UI问题、体验问题、后端接口数据问题、兼容性问题等,都可以在这个阶段发现。

另外有两个小技巧可以用上:

如果开发环境不太稳定或者数据不全,建议直接在测试环境里做开发联调,把环境调顺了,完成后,测试人员可以在同一个测试环境里做功能测试,可以避免提测后,一大堆环境问题,而测试人员又不知道如何处理,只能找开发定位,造成的资源浪费。当然如果测试人员有能力独立维护测试环境的话,就不建议这么干哈。

根据测试人员提供的冒烟用例,有目标的进行开发联调,提高联调效率。如果开发人员很有耐性,能按照产品PRD里提的点,逐个验证,那当然更好了。

02执行冒烟用例

测试人员在需求评审完后,就需要开始进行测试用例设计了,其中的冒烟用例是一个子集,是基础的用例,这些用例如果无法通过,测试人员就可以将提测的模块打回(会有一封大大的同时又抄送老板的主题为xxx功能冒烟不通过,打回的邮件发出来),因此开发人员需要认真的执行冒烟用例。

另外测试人员提供的冒烟用例必须要有质量,能准确覆盖基础的重要的功能点。

03列出改动点

这里的改动点,说的是,你当前开发的模块,改动了哪些已有的且在线上稳定运行的模块。你需要列出来,让测试人员更有目的性更有效率的去做回归测试。
 

04准备好上回归环境的清单

像配置文件变更、数据库变更,MQ配置,这些在提测前都需要准备好,要不然就可能出现功能模块在测试环境或者回归环境无法顺利运行的情况,缺胳膊少腿的,像大一些的模块,涉及到的服务很多,每个服务都有自己变更,不及时记录起来,很容易忘记。这样会极大的降低功能测试的效率。

我之前遇到过好几次,一个功能模块周一晚上提测,隔天测试人员开始介入,但是直到隔天下午功能模块才顺利的在测试环境里运行,这是多么的不应该,浪费开发人员和测试人员的时间,严重一些的,还可能导致项目延期。
 

05必要时,产品经理提前验收

像大一些的功能模块,涉及到的点非常多,这个时候,如果产品经理有时间的话,可以让其在功能提测前验收一把,这样可以及早发现功能模块是否走偏了,也可以发现很多的前端体验问题,及时让开发人员解决掉。

我是遇到过,一个项目,提测后,测试人员提了几百个前端体验或者UI问题,单单是测试人员写BUG描述,就花费了很长时间,然后还需要让开发流转BUG,这些都需要时间。

想对测试人员说的

如果开发提测前,上文提到的那些动作没有准备好,测试人员是可以不进行测试的,因为提交给测试人员的,是一个极度不稳定的东西,一旦进入测试环节,就开始坑测试人员了,因此宁愿按住它,不开始。

另外这也是保护测试人员的一种方式,毕竟队列就这么长,别随便给测试扔一些不靠谱的功能。

另外,测试人员可以理直气壮挑战开发人员的,其实只有一处,就是提测质量,如果功能模块都上线了,但是出问题了,那么老板第一个找的就是测试人员。

因为功能是否能上线,是测试人员决定的,相当于跟老板说:功能经过严格的测试了,可以交付了。而事实上,上线后却是一堆问题。

因此测试人员一定要死磕开发人员的提测质量,冒烟不过的,打回,再冒烟不过,严肃警告,还是冒烟不过,那就狠一点,可以直接不测试某些开发组提测过来的模块,因为一提测过来,进入到测试环节后,就又开始各种不顺利,各种浪费。

小结

流程有了,就要开始考验执行力了,这是个难题,一开始的话,比较建议的方式是,项目指定一个懂项目管理流程的技术负责人,授予他/她临时权力,由它全程统筹,到处督战,谁不配合,可以直接指出。

按照这种方式,实施几个项目后,大家就会开始慢慢适应。

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

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 

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

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

相关文章

从安卓系统USB升级包里提取system.img、boot.img和recovery.img在内的镜像文件

1.前言 如果你拿到一个USB升级包,你会发现升级包的结构基本相似。 但是里面并不是直接就有包括system.img、boot.img和recovery.img在内的镜像文件。 如果我们需要在Android手机上获取Magisk。提取内核(boot.img)就至关重要。当然其他镜像根…

不能去演唱会现场就多听听耳机里的他们,教你用python来实现一个音乐播放器

前言 最近可以说大麦网很知名了,哈哈还有好多想要用Python来搞抢票脚本的 怎么说呢也不是不行,但是咱今天可不是来搞这个的,我可不抢票,抢了都去不了,上班搞钱啊铁铁们 咱就是说去不了现场,就多听听手机…

实例分割 mask loss异常值,训练过程报错 debug记录

实例分割包含了目标检测,和检测框里的语义分割。 在搭建好一个模型后,训练过程中遇到了mask loss异常值,目标框消失不见,validation过程报错的情况,这里记录一下对这些问题的分析过程和debug记录。 首先分析一下mask loss异常值的问题。 mask loss用的是BCE loss。 mask…

dva( 轻量级的应用框架 )

dva核心知识与实战运用 dva 首先是一个基于 redux 和 redux-saga 的数据流方案,然后为了简化开发体验,dva 还额外内置了 react-router 和 fetch,所以也可以理解为一个轻量级的应用框架! 介绍 | DvaJS 易学易用,仅有 6 个 api&…

易基因-MeRIP-seq揭示衰老和神经变性过程中m6A RNA甲基化修饰的保守下调机制

大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。2023年02月22日,《美国国家科学院院刊》(Proc Natl Acad Sci USA)期刊发表了题为“Conserved reduction of m6A RNA modifications during aging and neurodegeneration is lin…

机器学习:学习KMeans算法,了解模型创建、使用模型及模型评价

机器学习:学习KMeans算法,了解模型创建、使用模型及模型评价 作者:AOAIYI 作者简介:Python领域新星作者、多项比赛获奖者:AOAIYI首页 😊😊😊如果觉得文章不错或能帮助到你学习&#…

android 动态加载jar包

什么时候需要用到动态加载jar包呢? 减少apk本身大小,某些界面才需要用jar里的功能jar中的功能可以独立开发,不要依赖其它的东西,能适用各个项目和第三方公司合作,人家不提供项目源码给你,但又要开发他们使…

MySQL workbench的基本操作

1. 创建新的连接 hostname主机名输入“local host”和“127.0.0.1”效果是一样的,指的是本地的服务器。 需要注意的是,此处的密码在安装软件的时候已经设定。 点击【Test Connection】,测试连接是否成功。 创建完的连接可以通过&#xff0c…

汇编指令学习(ADD,SUB,MUL,DIV,XADD,INC,DEC,NEG)

一、ADD加法操作指令将eax置1,ebx置2,运行下面命令,将结果保存到eaxadd eax,ebx扩展:adc需要再加上CF标志位的值adc eax,ebx二、SUB减法操作指令将eax置3,ebx置2,运行下面命令,将结果…

java异常分类和finally代码块中return语句的影响

首先看一下java中异常相关类的继承关系: 引用 1、分类 异常可以分为受查异常和非受查异常,Error和RuntimeException及其所有的子类都是非受查异常,其他的是受查异常。 两者的区别主要在: 受检的异常是由编译器(编译…

CUDA环境搭建(windows10)

CUDA环境搭建[windows10]一、检查显卡支持的cuda版本二、安装vs2019三、安装cuda四、检测cuda是否安装成功五、配置vs项目总结:一、检查显卡支持的cuda版本 (1)第一种方法:winR打开cmd,输入nvidia-smi,我的…

常用的shell脚步操作

文章目录一、如何开始一个shell脚本?1.基本语法2.变量定义规则二、特色变量1.$n2.$?三、条件判断1.基本语法2.运算符if,for,while四、字符串切割1.从指定位置开始截取从字符串左边开始计数从右边开始计数2.从指定字符(子字符串)开…

【MySQL】查询操作(基础篇)

目录 1、查询操作(Retrieve) 1.1 全列查询 1.2 指定列查询 1.3 查询字段为表达式 1.4 别名 1.5 去重:DISTINCT 1.6 排序:ORDER BY 1.7 条件查询:WHERE 1.8 分页查询 1、查询操作(Retrieve) 查询操作算的上是 SQL 中最复杂的操作了…

Orcad导出BOM的两种方式比较

两种方法,各有优缺点。推荐使用第二种。一、Capture CIS特有的导BOM方式,用Capture 就没有这个选项点击Stanard,然后可以在左框中select ,add进右边的框,这样导就会导出你想要的属性,同时右下方有个Key选项,你选择outp…

适用于电脑的 5 款免费好用的 PDF 阅读器

PDF 阅读器是任何可以打开PDF 文件的软件,它可能是世界上最知名的文档格式。您可下载的银行对账单、学校的时事通讯——它们可能都是 PDF 格式的。 越来越多的操作系统、智能手机和其他设备包含显示 PDF 文件的内置功能;甚至您的网络浏览器也可能处理它…

Vue2和Vue3响应式的区别

数据响应式是什么? ​所谓 数据响应式 就是建立 响应式数据 与 依赖(调用了响应式数据的操作)之间的关系,当响应式数据发生变化时,可以通知那些使用了这些响应式数据的依赖操作进行相关更新操作,可以是DOM…

基于ubuntu的STM32嵌入式软件开发(三)——基于官方标准函数库的软件工程移植

本文基于st官方提供的标准库搭建应用软件工程(即非cube方式、非寄存器方式),采用标准库搭建的工程具有软件可移植性高、可读性好、符合软件设计人员思维方式。本文描述官方下载标准库及标准库的移植过程,具体流程如下所述&#xf…

不妙,2023年浙大mpa的复试形势比想象的更严峻,又在突突突涨……

都知道浙大MPA项目卷,但都没想到这么卷! 很多浙大mpa的考生在一开始的备考初期因为对该项目的认知了解不够清晰从而会导致联考过后功亏一篑。因为是在职类考生群体,因此不少考生会认为以自己的实力和基础应该能够鱼跃龙门榜上有名&#xff0c…

视频会议系统异常中断故障分析案例

1. 背景 某电气化局的用户反馈,近期视频系统在使用过程中出现频繁中断的情况,这种情况影响到用户的视频体验和工作效率。 针对此问题,我们将NetInside流量分析系统部署到电气化局机房,使用流量分析系统提供实时和历史原始流量。…

【Linux】P1 Linux 基础命令(1)

Linux 基础命令(1)Linux 目录结构Linux 命令ls 展示命令cd 目录切换命令pwd 查看当前工作目录mkdir 创建新的文件夹其他补充知识前言 本节内容:Linux 基本命令(1)。 下节内容:Linux 基本命令(2&…