假如你想成为一名测试工程师(程序员找茬师)

  • 先扯点虚的
  • 测试工程师是个啥?
  • 设计用例
  • 常说的那些个口头语
  • 练好招数

先扯点虚的

大学扩招,经济下行,疫情肆虐。。。

从小到大,我们经历了无数的考试,打怪升级,好不容易考上了大学,面对大学里突然的自由似乎无所适从,于是纵情于游戏,流连于恋爱,可是四年后你终究要面对就业,这个无法回避的问题。毕业就失业,对一部分人来说不是妄语,不是“厦大”的。

找到了合适的工作,但似乎收入不满意,疫情的突然到来,让工作的稳定性变得不可预测,被“优化”也不是一件稀奇的事情。经济的下行,让每一个打工人都被时代裹挟,不管你是否愿意,优胜劣汰是丛林法则。

说了这么多,并不是宣扬只有IT能拯救世界,今天只谈一谈如果你想成为一名测试工程师,应该具备哪些能力,需要做哪些准备,有什么基本的认知。

测试工程师是个啥?

且容我慢慢道来:

什么是测试工程师?俗称,找bug民工,职业找茬师。

简而言之,就是别人做了一个产品需要你这瞧瞧那看看,如果有产品缺陷,我们亲切的叫它bug,就打回去返工,缺陷被修复了再这瞧瞧那看看,确认没有问题,盖上合格印章,表示可以发货了。。。听起来似乎很简单对么?是的,套用一句很多人都会说的话—“就是这么简单”。

测试的入门并不难,相比于开发人员来说,应该是比较容易上手的,但同时测试又是很需要理论知识储备的,为什么呢?因为你要根据你的产品制定一个测试的计划,一个测试的方案,和具体的测试内容即测试案例/用例,请记住,测试用例,这个最高频的词汇,一切都是从一个良好的测试用例设计开始。。

初级或者刚入门的测试工程师,最重要的工作就是设计测试用例,一般包括4种类型:1)功能测试用例,2)接口测试用例,3)性能测试用例;4)安全测试用例。

设计用例

用一个最简单的例子来解释:一个登录界面该如何测试?

功能测试设计:一个登录页面包含了两个输入框,用以输入用户名和密码。那么我们该如何来测试它呢?

别急,我们先看两种测试用例设计方法:1、等价类;2、边界值。

等价类,顾名思义,就是有相同作用的一组测试数据,比如学生可以分为男生和女生两个类,任意一个男生和一个女生都能作为他们类的一个代表来表征实际作用。

边界值,同样的,就是别人给了你一个限定,说今天8点必须得到公司,不然就算迟到,这时候你有两个选择,你可以试试7点59分59秒算不算迟到,也可以试试8点00分01秒老板会不会扣你钱。也就是平常大家说的,玩极限。。。边界值是对等价类的一个补充,就是划分好等价类后我走走钢丝,看看到底能咋滴!

实际工作中,在测试用例设计前,我们会收到产品经理提供的需求文档,在需求文档中通常会定义好界面的设定,如输入框有长度、格式等要求。比如长度要求20个字符,合适要求必须是英文字母开头。

应用等价类和边界值设计大法:长度设计两个等价类:1)长度在20个字符以内;2)长度大于20个字符;格式要求设计两个等价类:1)英文字母开头;2)非英文字符开头。

再用边界值具体化测试数据:长度有效等价类:20个字符;长度无效等价类21个字符。

最后将两种等价类组合生成测试数据:有效:以英文字母开头的20个字符;无效:非英文字符开头(长度就不care了);以英文字母开头的21个字符。一共3条测试用例,学会了么?

这就是一个简单的功能用例设计过程。当然还不止这3条,结合具体的使用场景,我们又可以划分出用户存在和用户不存在2个等价类;但设计方式是一样的,这里就不再展开了。

