为什么做测试既要懂开发又要懂产品?这3点看完,你就懂了!

news2024/11/24 7:22:50

本篇讨论的是什么呢?何谓一个真正的测试?

纯粹是个人的理解,仅供参考。

● 论一个真正的软件测试工程师

● 自动化在项目中的应用

● 性能专项在项目中的应用

半个产品、半个开发

有人觉得这个标题有点讽刺,真正的测试?难道我们不是真正的测试,平常做的都不是测试的工作吗?其实不肯定也不否定,但这是一个包含关系,如果只是评审+用例编写执行,那么确实不是一个真正的测试。

半个产品,主要体现在理解这个需求为什么要做?其核心价值在哪里?吸引用户的特点是什么?

意味着在评审阶段,你除了帮助完善功能需求外,更重要的是理解这个需求对于用户有什么价值。你是用户你会怎么想有什么感受,不能简单的走完流程就可以了。

比如一个播放视频类应用, 多样性、 流畅度 、简易性 、快速性等,这是在评审之后可以总结出来的。

那么抱着这个价值点,围绕这我们的整个测试流程,往往能够发现不一样的地方。

如还是播放类应用,在了解个特性后,在测试过程中会需要更加留意播放方面的性能,以及兼容性。在设计测试方案的时候就会标明这几个测试重点,以便自己或者组员能够在测试过程中多加留意这部分的测试点。

然后在设计测试用例的时候会提高优先级和覆盖率。可以发现,测试有了测重点。

半个开发,其实个人认为这是偏向于灰盒测试了。体现在一个需求,你除了要明确这个需求的业务逻辑,其代码逻辑(数据流逻辑)也是需要知道的。

从后台获取的json数据结构到客户端展示再到存储至本地数据,这一个流向,都是需要去了解并测试的(这部分参照之前写的测试分析文章)。

所以测试验证的不仅仅是功能层面的东西,还是内部的具体实现(当然,具体到类方法的测试那是测试开发的职能,不关咱测试的事)。

我们要保证的,就是这一阶段数据的正确性和容错性。

这样做的好处是,能从内部发现缺陷,在出现问题的时候可以大概定位到问题出在哪,在出问题面对boss的质疑能够把责任丢给开发,哦不,是更好的解决问题。

那么半个开发还体现在对工具效率的提升上,能够通过小脚本,小框架去提升测试效率,这要求对于基本的语言要求是必须的,大公司面试的某一轮考验的就是你的代码能力,所以测试还是半个开发这一点是毋庸置疑滴。

职能范围

● 评审

● 测试方案的确立

● 用例的编写维护

● 技术点的分享

● BUG提交和总结

● 输出测试报告

● 集成测试

● 发布版本

● 论坛/其他渠道收集反馈

● 服务器性能测试

● APP性能测试

● 网页前端性能

● 编写自动化脚本

其实就现在而言,目前的工作流程是这样的(当然是以一个版本迭代为周期):

评审新需求,记录关键点–>编写测试点(用例)–>测试之前向开发了解部分实现–>执行测试(翻阅代码,查看主逻辑走向<可选>)–>提交BUG–>回归BUG(查看BUG代码改动)–>新需求的性能评估(可选)–>发布前的系统测试(结合自动化)–>发布–>自动化用例的补充(可选)–>业务逻辑总结归总–>休息

那么基本流程就是这样了,可以看到一个项目组的正真的测试人员,是要完成这么多工作的,所以这也是用来区分手工的外包人员和正式员工的区别,外包怎么样,大家都知道。

  • 补充:

窃取某个大神的关于时间安排

时间   工作内容

30%   评审用例维护等准备以及后期工作

20%   执行测试用例,BUG回归

50%   自动化 &新技术学习,引入 !

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

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

 

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

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

相关文章

关于RestTemplate postForObject方法请求 服务端Controller接受不到值的问题解决

本文适合有SSM框架基础和springboot开发基础的同学查阅 这里postForObject 方法有三个参数&#xff0c;没有使用四个参数的。 restTemplate.postForObject(String url, Object request, Class<T> responseType); 1.String url > 顾名思义 这个参数是请求的url路径。…

Spring面试题10:Spring的XMLBeanFactory怎么使用

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:Spring的XMLBeanFactory怎么使用 XmlBeanFactory是Spring框架中的一个实现类,它是BeanFactory接口的一个具体实现。XmlBeanFactory的主要作用是通…

【C语言】指针经典笔试题(上)

C语言的一大重头戏就是指针。 对于指针有一些认识&#xff1a; 1.指针是存放变量的地址&#xff0c;一般说的指针和指针变量是一个概念。 2.地址的单位是字节&#xff0c;大小在不同编译器环境下有所不同&#xff0c;32位机器是4个字节&#xff0c;64位机器是8个字节。 3.数组名…

伪原创文章生成器软件的崛起-哪个伪原创文章生成器软件好?

在当今数字化的时代&#xff0c;内容创作已经成为了无处不在的需求。不论您是个人博主、企业家还是网站管理员&#xff0c;都会面临一个共同的挑战&#xff1a;如何在互联网上脱颖而出&#xff0c;吸引更多的读者和访客。 gpt批量图文改写润色软件-147SEO gpt批量图文改写润色…

IP地址欺骗的危害与后果

