zoukankan      html  css  js  c++  java
  • 浅谈UI自动化测试

    1、about自动化测试

    定义:把人为驱动的测试转化为机器执行的一种过程,重点在于持续集成这个概念;

    优势:节约人力和时间成本;

    测试金字塔

    如上图所示,敏捷大师Mike Cohn提出该概念,然后由Martin Fowler大师在此基础上提出了测试分层概念,以区别于传统的自动化测试。

     

    2、自动化测试分层

    单元自动化测试(数据处理层):指对软件中最小的可测试单元进行检查和验证,一般需要借助单元测试框架,如java的Junit、TestNG,python的unittest,常见的手段是code review等;

    接口自动化测试(业务逻辑层):主要检查验证模块间的调用返回以及不同系统、服务间的数据交换,常见的接口测试工具有postman、jmeter、loadrunner等;

    UI自动化测试(GUI界面层):UI层是用户使用产品的入口,所有功能通过这一层提供给用户,测试工作大多集中在这一层,常见的测试工具有UFT、Robot Framework、Selenium、Appium等;

    性价比:按照测试金字塔模型以及投入/产出比,越向下,回报率越高;

    Google的自动化分层投入占比:

    小测试(Unit):占比70%;

    中测试(Service):占比20%;

    大测试(UI):占比10%;

    自动化测试面临的挑战:面临的最大挑战就是变化,因为变化会导致测试用例运行失败,所以需要对自动化脚本不断debug,如何控制成本、降低成本是对自动化测试工具以及人员能力的挑战。

     

    3、什么样的项目适合自动化测试

    如上图所示,真正工作中无法全部满足以上条件,所以需要作出权衡,一般来说,只需要满足以下几点,就可以对项目开展自动化测试(图中红色框标注的选项):

    ①需求稳定,不会频繁变更

    自动化测试最大的挑战就是需求的变化,而自动化脚本本身就需要修改、扩展、debug,去适应新的功能,如果投入产出比太低,那么自动化测试也失去了其价值和意义;

    折中的做法是选择相对稳定的模块和功能进行自动化测试,变动较大、需求变更较频繁的部分用手工测试;

    ②多平台运行,组合遍历型、大量的重复任务

    测试数据、测试用例、自动化脚本的重用性和移植性较强,降低成本,提高效率和价值;

    ③软件维护周期长,有生命力

    自动化测试的需求稳定性要求、自动化框架的设计、脚本开发与调试均需要时间,这其实也是一个软件开发过程,如果项目周期较短,没有足够的时间去支持这一过程,那自动化测试也就不需要了;

    ④被测系统开发较为规范,可测试性强

    主要出于这几点考虑:被测试系统的架构差异、测试技术和工具的适应性、测试人员的能力能否设计开发出适应差异的自动化测试框架;

    4、常见的自动化测试工具简介

    UFT(Unified Functional Testing)

    即原来的QTP(Quick Test Professional Software)与ST(Service Test)合并而来,由HP公司开发,是一个企业级的商业自动化测试工具,提供了强大易用的录制回放功能,

    同时兼容对象识别模式与图像识别模式,支持B/S和C/S两种架构的软件测试;

    Robot Framework

    一款基于python语言编写的自动化测试框架工具,具备良好的扩展性,支持关键字驱动,支持多种类型的客户端和接口,可进行分布式测试;

    Selenium

    应用于web的自动化测试工具,支持多平台、多浏览器、多语言来实现自动化,优点如下:

    ①开源、免费;

    ②多浏览器支持:chrome、Firefox、IE、Edge等;

    ③多平台支持:Linux、Windows、MAC;

    ④多语言支持:java、python、Ruby、C#、JavaScript、C++;

    ⑤对web界面有良好的支持;

    ⑥简单(API简单)、灵活(开发语言驱动);

    ⑦支持分布式测试用例执行; 

    5、做UI自动化测试,需要什么技能

    ①前端相关技术 HTML、XML、JavaScript、TCP/IP协议等

    ②一门编程语言

    就像前面说的,selenium支持多种语言,根据个人情况以及项目的开发语言酌情选择;

    ③合适的工具选型

    比如selenium,比如UTF等;

    ④需求分析

    项目类型,特质,生命周期,是否适合开展自动化测试等;

     
     
  • 相关阅读:
    November 13th 2016 Week 47th Sunday The 1st Day
    November 12th 2016 Week 46th Saturday
    November 11th 2016 Week 46th Friday
    November 10th 2016 Week 46th Thursday
    November 9th 2016 Week 46th Wednesday
    November 8th 2016 Week 46th Tuesday
    windows 7文件共享方法
    Win7无线网络共享设置方法
    常量指针和指针常量
    如何查找局域网的外网ip
  • 原文地址:https://www.cnblogs.com/lp475177107/p/10259642.html
Copyright © 2011-2022 走看看