由此,我们可以说,假如你想成为一名测试工程师,第一要学会的就是运用各种设计方法(等价类、边界值、正交实验)等等来设计合理、覆盖率高、不冗余的测试用例。

第一要紧的就是用测试用例找出bug,扔给开发,然后深藏功与名。。。

常说的那些个口头语

再说说几个常提的概念:

测试计划/测试方案,一般由测试组长或测试leader写作,也可以说针对项目计划的有效补充,包括测试的开始时间、完成时间和各个里程碑事件节点。如冒烟测试、SIT(集成)测试、UAT(验收)测试、生产测试等时间、任务、人力安排、测试设计方法和验收标准、资源需求和协调等等内容。实际工作中,初级测试人员接触的不多,更多的是做好测试的具体执行工作。

冒烟测试:开发同事做好一个版本的内容后会将代码发布到测试环境,测试同事将各个模块的主干流程的用例抽取一部分最重要的出来组成冒烟测试用例,执行这些用例的过程或者阶段就叫冒烟测试阶段。

SIT(集成)测试:对应于软件或项目的研发流程,遵循敏捷迭代的方法论,开发是不断将新特性或者修复的bug集成到测试环境,对应于单元测试,测试这些组装而成的子系统和子模块可以叫集成测试。

UAT(验收)测试:通常由测试人员配合产品经理或者业务人员一起进行,针对版本内容进行特性的验收,包括功能、性能、安全等等要求,也就是说看看是否达到了产品设计的要求,能否交付客户使用。

生产测试:产品发布到线上后,通常还会进行线上的测试,以验证在真实运行环境和实际数据下产品是否运行正常。

练好招数

设计测试用例好比修炼内功,有了内功还不行,所谓,工欲善其事必先利其器,我们需要掌握一些关键技能才能胜任测试的工作:

它们分别是:1、Linux命令操作技能;2、SQL操作技能(基本的增删改查);3、抓包技能或者Google等各种浏览器的开发者模式阅读技能;4、shell脚本技能;5、测试工具使用技能(jmeter/postman/loadrunner等);5、接口自动化测试(以python居多)脚本技能;6、UI自动化脚本技能(selenium等)。

路漫漫其修远兮,吾将上下文中求索。。。

忘记了,假如你想成为一名测试工程师,有一项最重要的技能必须得拥有了:和开发干嘴仗的能力。。。。

因为你说有bug,开发会说:

你环境是不是有问题。。。

你配置是不是有问题。。。

你测试数据是不是有问题。。。

你会用么。。。

你肯定搞错了。。。

咳咳,骚年们,加油吧。。。