IP地址欺骗&#xff0c;也被称为IP地址伪装或IP地址欺诈&#xff0c;是一种网络攻击技术&#xff0c;旨在伪装或隐藏攻击者的真实IP地址。尽管这种技术可能有一些合法的用途&#xff0c;例如保护用户的隐私或绕过地理位置限制&#xff0c;但它也经常被恶意黑客用于不法行为。本…

Linux第一次作业

一&#xff0c;作业问题&#xff1a; 二&#xff0c;问题解答&#xff1a; 1. 2.文件管理命令练习 3.vi/vim练习 3.1 3.2 3.3 3.4

03【深度学习】YOLOV3-WIN11环境搭建(配置+训练)

一、深度学习&#xff1a;YOLOV3-WIN11环境搭建 本篇文字是【深度学习】YOLOV5-WIN11环境搭建&#xff08;配置训练)&#xff0c;首先介绍win11下 基于Anaconda、pytorch的YOLOV5深度学习环境搭建&#xff0c;环境配置顺序&#xff1a;显卡驱动 - CUDA - cudnn - Anaconda - py…

【Linux成长史】Linux编辑器-gcc/g++使用

&#x1f3ac; 博客主页&#xff1a;博主链接 &#x1f3a5; 本文由 M malloc 原创&#xff0c;首发于 CSDN&#x1f649; &#x1f384; 学习专栏推荐&#xff1a;LeetCode刷题集 数据库专栏 初阶数据结构 &#x1f3c5; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如…

Tessy 5.0.4

Tessy 5.0.4 Linux 2692407267qq.com&#xff0c;更多内容请见http://user.qzone.qq.com/2692407267/

改写句子软件有哪些?改写句子软件排行榜

什么是改写句子软件?这些软件是基于自然语言处理技术的应用&#xff0c;它们可以接受一段文字&#xff0c;并将其重新表达成具有相同或类似意义的内容&#xff0c;但使用不同的词汇和结构。改写句子软件的出现&#xff0c;使得在不改变原始含义的情况下&#xff0c;能够更轻松…

MFC 如何调用wkhtmltopdf实现html转换pdf

一、wkhtmltopdf下载 1、wkhtmltopdf官网&#xff1a;https://wkhtmltopdf.org/ 2、我的资源里面下载&#xff1a;https://download.csdn.net/download/my_angle2016/88368461?spm1001.2014.3001.5503 二、wkhtmltopdf安装 1、双击wkhtmltox-0.12.6-1.msvc2015-win32.exe&…

人工智能的前世今生与未来

人工智能的前世今生与未来 一、 什么是人工智能二、人工智能的前世三、人工智能的今生四、人工智能的未来 一、 什么是人工智能 人工智能&#xff08;Artificial Intelligence&#xff0c;简称AI&#xff09;是指一种模拟人类智能行为的科学与技术。 人工智能通过计算机系统进…

华为云云耀云服务器L实例评测|netdata的部署与应用

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂 看这里 前言何为netdata安装 前言 前两天&#xff0c;给大家介绍了下关于使用华为云云耀云服务器L实例做了几个案例应用&#xff0c;分别为&#xff1a; 华为云云耀云服务器L实例评测|一个…

【无标题】C语言学习笔记5--循环结构和选择结构

5.1 运算符和运算符 5.1.1逻辑运算发 运算符说明结核性举例&&与运算&#xff0c;双目&#xff0c;对应数学中的“且”左结合1&&0、(9>3)&&(b>a与运算&#xff0c;双目&#xff0c;对应数学中的“且”左结合1!非运算&#xff0c;单目&#xff0…

你知道 delete 删除属性时的一些细节吗?

探究 delete 的一些细节&#xff0c;起源于刚刚做过的一道笔试&#xff0c;原题如下&#xff1a; a 1; const b 2; console.log(delete a); console.log(delete b); // 输出结果是&#xff1f; // 答&#xff1a;true false我可从来没用过 delete 的返回值&#xff0c;但凡…

Reat 中的 useImperativeHandle 钩子函数

通过例子说明 ref 的不足 当我们需要调用子组件中的方法时&#xff0c;我们都是考虑使用useRef来调用子组件的方法&#xff0c;具体的示例代码如下&#xff1a; // 父级组件 const UseImperativeHandleDemo: React.FC () > {const inputRef useRef<HTMLInputElement&…

Linux忘记密码

在虚拟机安装了centOS7&#xff0c;但是忘记了root密码&#xff0c;登录的时候发现登录不上了&#xff0c;然后重新修改密码。 1、重启虚拟机 2、进入到该页面之后&#xff0c;选中第一个&#xff08;高亮显示即为选中&#xff09;选项&#xff0c;然后按下键盘的“E”键 3…

每日一题 1993. 树上的操作

难度&#xff1a;中等 思路&#xff1a; 首先为了更好的访问每个节点的子节点&#xff0c;我们创建一个字典来表示key节点下的所有子节点&#xff0c;其次上锁&#xff0c;解锁不用多说升级过程&#xff0c;对于条件一和三可以理解为同一个&#xff0c;即包括它本身在内的所有…

基于springboot+vue的大学生竞赛交流系统(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…

人工智能机器学习-飞桨神经网络与深度学习

飞桨神经网络与深度学习-机器学习 目录 飞桨神经网络与深度学习-机器学习 1.机器学习概述 2.机器学习实践五要素 2.1.数据 2.2.模型 2.3.学习准则 2.4.优化算法 2.5.评估标准 3.实现简单的线性回归模型 3.1.数据集构建 3.2.模型构建 3.3.损失函数 3.4.模型优化 3…