zoukankan      html  css  js  c++  java
  • 03、为什么要做自动化测试?什么样的项目适合做自动化测试

    一、什么是自动化测试

      把人对软件的测试行为转化为由机器执行测试的一种实践,可以把测试工程师从机械重复的测试工作中解脱出来,将更多的精力放在新功能

           的 测 试和更全面的测试用例设计上【我们通常在测试工作中分为接口自动化和GUI自动化】

      自动化测试的本质是先写一段代码,然后去测试另一段代码,所以实现测试自动化用例本身属于开发工作,需要投入大量的时间和精力,并且已经

      开发完成的用例还必须随着被测对象的改变而不断更新,还需要为此付出维护测试用例的成本

    二、为什么需要自动化测试

      优势

      1、自动化测试可以替代大量的手工机械重复性操作

      2、自动化测试可以大幅提升回归测试的效率,非常适合敏捷开发过程

      3、自动化测试可以更好的利用无人值守时间,去频繁的去执行测试

      4、自动化测试可以高效实现某些手工测试无法完成或者代价巨大的测试类型

      5、自动化测试可以保证每次测试执行的操作以及验证的一致性和可重复性,避免人为的遗漏或疏忽

      

      劣势

      1、自动化测试并不能取代手工测试,它只能替代手工测试中执行频率高、机械化的重复步骤

      2、自动化测试远比手动测试脆弱,无法应对测试系统的变化【在接口自动化测试中,一般接口的改动性不会很大,GUI自动化在敏捷开发

        模式下使用的话,维护成本比较大】

      3、自动化测试用例的开发工作量远大于单次的手工测试【所以也要根据实际项目来进行评估,投入的时间比是否小于产出比】

      4、手工测试发现的缺陷数量通常比自动化测试要更多,并且自动化测试仅仅能发现回归测试范围的缺陷【版本迭代时,相关联的功能还是需

        要手动验证的,自动化在回归测试上确实会提高效率】

      5、自动化测试开发人员必须具备一定的编程能力【学习编程还是学JAVA吧,原因这里就不一一说啦,认识的基本都是搞java的多】

    三、什么样的项目适合自动化测试呢?

      1、需求稳定,不会频繁变更

      2、研发和维护周期长,需要频繁执行回归测试【一般3个月完成的小项目,自动化体系成熟了,项目结束了,这不也没啥意义,咱们又不是

        做面子工程的对吧】

      3、需要在多种平台上重复运行相同测试的场景

      4、某些测试项目通过手工测试无法实现,或者手工成本太高

      5、被测软件的开发较为规范,能保证系统的可测试性,另外,某些用例的自动化必须要求开发人员在产品中预留可测试性接口,否则后续的自

        动化会很难开展

      6、测试人员已经具备一定的编程能力

    说明:教程来源极客时间--软件测试52讲,作者:茹炳晟   

         喜欢的朋友可以去订阅学习

  • 相关阅读:
    deeplearning.ai 卷积神经网络 Week 1 卷积神经网络
    deeplearning.ai 构建机器学习项目 Week 2 机器学习策略 II
    deeplearning.ai 构建机器学习项目 Week 1 机器学习策略 I
    deeplearning.ai 改善深层神经网络 week3 超参数调试、Batch Normalization和程序框架
    deeplearning.ai 改善深层神经网络 week2 优化算法
    deeplearning.ai 改善深层神经网络 week1 深度学习的实用层面
    cs231n spring 2017 lecture8 Deep Learning Networks
    cs231n spring 2017 lecture7 Training Neural Networks II
    cs231n spring 2017 lecture6 Training Neural Networks I
    cs231n spring 2017 Python/Numpy基础
  • 原文地址:https://www.cnblogs.com/dxw-dong/p/12592066.html
Copyright © 2011-2022 走看看