• 160519 如何做自动化测试?


    怎么做自动化,手工测试人员从事自动化测试的要领和经验有哪些?

     

    自动化测试人员发展的三个阶段

    初级阶段:仅会使用自动化测试工具,不能称之为自动化人员,只能称为脚本小子script kiddie;

    中级阶段:能独立写一些脚本,并开发一些工具;

    高级阶段:通过编写脚本完全解决实际工作中的问题。

     

    要做到自动化测试,需要很强的编程能力,这也是目前测试人员所欠缺的,精通一门语言,随心所遇的写一些测试脚本,从纯手工到不借助外力写脚本在北京这个地方可以涨薪2~5k不等。目前90%以上测试人员不具备开发能力只能纯手工,编程能提高核心竞争力。

     

    自动化测试分三个层级:

    最底层单元测试,中间层接口测试,最上层UI测试。

    clip_image001

    这三个层级形成一个倒三角,是为了表示不同阶段所投入自动化测试的比例:

    最底层是单元测试,最宽最厚,获得收益为70%

    中间层是接口测试,收益一般为 20%

    最上层是UI层,收益是10%

     

    对于以上三个层级而言,自动化测试成本是怎样的?

    单元测试基于类和方法,代码量少,测试时定位问题快,执行非常快,分析解决问题方便,适合大规模回归。

    接口对整体功能进行封装,对外提供服务,不仅单纯基于几个类和方法,封装了更多功能。接口一旦对外提供服务,更改、变更比较少,增加、删除较多,适合自动化。尤其在大公司,接口层变化不大。

    自动化适合不发生变化的地方,变化意味着脚本修改。测试脚本的稳定性决定了自动化测试的维护成本。

    最后一层,UI层(用户界面)最容易发生变化,给自动化测试带来很大的麻烦,所以做得好的很少。

     

    考虑下自己可以做哪一层?

    最底层可定义为白盒测试,会增加一些黑盒设计角度,大部分基于代码的实现逻辑测试,由开发人员完成

    中间层,接口测试适合自动化

    市面上关注UI自动化测试,但工具多难度大。普遍认为界面测试有意义,因为最终呈现给用户的是UI层。而UI层自动化测试不容易, 变化大,脚本维护困难,要求有相对好的测试框架。

    大公司中从事接口测试、服务器端测试较多。服务器端可以理解为一种接口,但和接口只测试输入和输出不同,更关注服务器算法实现的细节、分支,称为灰盒比较合适,是自动化很好的一个方向。

     

    功能测试转自动化你需要做什么?

    首先要有很强的编程能力,其次是对技术、测试开发架构理解,还需要积累很多知识(算法、架构、编程、数据库、Linux、操作系统)

    ~~~先学好编程 1W代码,再说其他的~~~

    UI自动化测试框架之Selenium原理及特点:

    1.   关键字驱动测试是数据驱动测试的一种改进类型

    2.    主要关键字包括三类:被操作对象(Item)、操作(Operation)和值(value),用面向对象形式可将其表现为Item.Operation(Value)

    3.   将测试逻辑按照这些关键字进行分解,形成数据文件。

    4.    用关键字的形式将测试逻辑封装在数据文件中,测试工具只要能够解释这些关键字即可对其应用自动化

    selenium 2.0 = selenium 1.0 + WebDriver

    《Selenium WebDriver实战宝典》一书的框架核心思想:

    1、分布式:测试用例多时,如何并发执行

    2、行为驱动开发框架(BDD- (Behavior-Driven Development)):Qconber把测试用例映射到测试方法,通常用于敏捷测试中

    3、关键字驱动:比较强大;三要素,什么操作、操作谁、操作值是什么,

    由非测试人员定义操作步骤,适合测试开发人员提供框架给不懂写脚本的人使用

    4、数据驱动框架:测试程序不变,数据变化,适合小功能点测试

    5、混合型框架:最高级,既支持数据驱动,又支持关键字驱动

  • 相关阅读:
    C# winform窗体间传值(使用委托或事件)
    C# ListView用法详解
    C# ListView列表包含添加和删除,自动排序
    C#跨窗体传值的几种方法分析(很详细)
    c#listview控件的数据添加和常用事件的处理
    C#中结构体与字节流互相转换 [StructLayout(LayoutKind.Sequential)]
    C# winform 操作access常用类
    发行自己的区块链加密货币
    以太坊自助发币
    supervisor常用命令
  • 原文地址:https://www.cnblogs.com/blueskylcc/p/5508706.html
Copyright © 2020-2023  润新知