揭秘测试工程师的6大必备技能!你也常遇到这个问题吗?

作为一名Tester,无论是面试还是工作,我们都常常会遇到该问题,毕竟现在大部分接手的项目都是中小型的项目,很多又是生疏行业的系统,所以这个问题就会常常伴随我们,那么遇到这个问题该怎么办呢,现在我们就分下面6点来讨论一下。

1.了解测试任务

我看网上有些博主一上来就让大家看资料了解系统,就是下面讲的第二点,当然这样做也行,但是会导致效率低下,就像我们上学时做阅读理解一样,最正确的做法应该是带着问题去看资料,所以我们应该一上来明确测试任务,然后带着这些测试任务的问题去看资料。

2.从现有资料中获取信息

明确测试任务后,就可以问研发团队要该项目的所有资料了,这里面主要包括产品需求文档(PRD)、用户手册和架构图等,找出系统具备的功能、性能、安全等特性。说到这可能有些同学就真的会老实地把这些资料全部从头到尾看完,这样可取吗?可以这样做,但是不推荐,原因有两点,其一这样会花费大把的时间,如果遇到项目比较赶那怎么办?另外就是资料内容那么多,全看完你能记得住?所以我这边强调的做法是,一定要从项目经理或产品人员那里弄清该系统的主要功能和主要业务,先把大头拎出来,做到主次区分!是不是更像阅读理解了?哈哈。

3.制定合理的测试计划

接下来我们就要制定一个稍微详细点的测试计划,注意我说的是“稍微”,因为这个时候对系统还是比较生疏的,也只能做到“稍微”,等后面谈到的几点做完再做正式测试计划。那么这里的测试计划要明确测试的目标、范围、方法、重点事项、测试策略和时间表(在这里暂且不用太多考虑人员组织、测试风险、延期之类的)。该测试计划只是用来进行初步测试的,尽量覆盖系统的各方面就行。

4.进行探索性测试

我知道很多测试工程师一上来就是做这步,然后边做边去完成前面几点,这种做法看起来迅速,其实会导致效率降低,常言道“磨刀不误砍柴工”,我们还是一步一个脚印有条不紊地测试系统才能尽可能漏测。好言归正传,怎么进行探索性测试呢,一般人的做法就是把一些主要功能点验证一下就完事了,比如登录、注册、输入、输出、提交等。诚然,这些是必做项,但我们所要做的远不止此。这些仅仅是功能测试领域的一些常规操作,我们还有很多项需要去检查:

在做功能测试我们要顺带做业务(逻辑)测试,如果主流程都跑不通,那么功能再正常有什么用?一旦发现主流程有问题,最好还是打回重做!

其次是异常(如边界)测试,别小看这项,在我们做测试时,发现一个系统的初始版本最容易出现的问题就是边界异常,所以这里就是我们探索性测试的二八原则里的二,甚至可以说是“二”里面最值得关注的。

然后是兼容性测试,如果用户没有指定浏览器就要支持主流的浏览器),如果用户指定了浏览器那么只需要关注那些浏览器即可。

然后是性能测试,看用户的性能要求,如果没有性能要求则自己评估要达到的最低性能。即使项目没有明确提出性能要求,我们也要做最起码得把关,否则到时候性能出了问题赖到我们头上也好自证清白。

最后还要兼顾一下安全测试,比如对于一些常见的如SQL注入、跨站请求伪造(CSRF)、跨站点脚本(XSS)。

测试过程中,要记录所有发现的问题,并生成详细的测试报告,这样可以清晰地概述测试结果、解决方案和问题的优先级。

5.进行迭代测试

根据上面测试得到的结果对原先制定的测试计划进行调整,这个时候就要制定正式的测试计划,在探索性测试的基础上看看是否有漏测,记录之前发现的疑问和风险,再次明确测试的重点,优先级,然后在开始正式对系统测试。

6.多和研发团队中成员沟通

软件研发需要团队协作,切忌孤军奋战,虽然测试的展开主要靠自己,但是一旦遇到问题,还是要及时与产品、研发保持沟通,及时告知领导测试进度和测试过程遇到的问题,这样有助于促进问题的解决。千万不要觉得自己是测试,就为了树立非常专业的形象而羞于开口请教,这样是得不偿失的,作为过来人,我是有过好几次这样的经历的。当然还是那句话,可以请教但是最好是真的搞不懂再去,不要一遇到问题就问别人,这样只会招人烦。

实战

说了这么多,可能有小伙伴会说来个实际案例更直观,行那就直接来个实战项目。现在假设领导给我们一个政务OA系统,比如这边拿公考的网站作为例子,你该怎么展开测试呢?可能你以前只是测过一些电商平台,那么拿到政务类OA系统该咋办?

