zoukankan      html  css  js  c++  java
  • 自动化测试感悟

    1.自动化测试的优点

      a)提升测试效率

      b)弱化了测试人员个体差异对测试结果的影响

      c)提升整个测试团队的技能水平

    自动化开发本身就是一个双刃剑,它能够带来的好处显而易见,但是如果没有规划好自动化开发的进度,没有控制好自动化脚本的质量,往往会造成较多不必要的工作。

    2.自动化脚本的关键

        要开发一套高质量的测试脚本,需要满足一下的特点:

      a)能够有效发现产品缺陷:

      注意:

        i)在开发测试脚本的时候,尽量少使用try/catch语句。这种语句会隐藏测试过程中的异常,测试人员容易被脚本运行成功的假象所迷惑。在开发脚本的时候,要记得脚本的目的是暴露问题,任何在运行脚本时抛出的异常都有可能是产品问题产生的,因袭需要避免在代码中隐藏问题。

        ii)一个好的自动化脚本开发人员首先必须是一个好的测试人员,只有对需要测试的产品非常熟悉,才能够开发出真正有效的测试脚本。

      b)有良好的可读性和错误日志,能够方便测试人员快速定位问题所在;

      提高脚本可读性的方法:

        i)遵守通用的代码编程规范;

        ii)讲测试计划的内容以注释的形式写到代码中;

        iii)测试数据和代码分离;

        iv)避免在脚本中使用硬编码数据。

      c)能够稳定、重复、独立的运行,经过严格的审查流程;

        运行独立性指的是每套脚本之间是独立的,可以按照任何顺序独立运行,并且在每套脚本内部,每个测试用例也是独立的,可以挑选部分测试用例独立运行。

        独立性的好处:

          i)如果用例之间关系密切,某一个用例执行失败可能会导致后续一系列用例执行失败;

          ii)缺少独立性会增加解决脚本问题的难度。当脚本运行失败,很难定位问题。

          iii)缺少独立性的话,很难选取部分case运行。

        保持独立性的方法:

          i)每个测试同理都有明确的环境设置和数据准备/清除的代码;

          ii)完成测试脚本之后,有意识的将脚本多次无序执行,确保脚本具有稳定的输出。避免单个case运行时没有问题,整套脚本运行时case间数据会有互相影响;

      d)经过充分的脚本检验流程。

    3.制定自动化开发的时间

        在实际项目中,需要根据产品特点设定自动化脚本开发时间,可以从如下几点考虑:

      a)不要在产品不稳定的时候开发自动化;

      b)将测试脚本用于回归测试冲;

      c)首先开发通用task。

    4.自动化测试的比例

        一般是在测试用例中选择一部分用来进行自动化,对于API测试,一般可以选择40%~60%具有代表性的测试用例进行自动化,对于UI测试,一般选择30%左右。

    5.如何评估是否要做自动化

    可以通过如下方式评估是否要做自动化:

    脚本开发执行成本=极爱哦本开发工作量 + (平均调试脚本工作量 + 平均执行脚本工作量) x 产品周期执行次数

    手工执行成本=平均手工执行工作量 x 产品周期执行次数

    ROI = 脚本开发执行成本/手工执行成本

    如果ROI比例在5以内,则说明需要用5倍的工作量去开发自动化脚本,即如果这套脚本执行5次才能回本,以后每次运行都算盈余。

  • 相关阅读:
    javaWeb服务详解【客户端调用】(含源代码,测试通过,注释) ——Emp实体类
    javaWeb服务详解【客户端调用】(含源代码,测试通过,注释) ——Dept实体类
    javaWeb服务详解【客户端调用】(含源代码,测试通过,注释) ——Dept实体类
    javaWeb服务详解(含源代码,测试通过,注释) ——web.xml
    hdu2044:一只小蜜蜂
    最大连续子序列和
    牛客练习赛20 F-填数字
    Attack City and Capture Territory & 取石子(博弈)
    畅通工程1
    和最大子序列
  • 原文地址:https://www.cnblogs.com/feiyafei/p/10105935.html
Copyright © 2011-2022 走看看