脱离产品怎么可能完成测试?

news2024/11/14 2:43:00

“脱离应用场景谈技术毫无意义”。其实很多东西都是如此,这个有点哲理的味道了。我们是做engineering,软件工程也是工程,工程的特点就是不能停留在理论和方法,最后要做出东西来,软的也好,硬的也好。 

人有时候很奇怪,很多道理说起来浅显,别人讲出来的时候会直点头,有道理,但是真正做事的时候会常想不到。很到道理要真正经历过,体会到经验或者教训才会印象深刻,变成自己的,这大概就是经验和阅历的重要性吧。 

这其实是一个很大的topic,这里想从测试方面来说说,其实脱离了项目的实际状况来谈测试方法也是毫无意义的。 

光空谈太泛,而且我自己也是一个经验主义者,那就是尝到甜头或者吃过苦才能记得或者印象深刻,结合自己的经历来说说体会。在测试领域工作了好几年了,也完整的做了好几个产品的版本,回头来看,各不一样,有下面几种。
 
1、项目是从外面转过来的 

项目从US中心转过来,本来就已经在市场上在卖了,有相当的客户基础,也有相当的开发资源的积累,代码,case,automation,tool等等,当然也有相当的历史遗留问题。 

2、项目是基于老产品做的新产品 

IT 其实和时尚界一样,也是一个追赶潮流的行业,今年流行格子,明年流行拉链拉起来盖住头。所以其实也没有外面人所说的那么boring,比如前几年流行 appliance,本来是卖软件,要把它装到一个盒子里,配好了和硬件一起卖,然后虚拟化流行之后开始出现virtual appliance,和OS打包到一起或者导成虚拟机。于是在这样的潮流下就有了很多新瓶装出的旧酒,把软件的产品加上系统层面的一些功能,然后针对特定的硬件作一些定制,变成一个全新的产品。 

3、项目是后续的版本 

从外面转过来的版本是一个过渡的阶段,到了下一版就是一个完全独立来做的版本,加了很多大的功能,甚至架构也有一点改变。这个时候可能是5.0,6.0,7.0或者8.0了。 

4、全新的1.0的项目 

慢慢的,就有一些全新的项目开始做了,没有既有的客户,也不知道这个市场的客户接受度有多高,还有很多的东西都是全新和未知的。前一段离开做了几年的一个产品,开始转到一个全新的产品,发现有很多不一样的体验。 

产品有很多种,不过做哪一种不都是做嘛。确实,有时候也这么安慰自己,特别是遇到新的挑战的时候。不过实际上,还是会发现,有很多的技术和方法还是不一样的。下面从测试的角度列几个方面,供大家参考。
 
1、产品的成熟度 

测试的策略和方法很多时候要取决于产品的实际质量的状况。对于成熟的产品,也可能核心的模块并没有太大的改动,但是对新产品而言,可能核心的部分都不是很稳定。那么我们在考虑测试策略的时候就要想一想,我们是不是需要在很早期的时候针对核心的模块和功能开展测试,不仅是功能测试,还要做稳定性的测试,尽早的暴露问题。 

2、测试资产的积累

测试资产有很多,test case,手工测试工具,自动化的框架甚至可以跑的case等等。针对上面提到的几种情况,有些已经有了很多可以重用的工具和自动化的case,那么我们在developer刚交付产品的时候就开始验证产品的质量。对于测试人员的工作安排也很不一样,对于一个全新的项目,可能需要花很多的时间去讨论,设计和实现测试框架和组件,比如我最近的这个项目,当然有些部分也是可以考虑复用别的项目的。 

3、人员的成熟度 

在有些5.0,6.0的项目中,team里面多少都会有一些对产品和之前的测试工具和方法非常了解的team member,在这种境况下,可以很快的将很多东西build up起来。但是对于1.0的项目,一来可能新人比较多,二来大家都对要开发的产品或者领域了解有限,需要很多的时间和精力来学习相关的知识。对于新人来讲,还有很多基本的测试相关的知识和技能需要去学习,作为QA,这些东西是省不了的。 

4、整个team的默契程度 