假如你想成为一名测试工程师(程序员找茬师)相关推荐

  1. “我“是一名测试/开发程序员,小孙的内心独白......

    目录:导读 前言 一.Python编程入门到精通 二.接口自动化项目实战 三.Web自动化项目实战 四.App自动化项目实战 五.一线大厂简历 六.测试开发DevOps体系 七.常用自动化测试工具 八 ...

  2. 要想成为一名真正的程序员,有哪些要求呢

    1.成为程序员就意味着要开启程序生涯,开始敲代码,如果说做程序员仅仅为了高工资,那么就不必做了.一天天干坐着只为等工资那么奉劝你,另谋高就. 2.学编程最好能找到编程的乐趣,没有乐趣那么编程会真的很枯 ...

  3. 从普通进阶成优秀的测试/开发程序员,一路过关斩将

    目录:导读 前言 一.Python编程入门到精通 二.接口自动化项目实战 三.Web自动化项目实战 四.App自动化项目实战 五.一线大厂简历 六.测试开发DevOps体系 七.常用自动化测试工具 八 ...

  4. 想要成为真正优秀的程序员是不是真的很难?

    很多人认为要想成为一名优秀的程序员,那就需要一天24小时每天不断地编程--睁开眼睛要编程,闭上眼睛睡觉的时候还要梦到编程--我认为这是一种矫枉过正的方法.沿着这条路走,只会让你精疲力尽,犹如夸父逐日一 ...

  5. 写给还在迷茫中的朋友,一名6年程序员的工作感悟!!!

    前言 很多年前,刚刚从大学毕业的时候,很多公司来校招.其中最烂俗的一个面试问题是:"你希望你之后三到五年的发展是什么?".我当时的标准回答是(原话):"成为在某一方面能够 ...

  6. 如何成为一名优秀的程序员(三)

    ...程序员不妨多学学解密.杀毒.肯定在中国有大的用场. 首先一定要理解c++中的面向对象理论,最好理解MFC的编程,这样一步步下去 行呀,不过你准备接受VC的时候同时认识MSDN,这可真是个大宝库, ...

  7. 怎样成为一名优秀的程序员

    工作了有这么一段时间了,在小编的眼里看来,不管你在哪里工作,或者是做各种不同的工作,成为一个优秀的员工与成为优秀的软件开发工程师的过程是一样的,下面便是大神们总结的一些伟大的程序员所具有的经验和品质. ...

  8. 如何成为一名游戏开发程序员

    一.游戏程序开发的工作主要包括哪些方面 游戏开发中的程序开发主要由如下几个方面组成: 1.图形引擎 2.声音引擎 3.物理引擎 4.游戏引擎 5.人工智能或游戏逻辑 6.游戏GUI界面(菜单) 7.游 ...

  9. 熊志男:写给一名测试工程师

    你要为自己每一次的懦弱而忏悔:曾经不愿承认自己出生于农村,曾经不敢面对自己是一名外包员工,曾经一次次的不甘心自己只是一名测试工程师. 不做失败者 微软.IBM.Oracle.华为等等,这些公司选拔的测 ...

最新文章

  1. 宝塔的服务忽然挂掉解决方法
  2. 有了它,不会JavaScript,也能写出各种精彩页面!
  3. Min_25筛学习Tip+链接
  4. “约见”面试官系列之常见面试题第八篇说说原型与原型链(建议收藏)
  5. 业务逻辑数据层SqlDataSourcesql的输入参数控件参数System.Web.UI.WebControls.GridView.SelectedValue...
  6. 信息学奥赛一本通 1106:年龄与疾病 | OpenJudge NOI 1.6 05
  7. LeetCode Min Stack 最小值栈
  8. 12 mysql性能抖动
  9. 转载linux ip命令新手入门
  10. 用VAE(variational autoencoder)做sentence embedding/representation或者其他任何结构数据的热presentation...
  11. 微信群管理机器人免费、破解版
  12. 解密QQ图标升级计划
  13. Android中的指纹识别
  14. [Jzoj] 3426. 封印一击
  15. Django分组查询annotate可能遇到的坑
  16. 奥克兰大学CS110(Auckland University Computer Science 110)的一些算法(2022)
  17. 微信小程序之模版的使用(template)
  18. 硅烷偶联纳米SiO2改性形状记忆聚氨酯/抗体偶联的介孔二氧化硅/米非司酮纳米制剂/纳米二氧化硅接枝黄麻纤维可降解复合物
  19. 友盟推送 java_java 后台调用友盟推送 如何设置ios 的 title?
  20. amf组网_5G组网与部署探讨

热门文章

  1. qlib的工作流管理:mlflow机器学习生命周期管理平台
  2. 马氏快速记星座法——5分钟快速记忆星座和月份!超快!超准!超实用!
  3. 计算机一级ms office模拟真题,2016计算机一级《MS Office》模拟练习题(含答案)
  4. c++ HDU 1279 士兵队列训练问题
  5. OSPF(第六天笔记)
  6. poj1950 Dessert(DFS)
  7. Django-模型层
  8. uni 获取本地文件_APP读取本地文件夹内视频播放
  9. 高博SLAM基础课第四讲——非线性优化
  10. Modbus通讯协议(一)——测试工具ModbusPoll和ModbusSlave