• 自动化测试是什么?


    什么是自动化测试?
    当我第一次知道自动化测试的时候,除了知道“自动化”这三个有些高大上的称呼之外,我对自动化测试一无所知,正如谈恋爱一样,找女朋友之前要知道她是谁。

    那么是什么自动化呢?

    自动化难以定义,却存在于我们生活中的角角落落。其实理解自动化并不难,我觉得只要你不是智障都能够理解。举个例子:

    1、传统农耕VS自动化农耕

     
     

    2、传统播种VS自动化播种

     
     

    3、手工收割VS自动化收割

     
     
    上面三组图充分的诠释了手工农耕同自动化农耕的差别,那么我们尝试从上面的图片中总结一下传统农耕的特点:重复、低效、易错。

    首先,无论是耕耘、播种和收割,这些作业都是周而复始而没有任何变化的工作,这种重复却非常适合自动化农耕技术中预设的脚本。

    其次,传统的农耕作业都是低效的,面对当今大规模、快节奏的农耕需求,手工作业的生产力明显跟不上日益增长的饮食需求,靠人工是不可能完成的任务。

    最后,人类虽然是万物的灵长,但是面对重复、枯燥、大规模的农耕劳动中是很容易犯错的,使用自动化及其作业可以做到既专业又标准。

    通过上面的例子我们基本可以得到,机器+设定=自动化

     

    顾名思义,我认为将自动化技术应用到web测试当中,就是自动化测试。

     

    那么问题1来了,适合用自动化完成的测试工作特征都有哪些呢?

     

    测试中自动化的应用
    我们都知道,并不是所有的测试都适合自动化测试,那么在我们整个测试流程中,哪些测试工作适合自动化测试呢?

    其实回答这个问题非常简单,只有符合自动化特性的测试工作才适合进行自动化测试。

    按照时间顺序,我们大部分项目的测试流程应当是这样的:冒烟测试→新需求测试→兼容性测试→回归测试。

    冒烟测试:测试流程的重要起点

    新需求测试:测试过程中学习、探索最集中的测试

    兼容性测试:产品在不同浏览器上的兼容性测试

    回归测试:稳定功能是否受到新功能影响的测试

    结合自动化重复、低效、易错的特点,我们可以知道冒烟测试和新需求测试由于需求不稳定,变化较多,并不适合进行自动化测试;而回归测试和兼容性测试,前者需要执行大量的回归测试用例,后者需要将这些用例在不同的浏览器重复执行,完全符合自动化应用场景中的特点,我们完全可以利用自动化测试工具,将这些重复、低效、易错的工作做得更为高效和专业。

     

    下面大家看一个自动化测试使回归测试更为高效的例子:

    1、打开网易云课堂首页

    2、完成登陆

    3、导航栏进入【编程语言】

    4、选择【随到随学】→【用Java学编程】

    5、浏览章节

    6、选择【计算的优先级】一节

    7、验证章节标题是否为选取的章节

    由此,我们可以看到自动化测试确实能够提高我们在测试工作中的效率,节省大量的人力和时间。

    如何选择自动化测试工具?
    通过上面的例子,自动化测试的威力我们已经有了初步的了解,就像是编程语言等互联网技术百花齐放一样,WEB自动化测试工具也是多种多样的,那么作为自动化测试的初学者如何去选择自动化测试工具呢?

    当然了,内事不觉问百度,外事不觉问谷歌嘛,借助搜索引擎的力量我们可以找到我们要的答案,但是我建议你使用如下关键字搜索:Web+Automation+Test+Tools,至于为什么用英文,大家可以自己尝试比较一下搜索结果的差异,毕竟百度.....是吧......

     

    说实话,当你搜索的时候会有非常多的工具推荐,到底使用那种工具就要有一个严格的标准来筛选,我自己选择的标准如下:

    1、发展趋势要稳定上升

    2、要有一个活跃的社区能够讨论

    3、要是开源软件

    4、支持主流的编程语言(Java、Python)

    5、要支持主流浏览器(谷歌、IE、火狐等)

     
     
     
     

    综合以上,Selenium是不二之选。

    好了,说了那么多,那么如何学习自动化?学习有没有资料?

    对自动化感兴趣的同学,欢迎加QQ群:706315665,一起学习,相互讨论。

    群内已经有小伙伴将知识体系整理好(源码,笔记,PPT,学习视频),欢迎加群免费领取

    加QQ群:706315665,免费领取资料

    分享给喜欢自动化,有梦想成为大牛的Tester们,希望能够帮助到你们。

  • 相关阅读:
    Android漂亮的对话框项目sweet-alert-dialog
    JAVA并发编程4_线程同步之volatile关键字
    JAVA并发编程3_线程同步之synchronized关键字
    JAVA并发编程2_线程安全&内存模型
    JAVA并发编程1_多线程的实现方式
    JAVA 反射
    第五百三十九天 how can I 坚持
    第五百三十八天 how can I 坚持
    第五百三十七天 how can I 坚持
    第五百三十六天 how can I 坚持
  • 原文地址:https://www.cnblogs.com/gupao123/p/9791111.html
Copyright © 2020-2023  润新知