工作多年,从毕业后就开始从事软件测试,不知不觉已经从事软件测试6年了,长期的测试工作让我对软件测试有了比较深入的了解。但是如今工作上仍然偶尔会犯错误,离一个优秀的测试工程师还有一段很长的距离,道路且长来日可期,脚步慢一点也无妨。下面总结一下我的工作心得。

做了6年软件测试的我,是如何从菜鸟快速成长为测试工程师的?

1、熟悉业务需求说明书

测试工程师的主要工作体现在测试报告和测试用例上,只有熟悉掌握项目的业务需求,才能设计出全面,覆盖率高,多异常流的测试用例,有一些细节甚至要比产品经理还要考虑细致。只要遇到任何不清楚的、有疑问的地方,就一定要找产品经理确认。

2、熟悉开发详细设计

很多测试工程师可能觉得开发的详细设计不需要了解,只要这个软件的功能做出来了就行了,具体是怎么做的,不需要关心,这种想法是不正确的。了解开发的详细设计后,你才知道这个业务的整个流程是怎么样的,你才知道开发有没有把所有的场景,异常流都考虑进来,是不是真的理解了这个业务需求。

3、把自己当用户来测试

把自己当成用户来测试这个软件,模拟用户可能会操作的所有行为,牢记软件的每个页面,每个功能。遇到问题提bug时,标题和内容要描述清楚,简洁,没有歧义,写上重现的步骤,最好附上问题的截图。每次测试完成后,一定要写测试报告,把自己遇到的问题或者认为不合理的地方归纳总结出来,逻辑要清晰,字数要简洁。

4、不断学习,了解软件的基础知识

如果不了解软件的基础知识,测试永远只会停留在表明上,只会在页面上点点点,不知道后端是如何运转的,前后端是如何联系的,甚至连开发在说什么都听不懂,开发的详细设计看了也只是按着他的来,不会带着质疑的精神来提疑问。最少要知道软件是由什么语言来写的,用的什么框架,用的什么数据库,只有懂得了基本的软件知识,和开发人员沟通起来才不会鸡同鸭讲。

5、保持工作的激情和兴趣

测试工作是一遍又一遍的重复性工作,一个用例可能执行了很多遍。每次项目升级,都要求回归测试一次,把原来上百条的用例再执行一次,需要耗费大量的时间和精力,过程是非常枯燥的,如果能保持激情和兴趣,每一次执行就当做是第一次执行那样有新鲜感,工作起来就会容易得多了。

工作的时候,总结了一下我的一些测试小技巧。

1、按F12,查看调试界面,分析bug归属于前端还是后端

在测试的时候,有时候会遇到一些问题,不知道是前端还是后端的问题,有时候提bug分派错了,会直接影响解决bug的进度,有时候测试一些列表数据时,发现查询列表数据不符合,就不好判断是前端问题还是后端问题,这个时候就可以按F12,进入调试界面,选择Network界面,这里的Headers可以看到前端请求地址和请求参数,Respons可以看到后端返回数据。

这里举一个例子来说明一下,前端展示有一个数据列表有一个查询条件是状态,状态分为:全部、成功、失败。

当查询成功状态时,前端列表展示的数据却是失败的。这个时候可能会想是不是前端展示错误了,首先按F12,查看调试界面,看后端返回的数据是不是成功状态的,结果一看,后端是返回了失败状态的数据,这个时候可能会想是不是后端错误了,别急,最后还要查看Headers里面的请求地址和参数,这个时候,发现请求参数错误,不是状态成功的参数,而是状态失败的参数,这样就可以确定是前端的问题了。

2、查看后端日志

在做测试时,一定要打开后端日志,当在前端页面操作时,突然弹出一个报错提示时,如何分析是前端还是后端错误时,可以从日志里面体现出来,如果后端日志没有报错,则考虑是前端的问题,如果后端有日志报错,则考虑是后端的问题,把日志截图出来贴到bug详情里面,可以方便开发查看问题,操作的时候,查看日志的SQL语句写得是否正常,是否符合操作的要求,都可以自己简单分析一下。

3、查看数据库

