如何像优秀测试人员那样思考?

news2024/11/23 12:40:07

优秀测试和普通测试之间的差别在于测试人员如何思考:测试人员的测试设计选择,解释所观察到的能力,以及非常令人信服地分析描述这些现象的能力。

然而,在实际工作中,我们更多的看到了测试人员在电脑前点点点,或者拿着手机在办公区域边走边操作着,看到他们的这些行为,自然而然的就觉得他们的工作其实很容易,很简单,因为可以很容易的模仿测试人员的外表,看到的他们的行为,但却很难理解到他们的思考方式。对于测试人员是否优秀恰恰不在于他们的工作表象,而在于他们的思考方式,那么优秀的测试人员和普通的测试人员思考方式到底有哪些不同呢?

如何向优秀测试人员那样思考?

在《软件测试经验与教训》一书中,作者描述优秀测试工程师会进行技术性、创造性、批判性和实用性的思考。

技术性思考:对技术建模,并理解因果关系的能力,这包括相关技术本身的知识和使用工具并预测系统行为的能力。

比如对于移动端PUSH,需要了解到PUSH的一般的技术实现方式,如:操作系统本身提供的消息通道;长链接方式实现的消息技术架构;第三方提供的消息方式,如信鸽等等,这些技术的优缺点,测试时应该关注那些东西,每个技术本身可能存在的问题等。

创造性思考:产生思想并看到可能性的能力,测试人员只能以能够想象的到的方式进行测试,只能寻找并猜想会存在的问题。

去年年中,为了提高Android push消息的触达率,push消息推送更换了一套利用长连接的推送push的方案。该方案上线几天后,发现曝光数据有问题。

后经过开发测试发现,该问题因为引入Android客户端长连接保活机制导致,长连接使用了Android像素保活,为了实现保活机制,需要点亮屏幕界面(人肉眼看不到),点亮屏幕界面就会触发曝光数据,引发线上曝光数据异常。 

后来思考这个问题,如果仅仅从测试的角度这个问题几乎很难被发现,但如果我们了解了长链接的技术实现原理,然后结果数据曝光的机制,就很容易发现这个缺陷。

批判性思考:评估思想并进行推断的能力。这包括在自己的思考中发现并消除错误的能力,将产品观察与质量准则关联起来的能力,以及针对特定信念或所建议的行动过程构建有说服力的测试用例的能力。
对已知事件或者正在发生的事件根据经验、数据、事件、规则、程序等进行分析评估推论出与已知不相符的结果。

在N年前组织的一次线下沙龙过程中,发现投影仪一直不亮,感觉可能是投影仪的问题。然而在不断的测试开机关机中,偶然发现一道亮光一闪而过,猜测这道光可能是投影仪发出来的,进而进行不断测试,后来发现原来是投屏的问题,而不是投影仪的问题。

实用性的思考:把想法付诸实施的能力,这种能力包括运用测试工具,并使用测试手段和力量与测试范围适应技能。 

总之像优秀测试人员那样思考,不会是我们所看到到那样点点点的做测试,而是能够不断拓展思考的维度与深度,当测试以最具有破坏性的方式失败时,根本原因可能是我们的视野狭窄导致的。所以测试人员在让自己变得优秀或者卓越,除了学习业务知识、技术知识,还要不断练习和培养思考方式。

实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。

如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步

在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。

我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,

测试开发视频教程、学习笔记领取传送门!!

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

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

相关文章

文件批量改名:轻松批量重命名快手素材文件,提高工作效率

文件名太长,文件太多有什么办法可以一键改名呢? 在日常繁琐的工作中,我们经常需要整理大量的文件,而为了更高效地管理和快速查找,对文件进行重命名显得尤为关键。然而,传统的手动逐个重命名方式不仅耗时&a…

算法学习打卡day41|栈和队列:栈和队列相互实现、括号匹配、逆波兰表达式、滑动窗口最大值问题、求前 K 个高频元素

