• Web自动化测试理论知识


    Web 自动化理论知识

    1、自动化测试概述
    概念:用工具代替/辅助人工完成完成软件测试活动的过程
    特点:
        可以对程序的新版本自动执行回归测试
        可以执行一些手工测试困难或不可能进行的测试
        可以更好地利用资源
        测试具有一致性和可重复性
    误区:
        期望自动化测试发现大量新故障
        安全性错觉
        自动化测试的维护开销

    2、自动化测试的优势
    重复多次执行测试时节省很多时间
    提高测试覆盖率和测试精度
    实现自动化回归测试减少工作量
    减少手工测试人为产生的错误
    提供规范化的过程和一致性
    更好的文档记录

    3、自动化测试的局限性
    手工测试比自动化测试发现的故障更多,自动化测试只能发现约15%的bug
    自动化测试不能提高测试的有效性,只能用于提高测试的效率
    自动化测试不具有想象力,没人聪明
    自动化测试不能代替手工测试,下列情况不适合于自动化测试:
        测试频度很低
        软件不稳定
        结果很容易通过人验证的测试(人式实施较为高效)
        涉及物理硬件设备交互的测试

    4、自动化测试的内容
    测试数据自动生成
    自动化输入
    测试结果自动比较
    测试自动执行
    自动化测试用例的管理
    在线监控

    5、自动化脚本技术
    线性脚本:  录制、回放
    结构化脚本:  含有控制脚本执行的指令,支持顺序、选择和循环
    共享脚本:  可以被多个测试用例使用,脚本之间可以互相调用
    数据驱动脚本:  数据驱动脚本是将测试输入存储在独立的文件中,脚本中只存放控制信息
    关键字驱动脚本:  关键字驱动脚本实际上是较重复的数据驱动技术的逻辑扩展 ,即测试用例的执行步骤(操作,操作对象,操作值)存放在文件中,直接执行

    6、Web自动化测试的基本原理:
    找到要操作的元素-->操作元素-->获取操作后的结果-->实际结果和期望结果对比-->测试结果-->记录测试结果-->发送测试报告给相关人-->修改Bug

    7、需要的基本知识:Html、Css、Js、熟悉(Java、Python、.net、ruby)其中的一种、MysqL的基本sql知识、unittest的基本使用方法
    参考网站:www.w3school.com

    8、需要用到的工具包和工具:
    浏览器:IE、Firefox、Chrome、safari
    Selenium browser drivers: geckodriver Chrome Driver InternetExplorer Driver
    Selenium tools: Selenuim Webdriver client driver Selenium Standalone Server
    集成开发环境:Pycharm
    BDD框架工具:lettuce
    其他工具:AutoIt、Win32api

    9、自动化测试的类型:
    单元测试-执行速度最快
    接口测试-执行速度较快
    UI测试-执行速度最慢

    10、自动化测试需要的条件:
    软件需求变动不频繁
    项目周期足够长
    自动化脚本可重复使用
    有编程和设计能力的测试开发人员
    研发团队的支持

    11、使用自动化的一此典型场景:
    验证原有功能是否依旧可以使用,适合进行大量回归测试的场景
    使用自动化没测试技术注入测试数据
    敏捷开发的TDD模式,行为驱动开发模式
    机械并频繁的测试,每次需要输入相同、大量的一些数据,并且在一个项目中运行的周期比较长
    做业务运行状态监控

    12、自动化实践的一些建议
    从上到下的支持和协作
    先找小项目进行试点
    测试人员需要有较强的编程能力和设计能力
    开发需要不断提高软件的可测试性
    多鼓励单元测试、接口测试
    UI测试使用并行测试方式提高执行速度

    13、关于UI自动化的一些建议
    需要根据自己的测试业务类型,量身定做适合自己的测试框架
    让不懂开的测试人员也能使用测试框架来进行自动化测试
    使用分层的结构来设计框架
    使用截屏技术提高一些测试效率
    不断积累自动化测试技术,对开发提可测试性的要求

    14、自动化测试实施失败的因素
    期望值过高,就像管理人员要求完全测试一样,期望100%的自动化测试,也同样是一个不现实的需求
    对收益和成本认识不清。抛开工具的购买成本和培训成本,自动化测试的成本应该还包括两部分(实现成本中还隐含了测试准备成本):成本=实现成本+运行维护成本
    自动化测试的收益是由测试的重复运行次数,或自动化测试脚本的利用率决定的

    15、什么时候开始实施自动化
    可预见的需求不影响自动化测试用例的设计

    16、如何实施自动化测试
    获取信息和测试需求分析:总体把握系统架构和设计,分析出系统的测试需求
    设计:设计测试用例,并且挑选出需要自动化实现的测试用例
    实现:编写、调试和实现测试脚本
    执行:执行脚本的过程,需要不断分析执行过程中的异常
    测试结果分析:分析哪些是Bug,哪些是测试框架本身的问题
    维护:自动化测试脚本的维护是一个难以解决又必须要解决的问题
    总结:在自动化测试过程中总结自动化实践的投入产出比

    17、什么是测试框架(framework)
    整个或部分系统的可重用设计,表现为一组抽象构件以及构件实例间交互的方法;可被开发者定制的应用骨架

  • 相关阅读:
    ES6-->ECMAScript 6.0 新增方法,一些基本语法
    初识 Nodejs (了解Nodejs)
    Vue框架初识
    python语法入门之流程控制
    python中基本运算符
    格式化输出
    基本数据类型
    变量,解释器,垃圾回收机制,小整数池总结
    编程语言发展史
    计算机基础
  • 原文地址:https://www.cnblogs.com/test-chen/p/10300024.html
Copyright © 2020-2023  润新知