• 0
  • 0
分享
  • 新手如何从功能测试转型到高级自动化测试——软件测试圈
  • 曼倩诙谐 2023-06-29 15:16:41 字数 2106 阅读 1047 收藏 0

  前言

  自己之前为了学习自动化测试加了几个自动化测试的群,在群里和不少大牛交流,也和不少新手交流。因为自己也是一个自动化测试的新手,就想着总结下自动化测试学习工作中遇到的问题,也希望如果有想学习自动化的童鞋,可以学习前看下这篇感想,可能对于你的学习有所帮助。下面我所说的东西都是群里好多自动化测试新手遇到的,有技术方面的,也有工作中遇到关于自动化的问题(很现实。。。)

  学习自动化难不难

  学习自动化难不难?自动化测试如果仅仅是使用录制回放来进行自动化测试是一点都不难的,这种使用工具进行录制回放的自动化测试(例如Selenium使用SeleniumIDE)不需要你懂代码,不需要你像性能测试那样录制完成还要进行分析总结(性能测试我认为最叼的不是工具的使用,是对测试结果的分析,并且给出合理的性能优化方案)。这种录制回放有的可以是为了BUG的更好的复现,有的就是做下回归测试冒烟测试。那么有的新手就会疑问,录制回放是自动化,写脚本也是跑自动化,为什么非要写代码?

  1.录制回放的局限性太大。录制回放的仅仅是一个用户的一个操作过程或者说一个业务实现过程。以我的实际工作例子,一个客户的账号会有多种状态(正常,挂失,部分冻结,全部冻结,只收不付,只付不收…),如果要测试不同状态的账号的业务,难道要录制多遍?它们仅仅是账号有区别,如果自己写脚本,弄个数据驱动就搞定了。

  2.从原因1中我们可以看到,录制回放仅仅是一个个零散的case,作为一个自动化测试项目来说,没有一个好的自动化测试框架,仅仅是一堆录制回放的case,那这样的自动化测试还有存在的意义吗?有了问题就重新录制?自动化的本意就是解放重复的手工测试,一次次的录制也是重复无用的工作。

  3.有一个好的测试框架编写脚本,可以增强测试的业务逻辑性,与业务的各种需求连接更加紧密,更好的提高业务需求人员与测试人员的协同工作。

  从上面可以看出,仅仅使用录制回放来进行自动化测试是很简单的,但是效果是没有那么好的,像我们公司也使用testwriter进行自动化测试,实际的效果没有很明显。那也会引出另外一个问题:自动化是为什么而做,它高大上?部门老大让做就做?先把第一个问题解决完。

  那么写自动化脚本难在哪?作为一个开发转测试表示没有难度…勿喷勿喷,但是作为一个没有开发经验没有代码经验的新手来说写自动化测试脚本难吗?不难!!!从我自身来说,我是学的Python,但是我是用java写脚本的,Python我也是自己现学的。我们来看写自动化脚本需要用到开发语言的哪些东西。

2-2.png

  这是我学习自动化测试Selenium时参考的书籍资料,当然从开发角度来看这点东西塞牙缝都不够,对于没有语言基础的人来说,这些东西的学习(以上班族每天晚上2-3个小时的学习时间来说,别跟我说挤不出学习的时间)最多一个月。注意注意!!!经常在群里看到有新手这样问,这行代码怎么会出错误啊,这个怎么会报错啊,我按网上搜到的代码写的怎么报错啊诸如此类的,这都是一个原因,语言基础不好或者是没有语言基础强行写脚本。连最基本的语法都搞不懂,怎么去写出高质量的代码,写代码不像是学习一个工具的使用,工具的使用你可以直接拿一个案例来运行,边使用边学习,熟能生巧,但是代码是不同的,不懂最基础的语法,模糊的知道这行代码是干嘛的有用吗?随便换个场景,换个逻辑就又蒙蔽了。所以不要急于求成,必须要掌握最基本的语言基础,最好每学习完一个东西辅助性的做些练习题,代码是敲出来的,不是看会的。

  自动为什么而做

  自动化是为什么而做,它高大上?部门老大让做就做?经常有群里的小伙伴说,哎呀自动化搞了半天也没测出几个问题,老大叼我了;哎呀,我们老大说自动化挺厉害的让我学习搞一下;哎呀,这个自动化能代替手工测试吗,各种测试案例都能写出脚本来执行吗?有的小伙伴在学习自动化的时候可能看到过一些大牛说过什么样的项目可以进行自动化,但是都有一个模糊的概念,那通过这几个问题就很直接反应出我们能必须认知的东西:做自动化一定要知道为啥做。

  1.考虑项目是否适合做。

  2.认识到自动化与手工测试不是矛盾的,不是谁可以代替谁的。

  3.自动化测试一般用于回归测试和冒烟测试。

  以上三点可以解决群里小伙伴们的问题,就算是部门老大问你,你也可以这样说。

  新手如何做自动化

  新手如何进行自动化测试。只说一句,学习是循序渐进的,不论你上面领导要求你多久上手自动化,都应该一步一个脚印去学习,不要拿没时间压力大当借口。我对于那些在群里问那些最最基本问题的新手感觉很不爽,熊瞎子掰棒子,没有会爬就想跑,这样学的很不扎实,做起来也会很不顺利。以学习Selenium为例

  1.学代码

  2.学习SeleniumAPI(就是封装了许多方法的一个测试框架)

  3.学习自动化测试项目的构建…

  没有学习的心,做什么都很难,以上是我的一些吐槽和感想,不吐不快。。。。。。人若没有梦想,那跟咸鱼有什么区别!!!

