web自动化测试-自动化测试模型介绍

一、线性测试

  什么是线性测试?

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

  缺点

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

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

二、模块化驱动测试

  什么是模块化驱动测试

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

  优点

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

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

  缺点

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

三、数据驱动测试

  什么是数据驱动测试

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

  优点

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

四、关键字驱动测试

  什么是关键字驱动测试

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

  优点

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

  缺点

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

      

      

        

原文地址:https://www.cnblogs.com/puti306/p/11878461.html