好的,那就按照我们上面提到的步骤操作一遍吧。

1.要搞清此次测试的任务是什么,比如该OA系统客户是想要重点关注什么,需要保障哪些方面的功能实现?

2.我们就该问研发团队要资料了,拿到PRD、用户手册及架构图,把主要功能和业务拎出来;

比如该网站据了解是考生登录以后报名心仪的岗位,通过填写个人基本信息,上传免冠照片及缴费完成报名流程,所以这里的主要功能就是考生的登录——填报——上传个人照片——缴费——提交等功能,这些功能串成的便是主干业务流程,这就是我们前期要特别关注的测试面。

3.制定合理的测试计划,这里的测试计划可以是“粗”一点的,明确此次测试的目标、范围、方法、重点事项、测试策略和时间表;

4.进行探索性测试,这个能做的就多了,大家可以翻看到前面所列举的探索性测试项,这边仅就登录页面示范,光登录就可以进行账户和密码的组合验证;

光这边的黄圈内的测试组合就有很多种

登录该网站后,可以看到该网站还算是比较简洁的,主要的类目都列在左侧,像该系统甲方还是很看重诸如“简历管理”这样的板块的,所以在探索性测试时就要对该板块进行详细的测试。当然除了这些主要的版本,要在条件允许的情况,也要将次要的部分进行测试,因为这边的探索性测试涉及面太细,所以就不一一列举了,大家明白意思就行。

5.进行迭代测试,就是根据前面测得的结果再调整原先的测试计划,使之趋于完善,然后更加全面地对系统展开测试,弥补前面探索性测试的漏测,然后看情况确定测试几轮。

6.多和研发团队成员沟通,这点我觉得大家不用说也知道去执行,但一定要掌握好请教别人的时机和频率。

以上只是拿一个简单的事业单位报名系统举例,当然受制于篇幅只能点到为止啦,相信大家在测试的过程会逐渐将我提到的这一系列操作步骤强化记忆。

总结

在测试陌生系统时,综合运用学习、沟通、规划、探索、执行等策略,有助于确保测试的顺利进行。灵活性、沟通和坚持学习的态度是成功测试的关键。特别是对于萌新,千万别害怕,经历过几次就好了,但要在每次的测试历练中总结经验,这样以后拿到陌生系统时,测试的效率和质量就会越来越高!

文末了:

可以到我的个人号:atstudy-js,可以免费领取一份10G软件测试工程师面试宝典文档资料。同时我邀请你进入我们的软件测试学习交流平台,大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,了解测试行业的最新趋势,助你快速进阶Python自动化测试/测试开发,稳住当前职位同时走向高薪之路。

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

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

相关文章

淘宝1688京东商品采集API接口系列,item_get-获得淘宝商品详情

请求示例,API接口接入Anzexi58 商品采集API接口系列 商品搜索API: 功能:根据关键词、分类、价格范围等条件搜索商品。参数:关键词、分类ID、价格范围、品牌等。返回:商品列表,包括商品ID、名称、价格、图片…

【C++练级之路】【Lv.10】【STL】priority_queue类和反向迭代器的模拟实现

快乐的流畅:个人主页 个人专栏:《C语言》《数据结构世界》《进击的C》 远方有一堆篝火,在为久候之人燃烧! 文章目录 一、仿函数1.1 仿函数的介绍1.2 仿函数的优势 二、priority_queue2.1 push2.2 pop2.3 top2.4 size2.5 empty 三、…

[Java 探索之路~大数据篇] 新时代大数据流处理入门指南

本文主要介绍大数据基础,以及 flink 流计算 文章目录 【基础知识】1. 批处理与流处理1.批处理2.流处理 2. 为什么需要一个优秀的流处理框架1. 股票交易的业务场景2.生产者——消费者模型3. 流处理框架要解决的诸多问题(1)可扩展性&#xff08…

自定义View中的ListView和ScrollView嵌套的问题

