zoukankan      html  css  js  c++  java
  • web自动化测试-自动化测试模型介绍

    一、线性测试

      什么是线性测试?

        通过录制或编写对应用程序的操作步骤产生相应的线性脚本,每个测试脚本相对独立,不产生依赖和调用,单纯的来模拟用户完整的操作场景

      缺点

        1、开发成本高,测试用例之间存在重复的操作,不得不为每一个用例去录制或编写这些重复的操作,如每个用例的登录和退出操作

        2、维护成本高,测试用例之间存在重复操作,当这些重复操作发生改变时都得去修改,如登录输入框定位发生变化,那么每个包含登录用例就得全部修改

    二、模块化驱动测试

      什么是模块化驱动测试

        由于线性测试的缺陷非常明显,所以借鉴编程语言中模块化的思想,把重复的操作独立成一个公共模块,当用例执行过程中需要用到这一模块操作时则被调用,这样最大限度的消除了重复,提高测试用例的可维护性

      优点

        1、提高开发效率,不用重复编写相同的操作脚本,如已经写好一个登录模块,后续有登录的地方直接调用即可  

        2、简化了维护的复杂性,如登录输入框定位发生变化,只需要修改登录模块即可,对于所有调用登录的模块不需要做任何修改

      缺点

        当重复操作有多个不同数据时还是要重复写脚本,如首次登录是用 张三用户名,下次登录用李四的用户名,那么就得重复去写登录脚本

    三、数据驱动测试

      什么是数据驱动测试

        为了解决模块化驱动测试的缺陷而设计,也就是数据的参数化,因输入数据的不同而引起输出的结果的不同

      优点

        实现数据与脚本分离,增强脚本的复用性

    四、关键字驱动测试

      什么是关键字驱动测试

        理解了数据驱动后,无非是把数据换成关键字,通过关键字的改变引起测试结果的改变,如robotframework框架

      优点

        把底层代码封装后取一个名字,这个名字就成了关键字,不需要懂代码,只要知道关键字使用即可

      缺点

        学习成本高,后期难维护,可靠性也会变差,局限在自己的框架内

          

          

            

  • 相关阅读:
    Leetcode Spiral Matrix
    Leetcode Sqrt(x)
    Leetcode Pow(x,n)
    Leetcode Rotate Image
    Leetcode Multiply Strings
    Leetcode Length of Last Word
    Topcoder SRM 626 DIV2 SumOfPower
    Topcoder SRM 626 DIV2 FixedDiceGameDiv2
    Leetcode Largest Rectangle in Histogram
    Leetcode Set Matrix Zeroes
  • 原文地址:https://www.cnblogs.com/puti306/p/11878461.html
Copyright © 2011-2022 走看看