在做测试时,一定要检查数据库中,各个模块对应的哪些表,表字段是否符合要求,表设计是否合理,有没有索引,有没有唯一键,表与表之间如何联系,当表数据很多时,有没有做旧数据移表处理,这些都需要检查一遍。

4、找数据

在做测试时,有时候需要查询列表的很多页,需要很多数据,手动去添加的话,如果添加一条要花20秒,添加200条岂不是要1个小时,有时候测试数据导出功能,超过1万条数据时,走异步,添加1万条的话岂不是要几天,非常浪费时间和精力,这个时候,你可以自己去数据库中找数据,直接对需要使用的表格插入数据,写一个for循环就可以轻松搞定了。

5、录制脚本

在做测试时,每次项目升级时,都要来一遍回归测试,可以使用一些工具来辅助,达到事半功倍的效果,我就是使用的badboy,首先录制我要操作的一些动作,比如对列表的一些增加,删除,修改,录制完成后保存为jmeter格式,然后使用jmeter打开这个脚本,运行就可以了,当然了,有时候运行得不太顺利,就需要手动修改一下脚本,也可以添加一个"监听器-查看结果树"来判断运行的结果状况。

真正学习和实践自动化测试有两年了,收获了一些,下面总结一下我的一些自动化测试的想法。

1、自动化测试的优点

①降低回归成本

②提高回归覆盖率

③提高回归效率

④提高回归的稳定性

2、自动化测试的缺点

①自动化更适用于回归和冒烟,难以发现BUG

②不是所有系统、所有功能都适合做自动化测试

③自动化的脚本编写和维护时间长

3、什么项目适合做自动化测试

①项目的需求稳定,变动不大

②项目的周期长,可持续迭代

③项目支持的平台多,如多浏览器兼容性测试、手机多系统版本测试等

④通过手工测试无法实现的测试活动,如压力测试

4、自动化测试分类

①接口自动化测试

②UI页面的自动化测试

最开始,我也是从接口自动化做起,因为当时工作的项目都是以数据查询、统计为主的,UI页面的自动化测试不知如何下手,后来就去网上看一下其他人是如何来做的,发现很多人都是说像这种统计数据的项目,基本上无法做UI自动化测试,后面就想着就算是统计数据的一个列表,也不用每一条,每一个字段都来检查,只要检查某一些字段就可以了,如此一来就简单多了,首先我会去获取页面上的一个列表的第一条的第一个字段,然后再去连接数据库,获取此字段的值,两个值对比一下是一样的,那就没有问题了。

自动化虽然不能完全代替手工,但是却省去了手工的反复,工作中可能一些项目不好操作,只要灵活运用,就没有做不了的自动化。要想做好自动化,必须要拥有编码能力,至少要熟悉自动化工具/框架的代码语言,最好有一定的编码能力,同时代码逻辑要清晰,否则不仅不能保证用例的逻辑性、业务性与健壮性等要素,也不能保证效率。

最后:【可能给予你帮助】

这些资料,对于考虑【软件测试】技能进阶的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你

关注我的微信公众号【程序媛木子】免费获取

我的学习交流群:644956177群里有技术大牛一起交流分享~