这一点和前面提到的比较类似,越来越觉得,测试工作要很好的开展,必须和开发人员,还有外部的一些team非常紧密的合作。刚开始,还需要一些时间去熟悉,适应和磨合,慢慢的提高效率和默契。 

5、测试方法 

在 一些成熟的产品中,因为已经有了很好的积累,也是success story,所以很自然的,下一版还是会更大程度上采用之前的方法,当然,有些方面还是会有一些创新。但是对于新的项目,因为没有什么积累,所以也没有现成的时候这个项目的方法可以参考,所以也可以比较方便的尝试新的方法。 

写完了,发现还是写得蛮粗略的,确实,不结合实际的例子不太好说明,就先写成这样吧,权当是抛砖。 

想学习却无从下手,该如何学习?

这里我准备了对应上面的每个知识点的学习资料、可以自学神器,已经项目练手。

如果我的博客对你有帮助、如果你喜欢我的文章内容,请 “点赞” “评论” “收藏” 一键三连哦!

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

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

相关文章

爬虫反反爬

目录 为什么要反爬? 经常被反爬的主要人群 常见的反爬策略 通过headers字段来反爬 通过headers中的User-Agent字段来反爬 通过referer字段或者是其他字段来反爬 通过cookie来反爬 通过请求参数来反爬 通过从html静态文件中获取请求数据(github登录数据) 通…

【Go】vscode 安装go环境gopls失败

项目场景: 想要在VSCode安装go环境,但是gopls下载失败,导致vscode无法使用language server 问题描述 自动下载失败,在打开命令面板(CtrlshiftP)之后,输入go install/update 下载也失败 $ g…

并发编程 - Event Bus 设计模式

文章目录 Pre设计CodeBus接口自定义注解 Subscribe同步EventBus异步EventBusSubscriber注册表RegistryEvent广播Dispatcher 测试简单的Subscriber同步Event Bus异步Event Bus 小结 Pre 我们在日常的工作中,都会使用到MQ这种组件, 某subscriber在消息中间…

PillarNext论文解读

这篇文章是轻舟智航23年的一篇论文,是对pillarNet进行改进。 改进方面: 1.训练更长的时间在检测头增加IOU预测score,这个iou分数预测不太清楚,不知道是不是iouloss 2.扩大感受野,包括Neck部分使用FPN或者BiFPN.使用…

3.zabbix操作二

文章目录 zabbix操作二部署zabbix代理服务器安装zabbix_proxy安装数据库配置代理服务器配置文件web端添加agent代理并连接主机 部署zabbix高可用群集zabbix监控Windows系统zabbix监控java应用zabbix监控SNMP zabbix操作二 部署zabbix代理服务器 分布式监控的作用:…

Flink web UI配置账号密码,权限控制

由于Flink自带的web UI界面没有账号密码,需要通过nginx实现该效果。 1.安装httpd-tools工具 yum install httpd-tools -y 2.生成用户名密码文件 htpasswd -c /usr/local/nginx/conf/flinkuser username passwd flinkuser:为生成的用户名密码文件名称 …

Apache Doris (二十一) :Doris Rollup物化索引创建与操作

目录 1. 创建测试表 2. 创建Rollup物化索引表 3. 查看Rollup物化索引表 4. 删除Rollup物化索引表 5. 验证Rollup物化索引使用 进入正文之前,欢迎订阅专题、对博文点赞、评论、收藏,关注IT贫道,获取高质量博客内容! 宝子们点…

open3d 通过vscode+ssh连接远程服务器将可视化界面本地显示

当使用远程服务器时,我们希望能像在本地一样写完代码后能立刻出现一些gui窗口。但是目前网络上的资料都不能很好的解决这个问题。本文尝试尽可能简短地解决这个问题。 步骤 1、在服务器上安装open3d 已经非常简化了,可以使用一行代码完成 pip3 insta…

【Java从入门到大牛】方法详解

🔥 本文由 程序喵正在路上 原创,CSDN首发! 💖 系列专栏:Java从入门到大牛 🌠 首发时间:2023年7月9日 🦋 欢迎关注🖱点赞👍收藏🌟留言&#x1f43e…

