zoukankan      html  css  js  c++  java
  • 怎么转型自动化测试?——让转型自动化测试不是空喊!

    少部分从事软件自动化测试,会接触底层服务端、API 、Web、APP、H5 等等,对自动化有了解。

    想做自动化,首先得了解一下自动化测试的一些常见问题。

    也是面试时,必问的一些问题(这么简单的面试问题,你却答的一塌糊涂),如果对自动化完全不了解,每天在那嚷嚷要做自动化,都是空喊。

      自动化测试一些问题

    一、什么是自动化测试?

    自动化测试,顾名思义,自动完成测试工作。

    通过一些自动化测试工具或自己造轮子实现模拟之前人工点点/写写的工作并验证其结果完成整个测试过程,这样的测试过程,便是自动化测试。

    自动化测试,看上去很美,感觉好像是第一次工业革命,它开创了以机器代替手工劳动的时代,实则不然。

    因为每一个自动化测试的case都是从手工测试做起的,如果没有手工测试的基础,是没法进行自动化测试。

    二、为什么要进行自动化测试

    为什么进行自动化测试,答案要从自动测试的收益和人肉测试的成本说起:

    1)自动化测试节约成本(根据项目)

    毕竟自动化测试确实解放了一批人力(人力成本才是IT公司大的成本),可以让机器没日没夜的执行一些重复劳动.

    2)有些测试项目手工很难实现(手工成本较高)

    比如12306的压力测试、负载测试,同时找那么多人去测试不现实可以通过机器去模拟.

    3)项目质量流程需要

    比如版本管理需要build verify,以保证check in的code不会影响版本库。

    类似于smoke test

    自动化测试的优缺点

    优点

    避免测试人员因重复劳动产生厌倦

    提高测试效率

    保证每次测试地一致性和可重复性

    更好的利用无人值守时间

    进行一些手工无法进行的测试

    缺点

    维护成本相对比较高

    系统开发时间不一定能缩短

    还是得依赖手工测试,很多问题无法发现

    什么样的项目适合做自动化测试(dev手一抖,auto忙一宿)

    有以下几个特点的项目比较适合自动化测试:

    1.项目变动少

    2. 周期长

    3. 项目资源足够(自动化不是一个人完成的,需要一帮人长期维护)

    举例说明:

    互联网项目,一周内要上线,你不上线别人上线人家不用你的,项目周期短,变动快,你自动化还没做好,项目说不定下线了。

    比如某宝双12活动相关项目,一周之内下线了。

    适合做自动化测试的项目,比如某宝客户端,每个release,大部分功能都不变,并且3-5年内项目不会下线,这个比较适合自动化.

    什么样的人适合做自动化测试?

    这个问题是写给想要做自动化测试的人,或许你以为软件测试的门槛很低,低到任何人都可以做,随便点点可以了,这个行业太low了,所以你想做自动化测试,提升自己的逼格,我想说手工测试并不low,如果让一个什么都不懂,一点业务基础都没有的人去做测试,能测出来问题吗?不要忽略你的业务知识储备.

    你的业务知识储备的积累能让你成为不可替代的行业专家,而做自动化的码农会因为一个时代的更迭被小鲜肉替代。

     

    扯了这么多,究竟什么什么样的人能做自动化测试?

    我的理解分一下几点:

    1)拥有代码能力

    掌握一门开发语言,java、Python、ruby、c#

    2)熟悉被测系统

    比如你是web测试,你得懂js、css、html、xpath

    你是移动端测试,你得具备Android 开发基础和iOS开发基础,会debug app

    你是 C/S测试你要很熟悉TCP、IP协议

    3)掌握一套自动化测试框架(工具)

    比如

    selenium/appium

    nunit/testng

    robot framework/cucumber

    4)善于学习,达到知其然知其所以然

    IT行业变化太快,每隔一段时间会出现一些新兴的东西,也会出现原来很火的东西逐渐没落,谁也无法预测。

    曾经诺基亚还是手机霸主,靠塞班一统天下,然而不思进取,落得个卖身求生存.

    曾经qtp很火,曾经selenium也很火,现在appium也很火

    软件行业从桌面软件到web端,又从web端迁移到移动端,谁也不知道下一个是什么。而我们作为软件行业的从业者,不能因为那些很火的东西不火了而让自己没落,一个人为核心的能力是学习能力。

    如果你善于学习,你不必担心这些变迁,因为你可以毫无压力的迁移,

    selenium的原理你掌握了,学习appium简直小菜一碟,因为appium使用的是

    selenium WebDriver protocol 。

    如果你能做到知其然知其所以然,你也可以造轮子,改造appium,毕竟现在很多功能需要完善。

    如果你没有达到以上的几点,建议你还是做手工测试吧。

    如果你有代码基础,想要从事自动化测试怎么去学习?

    1、很多初学者很纠结,学qtp还是学selenium

    我的建议是学selenium,开源的,免费的,你可以下载源码研究,去了解其原理,再者现在selenium的资料不要太多,随便搜搜一大堆,学起来比较轻松。

    不建议学selenium IDE录制,当然你可以通过录制一些然后转换为相应的脚本去学习,等你学好了selenium, 再去学appium你会有一种天然的似曾相识。

    2、为什么不建议学QTP/UFT?

    因为收费/臃肿/现在做桌面软件测试的工作已经不太多了。

    3、关于买书

    自动化工具类的书,可以买一些,做任何事情都得坚持,也可以去官网找example,去相应的社区和群交流(642830685),或者直接看API/源码.

    当然,测试基础类的书籍,至少得看过一本,有系统性的知识。

    总结:

    新人学习自动化测试要:

    1、掌握一门开发语言

    2、掌握一些基础的知识

    3、自动化方面,少买书,多看测试框架的Document,多去技术社区交流

    4、不断学习,提升自己发现问题,解决问题的能力

    5、不做伸手党,多动手

    总而言之

    1、学习一门开发语言,Java/Python,学习一个测试工具selenium/appium,掌握一个测试框架,testng,cucumber 等

    2、平时多沉淀,然后抓住机遇,即可轻而易举的转型自动化测试。

    身为一名IT技术人员磨练自己的技术是必不可少的,欢迎加入我们,,。群。(642830685),领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!还可以与大牛在线随时讨论自己感兴趣的话题,让自己用最少的时间学到最多的东西。
















  • 相关阅读:
    新随笔(二)用户体验:用户注册表单中的“年份”设计乱象
    新随笔(一) 从用户心理体验谈慎用瀑布流设计
    产品经理,你来自江湖
    对你同样重要的非技术贴,8个方法让你成为下一个晋升对象
    非技术贴,10件事证明你跟错了人
    Android开发工程师,前行路上的14项技能
    SVN报错:Error Updating changes:svn:E155037的解决方案同样适用于svn clean up失败解决方案
    方法命名问题
    controller 获取data: JSON.stringify(param)
    毕业设计----maven使用ueditor编辑器
  • 原文地址:https://www.cnblogs.com/www642830685/p/13335580.html
Copyright © 2011-2022 走看看