2-1.png


作者:码上开始    

来源:http://www.51testing.com/html/79/n-6146079.html

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 在学习测试理论基础时,相信大家都曾看到这个问题“请说说软件测试分类”,其中一个答案就是:按测试阶段,软件测试可分为:单元测试、集成测试、系统测试、验收测试。那么,单元测试?单元测试?什么是单元测试呢?最初作为一个对单元测试毫无概念,对单元测试的了解仅限于官方简介说明,且只会if else基础语法的初学小白而言。觉得单元测试肯定是需要强大的代码能力,是那种能写上千万个字符代码的资深码农才会的技能。后面学习了测试开发课程后发现,其实单元测试从某种层面上可以简单的说就是测试某个单元函数方法是否满足设计的测试。在前端界面未实现的情况下,通过写单元测试代码来调用测试这个函数。例如:开发写了一个求和函数,...
            0 0 2285
            分享
          • 题目一完成基于TCP的客户端和服务器程序编写,要求服务器采用循环方式处理客户端的数据。server.c#include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> #include <sys/socket.h> #include <unistd.h> #include <errno.h> #include <arpa/inet.h&g...
            0 0 1172
            分享
          • 软件测试也是近几年才火爆起来,由于其入门低、容易上手、对学历要求低等特点,使其迅速蓬勃发展起来。但俗话"入门容易成才难",软件测试包罗万象从文档静态测试、手工测试、自动化测试、单元测试、集成测试、安全测试、兼容性测试等各种形态或阶段测试,这些阶段都需要极强的理论基础和扎实技术功底。由于近年来大数据、云计算、物联网、人工智能、区块链等技术的兴起与使用,软件测试面临的挑战也越来越多,软件测试工程师遇到的机遇与挑战也越来越多。借用一句话“物竞天择,适者生存”,那如何在软件测试行业保持自己的核心竞争力呢?个人认为保持个人核心竞争的一个前提是要有“终身学习的理念”。你从事软件测试可能...
            0 0 2185
            分享
          • 随着软件行业的快速发展,接口测试用例在软件开发中扮演着越来越重要的角色。自动化测试作为软件测试的一个重要分支,一般可以提高测试效率和质量,节约测试成本和时间,但是在实际推行过程中,大多数团队最终却难以持续实施自动化测试,不是编写测试用例有多难,而是维护测试用例的成本非常高,通常是“编写用例一时爽,维护起来火葬场”。于是对于如何有效地编写和运行接口测试用例就成了一个重要的话题。根据调查,大多数团队推行自动化测试最后却不了了之的原因无非是:1、需求变更频繁随着产品和业务的快速发展,需求往往会频繁变更,这就要求自动化测试的脚本也需要经常更新和维护,否则会导致测试效果下降。如果团队无法及时维护测试脚本...
            0 0 838
            分享
          • 问:你在测试中发现了一个  bug ,但是开发经理认为这不是一个  bug ,你应该怎样解决。首先将问题提交到缺陷管理库里面进行备案。然后要获取判断的依据和标准:根据需求说明书、产品说明、设计文档等,确认实际结果是否与计划有不一致的地方,提供缺陷是否确认的直接依据;如果没有文档依据,可以根据类似软件的一般特性来说明是否存在不一致的地方,来确认是否是缺陷;根据用户的一般使用习惯,来确认是否是缺陷;与设计人员、开发人员和客户代表等相关人员探讨,确认是否是缺陷;合理的论述,向测试经理说明自己的判断的理由,注意客观、严谨,不参杂个人情绪。等待测试经理做出最终决定,如果仍然存在争议,...
            2 1 3200
            分享
      • 51testing软件测试圈微信