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

我是如何走上测试之路的

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

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

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

熟练使用各种测试工具

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

  1. APP测试工具

因为我就是做APP开发的,所以经常的要使用adb命令和monkey命令对APP进行测试,查看APP运行的日志、运行状态。


尤其是这个过程中,会在APP的界面上做一个小功能,显示APP运行时的一些基本信息和状态和运行报错的信息,直接用adb命令导出。


其他的就很少用了,可能有网友要问,不做APP的功能自动化测试么?说实话,当时真没有。现在可能会有用到像appium、airtest等。

2.抓包工具
抓包工具真的是非常重要的测试工具了,像查看APP和服务器之间的数据传输、查看浏览器网页和服务器的数据传输,都得用它。
一般的常用Fiddler、Charles等专门的抓包工具,有时候不需要特别处理的抓包时,都会用谷歌浏览器、火狐浏览器的F12——开发者模式,也是相当不错的选择呢。

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

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

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

4.性能测试工具

这个也是领导要求用的,说是要抵御促销活动的大量的数据访问、防止高并发

导致系统服务崩溃,虽然我嘴上没说,但是系统有几个人、促销活动能吸引多少人,我还是有数的,可能全公司人都有数,就他没数(也可能是故意的)。

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

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

AI工具用于测试使用

随着AI内容生成技术

(AIGC)的兴起和广泛的应用,现在连测试工程师都要求会用AI进行测试工作了。

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

比如,我们现在正在研究如何使用AI帮忙分析测试

需求、和编写测试用例。这也是领导的意思,说是研究一下。但是要怎么用老板也没说,但是我听的是有点心惊胆战的,莫非是想替换我?

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

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

其他工具上的使用要求

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开发环境等。

结束

这一年多的时间中,因为接触最多的就是APP测试了,所以说的比较多的都是APP测试相关的东西,当然不是说Web测试不重要,因为工作涉及的比较少。大家如果有什么技术问题你的,也可以和小编沟通呢。

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

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

相关文章

(五)Spring源码解析:ApplicationContext解析

一、概述 1.1> 整体概览 在前面的内容中,我们针对BeanFactory进行了深度的分析。那么,下面我们将针对BeanFactory的功能扩展类ApplicationContext进行深度的分析。ApplicationConext与BeanFactory的功能相似,都是用于向IOC中加载Bean的。…

Python tkinter用iconphoto方法修改窗口标题的图片

修改Python Tkinter窗口的标题图片,可以使用PhotoImage、iconphoto方法。这个方法允许你设置窗口的图标。 运行结果 代码示例如下: import tkinter as tkroot Tk()# 加载图片,记住一定是要PNG图片 icon tk.PhotoImage(filephoto\\图片.pn…

为什么HTTP用得很好的,开始普及HTTPS呢?

显而易见,现在的HTTP早已不安全,当我们在浏览各个网站时会发现HTTP前面都会显示不安全,因为HTTP是明文传输,一旦电脑被植入了木马,木马程序就会主动周期性发消息给Internet的控制终端,这样NAT小洞会一直敞开…

科技创意赋能乡村文旅振兴

近日,由北京大学创意产业研究中心联合中国国际科技促进会新基建专委会共同主办的“科技创意赋能乡村振兴研讨会”在京举行,与会专家学者围绕“和美乡村共同富裕智慧文旅”主题进行深入探讨。北京大学创意产业研究中心副主任吕艺、国家文化和旅游公共服务…

Pytorch R-CNN目标检测-汽车car