【计算机组成与体系结构Ⅰ】实验7 IP核的使用、D触发器

一、实验目的 1:学会设计用IP核和原理图的方式设计电路,完成涉及1位数据的2选1多路选择器。 2:设计带异步置零和写使能端的D触发器。 二、实验环境 软件:Vivado 2015.4操作系统:Windows 10 三、实验内容 2.2.1 多路…

49天精通Java,第38天,类加载器,双亲委派机制

目录 一、类加载器子系统的作用1、加载2、链接3、初始化 二、验证【虚拟机必须保证一个类的<clinit>()方法在多线程下被同步加锁】的代码实例三、类加载器的分类1、启动类加载器&#xff08;引导类加载器&#xff09;2、扩展类加载器3、应用程序类加载器&#xff08;系统…

字典dict的get和setdefault,以及collections的defaultdict

一&#xff1a;dict的get和setdefault 首先&#xff0c;字典dict的get和setdefault的用法都是xxx(key, value)&#xff0c; 都是在字典中查找指定的键并返回值&#xff0c;当查找的key键在字典中存在时&#xff0c;两者作用相同。 参考&#xff1a;https://blog.csdn.net/any1…

「深度学习之优化算法」(十)烟花算法

1. 烟花算法简介 (以下描述,均不是学术用语,仅供大家快乐的阅读)   烟花算法(Firework Algorithm,FWA)是一种受烟花爆炸产生火星,并继续分裂爆炸这一过程启发而得出的算法。算法的思想简单,但具体实现复杂。算法提出时间并不长,但是已经有了不少的改进研究和较为全…

【动手学习深度学习--逐行代码解析合集】11实战Kaggle比赛:预测房价

【动手学习深度学习】逐行代码解析合集 11实战Kaggle比赛&#xff1a;预测房价 视频链接&#xff1a;动手学习深度学习–实战Kaggle比赛&#xff1a;预测房价 课程主页&#xff1a;https://courses.d2l.ai/zh-v2/ 教材&#xff1a;https://zh-v2.d2l.ai/ 1、下载和缓存数据集 …

【JavaEE初阶】JavaScript(WebAPI)

文章目录 1.WebAPI背景知识1.1什么是WebAPI1.2什么是API 2.DOM基本概念2.1什么是DOM2.2常用的DOMAPI2.2.1.选中页面元素2.2.2操作元素的属性1. 事件概念2.获取/修改元素内容3. 获取/修改元素属性4.获取/修改表单元素属性5.获取修改样式属性 2.2.3.操作页面节点1.新增节点2.删除…

关联数组不是线性表

百度百科给的关联数组的解释是&#xff1a; “关联数组”是一种具有特殊索引方式的数组。不仅可以通过整数来索引它&#xff0c;还可以使用字符串或者其他类型的值&#xff08;除了NULL&#xff09;来索引它。 关联数组类似于哈希表&#xff0c;有键-索引&#xff0c;它包含标量…

nunittest如何生成测试报告?我来告诉你

目录 HTMLTestRunner 小试牛刀 1、在unittest中编写测试用例 2、添加报告路径已经报告内容 3、批量执行用例&#xff0c;导入测试报告内容中 4、当然是赶快执行查看报告内容啊 4、添加用例注释&#xff0c;增加报告完整性 总结&#xff1a; 我们做测试的人员们都知道测…

【mysql】—— 数据库基础

序言&#xff1a; 在上期&#xff0c;我们已经安装好了【mysql】。在本期&#xff0c;我将给大家介绍关于数据库的基本知识。 目录 &#xff08;一&#xff09;登陆选项 &#xff08;二&#xff09;基本介绍 1、什么是数据库 2、主流数据库 3、见一见数据库 4、服务器管…

使用matplotlib画图时,建立双坐标轴

在进行数据的可视化分析时&#xff0c;可能我们分析的两个指标&#xff0c;他们的取值区间相差很大&#xff0c;如果采用一个y轴&#xff0c;就不利于我们观察另一个指标。所以&#xff0c;记录一下我在项目的处理过程中采用的方法&#xff1a; 首先观察一下&#xff0c;我用到…