作为一名软件测试工程师,需要具备哪些能力?


风晓
风晓 2023-12-29 13:24:01 49242
分类专栏: 资讯

专业是计算机信息系统和信息管理,大四在一家事业单位(就不说名字了)实习做Android开发的,等我快毕业的时候,单位明确告诉我不会转正。当然了,我是很清楚的,没有背景,也没有关系,学历也只是本科,想要进去还是很难得。但是也有一丝丝的沮丧,但也就是一点。

大学毕业后,我找了一个互联网公司,开始了我的Android应用开发之路,也就是半年的时间,公司业务扩展比较快,APP的用户量变得比较大了,APP的一些问题开始凸显出来,公司就准备招聘测试。而且要求还挺高的,但是还是要有公司内容的老人去带着业务、讲技术什么的,那时候这个活就交给我了:我当时就很纳闷,我自己也不会啊,怎么教别人带别人啊?出于要完成领导交给我带新人的任务,于是乎我自己就开始研究测试方法和理论。新人不会写测试用例、也不会写缺陷报告,会干啥呢?就会操作计算机!

于是我就从我的做银行测试的朋友哪里取经,问他们工作流程、工作标准。然后再复用到我自己的公司,后来领导验收工作,这个新人倒也没有揽功,就说了是我指导的,然后我们领导就让我专职负责带领测试了,我的开发之路就变成了测试之路。

熟练使用各种测试工具

作为测试工程师呢,除了会基本的测试需求分析、测试用例编写、缺陷报告编写等工作之外呢,还得会用很多的测试工具。

  1. APP测试工具
    因为我就是做APP开发的,所以经常的要使用adb命令和monkey命令对APP进行测试,查看APP运行的日志、运行状态。
    尤其是这个过程中,会在APP的界面上做一个小功能,显示APP运行时的一些基本信息和状态和运行报错的信息,直接用adb命令导出。
    其他的就很少用了,可能有网友要问,不做APP的功能自动化测试么?说实话,当时真没有。现在可能会有用到像appium、airtest等。
  1. 抓包工具
    抓包工具真的是非常重要的测试工具了,像查看APP和服务器之间的数据传输、查看浏览器网页和服务器的数据传输,都得用它。
    一般的常用Fiddler、Charles等专门的抓包工具,有时候不需要特别处理的抓包时,都会用谷歌浏览器、火狐浏览器的F12——开发者模式,也是相当不错的选择呢。


有小伙伴可能会问,抓包干啥!那肯定是看数据传没传以及传的对不对、传的安全不安全啦。

  1. 接口测试工具
    一般的,接口测试做的不多,因为接口变动并不是很大,多的都是前端调用接口。所以这里面的话呢,像Postman用的会多一些,其他的,JMeter在接口这块儿我以前用的真不多,毕竟人家JMeter是明摆的性能测试工具啊。


用Postman做接口测试的时候呢,操作起来也是毫无压力的,就那么几个单词,就像操作其他软件一样的,也是很简单的。而且测试一次之后,很久才需要进行再一次测试,因为接口基本不变的。

  1. 性能测试工具

这个也是领导要求用的,说是要抵御促销活动的大量的数据访问、防止高并发导致系统服务崩溃,虽然我嘴上没说,但是系统有几个人、促销活动能吸引多少人,我还是有数的,可能全公司人都有数,就他没数(也可能是故意的)。

我就开始研究性能测试工具了。和领导协商用Loadrunner,他说太贵了。

然后就选了最常用的JMeter了,开源,免费,好用。就是需要配个Java开发环境。剩下的其他的就没那么费劲了。内置的模块也是够用的。

AI工具用于测试使用

随着AI内容生成技术(AIGC)的兴起和广泛的应用,现在连测试工程师都要求会用AI进行测试工作了。

是的,你没看错!是要用AI进行测试工作。

比如,我们现在正在研究如何使用AI帮忙分析测试需求、和编写测试用例。这也是领导的意思,说是研究一下。但是要怎么用老板也没说,但是我听的是有点心惊胆战的,莫非是想替换我?

但是不管怎么说,AI作为目前的大主流技术,还是要研究一下的,比如我问一个AI让其给我生成一个python代码。别说,还真挺不错的,居然是对的,可以运行:

而且领导还让我研究一下大模型,顺便训练一个能分析测试点、写测试用例、生成测试脚本的大模型。天哪,真的是不得不学习啊!

然后我就学了下面的这个课程AI技术相关课程,从中真是收获满满:

 
2023超🔥的AI大模型公开课👉大模型资料包免费领!
¥0.00立即体验