概述 目标检测(Object Detection)就是一种基于目标几何和统计特征的图像分割,它将目标的分割和识别合二为一,通俗点说就是给定一张图片要精确的定位到物体所在位置,并完成对物体类别的识别。其准确性和实时性是整个系统的一项重要能力。 R-CNN的全称是Region-CNN(区域卷积神经…

jsp基本表格和简单算法表格

基本表格&#xff1b; <% page language"java" contentType"text/html; charsetUTF-8"pageEncoding"UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd…

C# wpf 实现任意控件(包括窗口)更多拖动功能

系列文章目录 第一章 Grid内控件拖动 第二章 Canvas内控件拖动 第三章 任意控件拖动 第四章 窗口拖动 第五章 附加属性实现任意拖动 第六章 拓展更多拖动功能&#xff08;本章&#xff09; 文章目录 系列文章目录前言一、添加的功能1、任意控件MoveTo2、任意控件DragMove3、边…

Navicat的使用--mysql

表关系 数据库的操作&#xff0c;表字段的设计&#xff0c;一般都由于图形化界面工具Navicat完成。 而表中数据的增删改查&#xff0c;需要熟悉sql语句。 一对一 一对一&#xff1a;一个A对应一个B&#xff0c;一个B对应一个A 将A或B任意一张表的主键设置为外键 一对多 一…

贷款行业极难获客,怎么获取实时客户数据?

我们能想象当客户有贷款需求时会发生什么吗&#xff1f; 客户可能会打开手机搜索“如何借款”、“哪笔贷款利息低”、“最多能借多少钱”、“贷款需要什么条件”等关键词&#xff0c;然后&#xff0c;客户点击进入第一个链接&#xff0c;然后填写他们的姓名和电话号码来测试他…

fmx windows 下 制作无边框窗口最小化最大化并鼠标可拖移窗口

1,最顶端 放一个rectangle 置顶 ,此区域后面实现鼠标拖动 移动窗口,可在上面放置最大,最小,关闭按钮 2,窗口边框模式 设置 none 3,rectangel mousemove事件 uses Winapi.Windows,Winapi.Messages,FMX.Platform.Winprocedure TfrmMain.Rectangle1MouseMove(Sender: TObje…

下拉列表框Spinner

在XML文件中的创建 <Spinnerandroid:id"id/spinner"android:layout_width"wrap_content"android:layout_height"wrap_content"/> 在Java文件中的设置 //获取Spinner对象 Spinner spinnerfindViewById(R.id.spinner); //创建数组…

经典OJ题:随机链表的复制

目录 题目&#xff1a; 本题的解图关键在于画图与看图&#xff01; 思路分析&#xff1a; 方法一&#xff1a;暴力求解法。 方法二&#xff1a;插入法 方法解析&#xff1a; 步骤一、插入 步骤二、 处理每一个copy的randdom指针⭐————重点 步骤三、拆卸节点 代码…

剑指offer全集系列Java版本(2)

目录 反转链表 替换空格 二叉树 链表的中间结点 附录 StringBuffer类中常用的方法 反转链表 反转链表_牛客题霸_牛客网 (nowcoder.com)https://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca?tpId265&tqId39226&rp1&ru/exam/oj/ta&qru…

思谋科技进博首秀:工业多模态大模型IndustryGPT V1.0正式发布

大模型技术正在引领新一轮工业革命&#xff0c;但将其应用于工业制造&#xff0c;仍面临许多挑战&#xff0c;专业知识的缺乏是关键难点。11月5日&#xff0c;香港中文大学终身教授、思谋科技创始人兼董事长贾佳亚受邀参加第六届中国国际进口博览会暨虹桥国际经济论坛开幕式。虹…

SAP 使用函数创建多个备选BOM ( 改造标准函数 : CSAP_MAT_BOM_MAINTAIN 和 CSAP_MAT_BOM_CREATE )

参考博客1&#xff1a;https://blog.csdn.net/Buffalo_soldier/article/details/117956986 参考博客2&#xff1a;https://blog.csdn.net/u014535256/article/details/111539629 RFC CSAP_MAT_BOM_MAINTAIN 改造 SAP标准函数CSAP_MAT_BOM_MAINTAIN可以增删改BOM&#xff0c;但是…

Android JVM内存模型——老生常谈

jvm简介 JVM是Java Virtual Machine&#xff08;Java虚拟机&#xff09;的缩写&#xff0c;JVM是一种用于计算设备的规范&#xff0c;它是一个虚构出来的计算机&#xff0c;是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 jvm作用 Java中的所有类&#xff0c;必须…

循环链表的设计与基本操作的实现

目录 一.循环链表的设计 二.循环链表的实现 三.循环链表的总结 一.循环链表的设计 1.循环链表的结构设计: typedef struct CNode{int data;struct CNode* next;}CNode ,*CList; 2.循环链表的示意图: 3.循环链表和单链表的区别: 唯一区别,没有空指针,尾节点的后继为头,为循…

OpenAI开发者大会之后,当何去何从?

简介 过往总结 ​产品升级 GPT-4 Turbo Agent化 此间的未来 定制GPT GPT商店 Assistants API 总结与思考 简介 此次发布会简单总结如下。 1. 发布GPT-4 Turbo&#xff1a; 更长。支持128K上下文输入&#xff0c;标准GPT-4是8K版本&#xff0c;之前升级出了32K版本 更…

TensorFlow学习笔记--(2)张量的常用运算函数

张量的取值函数 求张量的平均值: tf.reduce.mean(%张量名%)求张量的最小值:tf.reduce_min(%张量名%)求张量的最大值:tf.reduce_max(%张量名%)求张量的和:tf.reduce_sum(%张量名%)其次,对于上述所有操作 都可在函数后添加一个新的参数 axis%维度% axis0 代表第一维度 axis1 代表…
最新文章