做了8年软件测试的我,是如何从菜鸟快速成长为测试工程师的?相关推荐

  1. 专业不对口跨行做了功能测试的我,100天我是如何从菜鸟快速成长为自动化测试工程师的?

    能想象到一个在社会上被逼疯的社会小青年!出校门前不单单没找到对口的专业,还被迫做了些闲杂的工作!要不是一个偶然的聊天交谈中说到程序员薪资特别的高,挣扎进入IT行业!还不知道现在做的是啥工作! 我是从各 ...

  2. 【软件测试】金三银四,我不允许测试工程师不知道这个刷题工具

    又到了每年经典的金三银四跳槽季,现在的软件测试岗位很卷,为此我特意分享出一个刷面试题的小工具,里面收集了大量软件测试高频试题.进阶视频,面试模拟功能,主要是免费,希望能帮助到大家~,文章末尾小卡片领取

  3. 学妹哭着问我:测试工程师应掌握什么?不知道自己是否适合做这个?

    前言 通过这篇文章你将收获,身为一名测试工程师的核心竞争力. 常有人会问,如果要做软件测试的话,有什么要求?需要具备哪些素质和技能?不知道自己是否适合? 这里我发表一下自己的看法 软件作为一个新兴行业 ...

  4. 《软件测试管理》 第15章 测试工程师前途-(工资待遇、发展方向探讨)

    第15章          测试工程师前途 请看下面一条来自新浪网的新闻: 软件测试人才:缺口三四十万,年薪十万 http://www.sina.com.cn 2003 年08 月14 日 14:42 ...

  5. 我做为一名测试工程师,职业发展方向是什么?

    我做为一名测试工程师,职业发展方向是什么? 今天是儿童节,首先祝大朋友们节日快乐! 不知觉间,在软件测试行业野蛮生长了七年之久. 同样是半杯水,对于口渴的人来说,有人会说,哇.还有半杯水,也有人会说, ...

  6. 想要转行软件测试就得先搞清测试工程师的职责是什么?

    一. 测试工程师: 1. 国内定位和发展前景: 测试工程师,软件质量的把关者,工作起点高,发展空间大.我国的软件测试职业还处于一个发展的阶段,所以测试工程师具有较大发展前景. 目前传统的软件行业还是以 ...

  7. 软件测试工程师 / 资深测试工程师招聘

    近期有一波招聘,JD如下,有兴趣的私我[mail:sccm_hr@163.com] 软件测试工程师[若干] 职位描述 1. 负责公司WEB/APP端产品软件测试工作,跟踪协调问题的解决: 2.设计合理 ...

  8. 如果你是测试在职,我给你几条快速成长的建议!供所有做软件测试的参考...

    一.避免去外包公司 基于行业影响,企业需要降低成本,会更倾向于使用外包.大公司使用外包的结果就是外包市场会进一步发展,这些发展会进一步推动企业裁员的进程.如果外包能够搞定很多事情,外包的价格又比较低, ...

  9. 【软件测试】资深测试聊一聊,测试架构师是怎么样的,做一名成功的测试工程师......

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

最新文章

  1. 这些哭笑不得的情景,每个程序员都可能面对
  2. JVM方法区内存分配
  3. 中国学前教育行业投资机会评估与运营展望规划报告2022版
  4. 第一份工作是选择安逸,还是勇敢尝试?
  5. 【性能优化】 之 10053 事件
  6. 页眉中字数未满但自动换行
  7. 20145309李昊《网络对抗》MSF应用基础
  8. 4问教你搞定java中的ThreadLocal
  9. .net framework 4.0 0xc8000247错误解决
  10. [转]C++学习步骤
  11. 新萝卜家园GhostXp Sp3电脑城装机极致版2012.08
  12. HTML问答页面模板,问答社区简单静态页面模板
  13. Ubuntu下载工具uGet+aira2
  14. win7没有语音识别怎么办|win7系统语音识别设置方法
  15. PHP程序员开发win32应用程序之梦
  16. 将 C++/WinRT 中的线程切换体验带到 C# 中来(WPF 版本)
  17. 《被讨厌的勇气》书摘心得之一切烦恼都来自人际关系(2)
  18. 博世传感器调试笔记(一)----加速度传感器BMA253
  19. PS 2019 Mac版 自学入门系列(二)——区域选中
  20. 引入jquery不起作用 原因

热门文章

  1. Python,Day2 - 数据类型,运算,列表操作,字典
  2. SDN环境搭建(mininet,OVS,ryu安装及命令)
  3. 在window7 64位下Oracle 10g 数据库中PLSQL Developer配置和使用
  4. 国家中长期教育改革和发展规划纲要(2010-2020年)
  5. 一个简单的samba案例(测试与思考)
  6. 947. 移除最多的同行或同列石头2021-01-23
  7. 【答辩问题】计算机专业本科毕业设计答辩需注意的内容
  8. mysql+查看端口和进程,linux查看端口、进程以及kill情况
  9. python和循环语句_Python 小白零基础入门 -- 条件语句和循环语句
  10. C语言程序设计基础实验教程,C语言程序设计基础实验教程