栈和队列相互实现 力扣题目链接:用栈实现队列、用队列实现栈 题目描述: 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(…

2 任务2: 使用趋动云GPU进行猫狗识别实践

使用趋动云GPU进行猫狗识别实践 1 创建项目2 初始化开发环境3 调试代码4 提交离线任务5 结果集存储与下载 使用趋动云提供的免费GPU,进行猫狗识别实践。 虽然例程里面提供的是基于tensorflow的,但是你也可以使用pytorch的代码 使用这个平台的一个优点就是…

1-前端基本知识-CSS

1-前端基本知识-CSS 文章目录 1-前端基本知识-CSS总体概述什么是CSS?CSS引入方式行内式内嵌式连接式/外部样式表 CSS选择器元素选择器id选择器class选择器(使用较广) CSS浮动CSS定位静态定位:static绝对定位:absolute相…

“精准分割视频,误差降低至零——视频剪辑的新革命!”

在数字媒体的时代,视频剪辑已经成为我们日常生活和工作中不可或缺的一部分。无论是制作一部电影、剪辑一个纪录片,还是编辑一个家庭视频,我们都需要一个精准、高效的视频剪辑工具。今天,我们向您推荐一款全新的视频剪辑软件——精…

[NLP] 使用Llama.cpp和LangChain在CPU上使用大模型

一 准备工作 下面是构建这个应用程序时将使用的软件工具: 1.Llama-cpp-python 下载llama-cpp, llama-cpp-python [NLP] Llama2模型运行在Mac机器-CSDN博客 2、LangChain LangChain是一个提供了一组广泛的集成和数据连接器,允许我们链接和编排不同的模块。可以常…

关于卷积神经网络的步幅(stride)

认识步幅(stride) 卷积核从输入数组的最左上方开始,按从左往右、从上往下的顺序,依次在输入数组上滑动,我们将每次滑动的行数和列数称为步幅。 计算步幅 假设输入的形状n∗n,卷积核的形状为f∗f&#xff0…

域渗透06-协议(NTLM hash利用)

前言: 当我们获取到一台域内主机打算干什么,毫无疑问当然是拿域控,如果域控未发现漏洞应该怎么办,首先我们需要查看我们拿到主机的权限和在域中的组,如果本机权限够我们就需要利用工具抓取本机的hash,然后…

HCIE-CCE

1、创建集群 svc网络,10.247 pod网络,10.244 节点网络,192.168.66(master和node一致) 2、创建节点 上面集群选择了最新版本1.27,CCE从1.27版本开始不再支持docker容器引擎,仅支持containered&…

渗透实战靶机3wp

0x00 简介 目标IP:xxxx.95 测试IP:xxxx.96 测试环境:win10、kali等 测试时间:2021.7.23-2021.7.26 测试人员:ruanruan 0x01 信息收集 1、端口扫描 21,ftp,ProFTPD,1.3.3c22&a…

Oracle 安装及 Spring 使用 Oracle

参考内容: docker安装oracle数据库史上最全步骤(带图文) Mac下oracle数据库客户端 Docker安装Oracle docker能安装oracle吗 Batch script for add a auto-increased primary key for exist table with records Docker 安装 Oracle11g 注意&a…

基于单片机的甲醛检测器设计

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 技术交流认准下方 CSDN 官方提供的联系方式 文章目录 概要 一、设计的主要内容二、系统硬件设计三、软件设计4.1 程序结构流程图原理图 四、结论五、 文章目录 概要 本文将要提…

餐饮软件开发价格受到需求的影响!

随着科技的进步和互联网的普及,餐饮行业也逐渐实现了数字化转型,越来越多的餐厅开始引入餐饮软件来提升服务质量、提高效率、拓展销售渠道等。 而对于许多初创餐厅或餐饮企业来说,开发一款适合自己的餐饮软件的价格一直是他们关注的焦点&…

NtripShare Caster高精度定位CORS服务软件

NtripShare CORS是NtripShare GNSS系列软件中最早的软件系统,也是NtripShare名称的起源。 所谓GNSS CORS服务系统一般构成: 1)基准站网:由若干个分布合理的GNSS 基准站组成; 2)数据传输系统:…

基于springboot垃圾分类管理系统

基于springboot垃圾分类管理系统 摘要 垃圾分类管理系统是一个基于现代技术和数据管理方法的解决方案,旨在协助城市和社区更有效地管理垃圾分类。在这个系统中,Spring Boot框架充当了后端应用程序的构建工具,为其提供了高度灵活的特性。该系统…

运算符与运算表达式

运算符的结合性和优先级: 结合性: 所有的单目运算符、条件运算符、赋值运算符及扩展运算符,结合方向都是从右向左,其余运算符的结合方向是从左向右。 优先级: 初等运算符>单目运算符>算数运算符(…

卡牌游戏类型定制开发微信卡牌小程序游戏

卡牌类型的游戏开发具有一些独特的特点和挑战,以下是一些主要的特点: 卡牌设计和平衡:卡牌游戏的核心是卡牌设计和平衡。开发团队需要设计各种卡牌,确保它们在游戏中相互平衡,以便提供有趣的游戏体验。卡牌的特性、效…

UE5 新特性 Nanite 开启

啥也不说,只能说,真的牛,在自己的项目上,从10几20的帧数,直接彪到了70 适用场景: 大场景,三角面足够多 在Project Setting里面 将这几个勾未true 勾上这个,放入场景即可

小程序如何设置自取模式下的服务方式

设置自取模式下的服务方式是非常重要的,尤其是对于到店自取和到店堂食这两种不同的服务模式。下面我们就来介绍一下如何在小程序中设置这两种服务方式。 在小程序管理员后台->配送设置处,在服务方式处,设置自取情况下的服务方式。默认是&…

变量环境、变量提升和暂时性死区

JavaScript中的提升 在JavaScript中,“Hoisting”(提升)是一种特性,它将变量和函数的声明移动到作用域的顶部。这意味着可以在声明之前使用这些变量和函数,而不会报错。 当JavaScript代码执行时,会经过两个…