学习本课程不仅仅可以学习到AI的相关知识,还能得到:

●AI模型课程大礼包

●好用的AI工具

●加老师企微进行资料和知识的获取

更重要的是,还可以跟辅导老师互动,获得更多的福利和第一手的课程技术信息!

如果不想被AI替代,就好好的研究一下它,了解一下它的原理,然后找出AI无法替代我们测试的地方!

其他工具上的使用要求

1.虚拟机软件

做测试的时候,绝大多数的时候是需要不同的设备进行测试的,不管是APP测试,还是Web测试。如果遇到大方的公司还好,能够多申领几台设备;如果遇到小气的公司,那只能自己想办法了,那这个时候就需要使用虚拟机或者模拟器软件。

像PC端的虚拟机软件,VMware,或者Virtual Box等,可以虚拟化PC端的Linux系统、Windows系统等;

还有能模拟Android系统运行的雷电、夜神、mumu等移动端模拟器。

2.数据库操作工具

做系统的测试的时候呢,有一个事情是必不可免的,那就是查数据,看看添加的数据、修改的数据、删除的数据,在系统里面是不是都是准确的。这往往就需要我们测试人员能够使用工具查看数据库中的数据。

所以像Navicate、Heidisql等能够连接数据库的软件就是我们必须会的了。

3.Linux服务器连接工具

会使用这类型的工具,并不是必备的,只是为了测试人自己的工作效率高一点而已。因为测试工程师有时候必须要查看一些服务器的信息才能够完成测试,或者提交bug,那这个时候如果我们不会这个服务器的操作,拿不到我们想要的内容怎么办?

可能有人会说测试工程师要会搭建测试环境,说实话,在我做了一年多的测试期间,我只在服务器上操作过2次:

第一次是导出日志:就用了一下查看日志在哪里的命令,然后把日志下载到Windows系统本地去看的。

哪些闲的没事儿干的,才会在系统直接看。因为Windows操作多方便啊,很快就能找到。我不是专业的运维,所以有些命令真心记不住,有查命令的时间,我想找的数据都找到了。如果面试要问的话,那还是得会的。

第二次就是在了Linux上运行JMeter脚本。因为Windows系统能力有限,所以直接申请了一个高性能的服务器做性能测试。

剩下的什么搭环境,开发和运维都不让我碰,怕我给玩儿坏了。

因为我是测试,玩儿坏了又不会被批评,就是发现了问题!所以搭环境是不存在的。

4.开发环境和编程工具

虽然是做测试的,但是一些开发的知识还是要知道的,要不然都没法跟他们交流问题,也可能会说错一些软件的缺陷。

比如说网页中的弹窗,alert、prompt、confirm就是各自不同的,那我们要知道如何使用专业术语描述这个东西。

再比如说,Android应用的弹窗和提示,通知消息,页面等也需要有专业的术语表示。

另外就是前面说的有时候需要安装一些测试工具软件,可能需要配置好开发环境。比如JDK环境配置,Android开发环境等。

网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。

本文链接:https://www.xckfsq.com/news/show.html?id=32127
赞同 0
评论 0 条
风晓L1
粉丝 1 发表 522 + 关注 私信
上周热门
如何使用 StarRocks 管理和优化数据湖中的数据?  2976
【软件正版化】软件正版化工作要点  2894
统信UOS试玩黑神话:悟空  2868
信刻光盘安全隔离与信息交换系统  2754
镜舟科技与中启乘数科技达成战略合作,共筑数据服务新生态  1288
grub引导程序无法找到指定设备和分区  1257
华为全联接大会2024丨软通动力分论坛精彩议程抢先看!  170
2024海洋能源产业融合发展论坛暨博览会同期活动-海洋能源与数字化智能化论坛成功举办  169
点击报名 | 京东2025校招进校行程预告  165
华为纯血鸿蒙正式版9月底见!但Mate 70的内情还得接着挖...  162
本周热议
我的信创开放社区兼职赚钱历程 40
今天你签到了吗? 27
信创开放社区邀请他人注册的具体步骤如下 15
如何玩转信创开放社区—从小白进阶到专家 15
方德桌面操作系统 14
我有15积分有什么用? 13
用抖音玩法闯信创开放社区——用平台宣传企业产品服务 13
如何让你先人一步获得悬赏问题信息?(创作者必看) 12
2024中国信创产业发展大会暨中国信息科技创新与应用博览会 9
中央国家机关政府采购中心:应当将CPU、操作系统符合安全可靠测评要求纳入采购需求 8

加入交流群

请使用微信扫一扫!