当我们在使用到ScrollView和ListView的时候可能会出现显示不全的问题。那我们可以进行以下分析 ScrollView在测量子布局的时候会用UNSPECIFIED。通过源码观察, 在ScrollView的onMeasure方法中 Overrideprotected void onMeasure(int widthMeasureSpec, int heightMe…

C++ 类的大小 原理+详细计算示例

大小的组成 类的大小受:基类,成员,虚基表指针,虚函数表指针 影响。 计算方式 需要按照下列要素对齐和规则计算对齐: 对齐要素 编译器默认对齐数 根据环境改变,一般32位为4,64位为8。 有效…

KMP算法模板

KMP算法模板 自用,相关题解参考

电瓶车充电安全谈|南京小区15死44伤火灾背后的思考

今年2月23日,南京雨花台区明尚西苑居民楼发生了一起重大火灾事故,在事故中,共有59人受到不同程度的伤害,遇难的有15人,另有44人在医院接受治疗。 南京雨花台区火灾的发生无疑是一场令人痛心的悲剧,这场事故…

如何在 Linux 中快速清空文件而不删除它们?

在Linux系统中,清空文件而不删除它们是一种常见的需求,特别是在需要保留文件结构或权限的情况下。本文将详细介绍如何在Linux环境中快速清空文件内容的多种方法,以及每种方法的优缺点。清空文件通常涉及到文件内容的擦除,但并不涉…

【MySQL】事务管理 -- 详解

一、前言 CURD 不加控制,会有什么问题? CURD 满足什么属性,能解决上述问题? 买票的过程得是原子的。买票应该不能受互相的影响。买完票应该要永久有效。买前和买后都要是确定的状态。 什么是事务? 事务就是一组 DML…

DCTNet

DCTNet http://giantpandacv.com/academic/%E7%AE%97%E6%B3%95%E7%A7%91%E6%99%AE/%E9%A2%91%E5%9F%9F%E4%B8%AD%E7%9A%84CNN/CVPR%202020%20%E5%9C%A8%E9%A2%91%E5%9F%9F%E4%B8%AD%E5%AD%A6%E4%B9%A0%E7%9A%84DCTNet/ 一个对输入图像进行频域转换和选择的方法,达到…

Timeout while connecting to “172.168.252.245:161

Timeout while connecting to “172.168.252.245:161” 现象 排查过程 交换机型号H3C,交换机采用SNMPV3协议对接zabbix,交换机配置如下 snmp-agent sys-info version all snmp-agent group v3 zabbix_group privacy read-view isoview snmp-agent …

本地安装部署Flask并结合内网穿透实现远程访问本地web界面

文章目录 1. 安装部署Flask2. 安装Cpolar内网穿透3. 配置Flask的web界面公网访问地址4. 公网远程访问Flask的web界面 本篇文章主要讲解如何在本地安装Flask,以及如何将其web界面发布到公网进行远程访问。 Flask是目前十分流行的web框架,采用Python编程语…

windows下的反调试探究——调用API

NtGlobalFlag 在 32 位机器上,NtGlobalFlag字段位于PEB的0x68的偏移处,64 位机器则是在偏移0xBC位置,该字段的默认值为 0。当调试器正在运行时,该字段会被设置为一个特定的值 该字段包含有一系列的标志位,由调试器创…

(学习日记)2024.03.02:UCOSIII第四节:创建任务

写在前面: 由于时间的不足与学习的碎片化,写博客变得有些奢侈。 但是对于记录学习(忘了以后能快速复习)的渴望一天天变得强烈。 既然如此 不如以天为单位,以时间为顺序,仅仅将博客当做一个知识学习的目录&a…

【MySQL 系列】在 Windows 上安装 MySQL

在 Windows 平台上安装 MySQL 很简单,并不需要太复杂的步骤。按照本文的步骤操练起来就可以了。 文章目录 1、下载 MySQL 安装程序2、安装 MySQL 数据库2.1、选择安装类型2.2、检查所需组件2.3、安装所选产品组件2.4、产品配置2.5、配置高可用性2.6、配置服务器类型…

UDP协议和TCP协议详解

文章目录 应用层自定义协议 传输层udp协议TCP协议1.确认应答2.超时重传3.连接管理建立连接, 三次握手断开连接, 四次挥手tcp的状态 4.滑动窗口5.流量控制6.拥塞控制7.延时应答8.携带应答9.面向字节流10.异常情况 应用层 自定义协议 客户端和服务器之间往往要进行交互的是“结构…

网络工程师笔记8

华为VRP系统 设备管理方式 web管理方式 命令行管理方式 修改命令:undo 基础配置命令

学习python时一些笔记

1、winr 命令提示符的快捷键 输入cmd进入终端 2、在终端运行桌面上的python文件 cd desktop(桌面) cd是进入该文件夹的意思。 cd .. 回到上一级 运行python时一定要找到文件的所在地 输入python进入,exit()退出%s字符串占位符%d数字占位符%f浮点数占位符input输…

【Python】变量的引用

🚩 WRITE IN FRONT 🚩 🔎 介绍:"謓泽"正在路上朝着"攻城狮"方向"前进四" 🔎🏅 荣誉:2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2222年获评…