• 0
  • 0
分享
  • 手工测试转型web自动化测试,必须需懂得什么技能——软件测试圈
  • 饭团🍙 2021-06-08 11:24:07 字数 2111 阅读 960 收藏 0

在转型成功之前,我们要先自学两个工具

商业web自动化测试工具请自学QTP;QTP的学习可以跳过,我是跳过了的。

开源web自动化测试工具请自学Selenium;我当年是先学watir(耗时1周),再学selenium(也耗时1周)。

这里主要讲一些能让读者和普通小菜鸟区别开来的东西,这些请和上面的两个工具穿插地学:

基础:

  • 浏览器前端相关的简单技术基础:就是那些什么html、xml、css、javascript、等等,详见w3c教程网站http://www.w3schools.com/;

  • 学习使用一个单元测试框架或者叫做测试执行器,建议testNG,学完testNG,你应该具备了3小时学会任何一个测试执行器的能力,我用过的有testNG/Junit/Nunit/ruby unit test/python test unit/visual studio里的测试执行器、等等;http://testng.org/doc/documentation-main.html;

  • 学习一个语言的基本语法:静态语言建议java、动态语言建议python;只需要学基本语法,一般三个月之内都可以学完。我顺便学了一些ruby、groovy、shell脚本等;

  • 学习一两个版本控制工具的使用:svn和git; 我那时候还顺便学了hg,不过现在没多少人用了。只要使用,很简单,请自己找资料;

  • 学习page object设计模式:selenium官网有例子,极其简单; 理解这个设计模式花了一两天。用这个模式改写一个网站的全套回归测试用例花了我一个月;

  • 学习jenkins的使用:只要使用,很简单,请自己找资料; 这一点大概花费一个下午时间;

  • 学习自动化构建工具的使用:至少学ant和maven; 这个在学testNG时顺便掌握,只需要简单应用。

提高:

  • 浏览器是怎么工作的:How browsers work。http://taligarsiel.com/Projects/howbrowserswork1.htm 这个听说有中文翻译的,自己找吧;

  • 学习了解一个关键字驱动的测试执行器,建议robot,Robot Framework 有前面的基础,这个大概学一个下午可简单掌握,深入掌握清熟读官方文档;

  • 学习了解一个BDD业务驱动的测试执行器,建议cucmber,Cucumber 个人对BDD持保留意见,有testNG的基础学这个大概一两个下午(这个是用ruby的,我假设你顺便学了ruby语法)。另外我顺便花了一两个下午看了看JBehave(Java的)、Spock(groovy的);

  • 学习几个数据库的简单使用:mysql,mongodb; 这个w3cschool有教程。自己找。我其实还没看;

  • 学习服务器端的操作系统简单使用:linux,unix及shell脚本之类的; 这个比较费时间,推荐鸟哥的linux私房菜系列;

  • 学习其他的商业工具或自动化测试工具,原理都是差不多的,大概有几十种可以学,但都差不多。这个我断断续续把网上能找到都看了看,大概看了几十种吧。其中不乏很奇葩的产品比如fit和fitness

  • 继续扩展学习各种开发框架、网络协议等。如果你想去巨头互联网公司做测试开发,学完这条才是刚刚开始;这也是为什么转型做专职的自动化测试、测试开发人员对很多手工测试人员而言这么困难。当然互联网公司的测试开发前面的很多东西可以跳过不学。有的人跳过的东西太多了,就会开发出各种奇葩的测试框架/工具,但他反正可以做到这个职位了。

  • 扩展到其他方向如app自动化、性能等等。如果想去新创业的互联网公司做测试开发,app的自动化肯定要学,但有前面的基础,学这个易如反掌。

  1. 黑盒测试理论;一周入门,三个月精通。大部分人学到三个月就够了。觉得自己很懂的同学其实要知道你还不是很懂。因为这块挖深了可以挖出很多神奇但对找份好工作没多大用的理论知识。建议你到架构师层次再来深入学习这些理论以便更好地给人讲课、吹牛逼;

  2. 白盒测试理论;这个建议还是要懂一点的。比如桩啊驱动啊,覆盖率啊;工具方面可以自学sonar,并尝试和jenkins一起用,集成进一个小项目中。工具不学也没关系因为很少有公司用。个把月可以掌握。但一般在前述很多东西学习时顺便掌握;

  3. 自动化测试理论;这个N多的人其实压根都不懂。比如你跟他说个数据驱动、业务逻辑和测试实现分离、False alarm误报之类的自动化测试的专有名词他都不知道你说什么鬼。但这种人也可以做自动化测试,做测试开发,所以这个也就是可有可无的了。当然我建议还是要有。顺便你可以看下别人研究的自动化测试ROI的错误计算方法(因为大部分计算方法都是错误的)、自动化测试和手工测试的区别等等。还有什么基于模型的自动化测试设计理论、正交设计法和全配对(pariwise)设计法的异同等等。这些学了之后可以用于吹牛逼和给别人讲课;

  4. 测试管理理论、项目管理知识:你学了如果没机会也做不了管理。你不学有机会了也可以坐上管理的位子。


作者:C爱测试

原文链接:https://blog.csdn.net/waitingwww/article/details/108692698

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 一、python 使用flask框架之get接口开发1、在pycharm中,安装flask 2、引入Flask模块,Flask模块实现了一个WSGI应用from flask import Flask,request import json3、app是Flask的实例,它接收包或者模块的名字作为参数,但一般都是传递(name)。让flask.helpers.get_root_path函数通过传入这个名字确定程序的根目录,以便获得静态文件和模板文件的目录。app = Flask(__name__)4、开启调试模式app...
            0 0 1447
            分享
          • 在做接口测试的时候,我们经常会遇到一种情况就是要对接口的参数进行各种可能的校验,手动修改很麻烦,尤其是那些接口参数有几十个甚至更多的,有没有一种方法可以批量的对指定参数做生成处理呢。答案是肯定的!python的jinja2模板库可以很好的满足我们的需求,通过维护一个原始数据模板,将我们想要动态生成的变量模板化,就可以实现需求。现在我们有这样的一个请求数据{     "abc":"123",     "p2p":"123",  ...
            0 0 2259
            分享
          •   不管是对刚毕业的大学生、工作几年的打工仔亦或者是久不入职场的老人来说,进入职场的方向都值得我们深思。  今天我就来解答下大家最常问的问题:开发和测试作为一个项目中很重要的角色,他们有什么区别呢?  薪资方面  作为初级的开发和测试人员,薪资有区别但是差的不会很多,但是随着工作年限的增长,开发和测试的薪资水平就出现了较大的差异。  一般3-5年的开发人员是比较吃香的,工资待遇方面也是非常不错的,但是作为同样一个3-5年的测试人员来讲,工资可能就只有同等经验的开发人员的2/3左右。  当然不排除测试人员非常优秀的情况,比如说在安全测试方面比较精通,在性能测试方面比较有经验,有这种更高技术水平的...
            0 0 903
            分享
          • 一、Java集合框架概述集合可以看作是一种容器,用来存储对象信息。所有集合类都位于java.util包下,但支持多线程的集合类位于java.util.concurrent包下。Java集合类主要由两个根接口Collection和Map派生出来的,Collection派生出了三个子接口:List、Set、Queue,因此Java集合大致也可分成List、Set、Queue、Map四种接口体系,(注意:Map不是Collection的子接口)。其中List代表了有序可重复集合,可直接根据元素的索引来访问;Set代表无序不可重复集合,只能根据元素本身来访问;Queue是队列集合;Map代表的是存储k...
            0 0 983
            分享
          • 读者提问:如何提交一个 BUG?阿常回答:这个问题我从两方面回答:1、BUG 有效性 ;2、BUG 三要素 。一、BUG 有效性避免提交无效 BUG 。一)未经过二次确认就提交的 BUG翠花同学发现了一个 BUG ,她立马给开发提 BUG,未经过二次验证确认问题的有效性(譬如重复刚刚的操作步骤,该问题能不能重现),把无效的问题提给了开发。二)需求理解不清晰就提交的 BUG明明需求就是这样定义的,翠花同学需求理解有偏差,并且没有和产品研发确认需求,就把无效的问题提给了开发。三)BUG 描述不清,开发复现全靠猜翠花提交给开发的 BUG,要么就一张图,要么就一句话。开发完全不知道...
            0 0 1326
            分享
      • 51testing软件测试圈微信