zoukankan      html  css  js  c++  java
  • 第一章:自动化测试基础学习

    性能测试工具:loadrunner、jmeter
      用于生成多个测试数据。狭义上讲,就是通过工具记录、脚本编写、回放或执行脚本 模拟手工测试。
     
    自动化测试:传统测自动化测试更关注产品UI曾的自动化测试,要进行分层测试,对产品的不同阶段都需要自动化测试.
     
      单元测试:对最小可测试单元进行检验和查证
      
      集成、接口、API测试:主要检测外部系统与系统、内部各个子系统之间的交互点。测试点主要是 检查数据交换、传递、控制管理过程、系统间的相互依赖关系。
     
      UI层的自动化测试:主流工具QTP、Robot Framework、watir、Selenium
     
      当自动化测试用例的维护成本高于其节省的测试成本时,自动化测试就失去了价值与意义
     
     为什么要自动化测试
      
      1,什么能够进行自动化测试?
        第一,需求稳定,不会频繁变更。
        第二,研发和维护周期长,需要频繁执行回归测试。
        第三,需要在多种平台上重复运行相同测试的场景。
        第四,某些测试项目通过手工测试无法实现,或者手工成本太高。
        第五,被测软件的开发较为规范,能够保证系统的可测试性。
        第六,测试人员已经具备一定的编程能力。
      2,什么应该进行自动化测试?
        要有适合自动化测试的特点和高的投资回报率
        第一,产品型项目。每个项目只改进少量的功能,但每个项目必须反反复复的测试那些没有改动过的功能。这部分测试完全可以让自动化测试来承担, 同时可以把新加入的功能的测试也慢慢地加入到自动化测试当中。
        第二,增量式开发、持续集成项目。由于这种开发模式是频繁的发布新版本进行测试,也就需要频繁的自动化测试,以便把人从中解脱出来测试新的功能。
        第三,回归测试。回归测试是自动化测试的强项,它能够很好的验证你是否引入了新的缺陷,老的缺陷是否修改过来了。在某种程度上可以把自动化测试工具叫做回归测试工具。
        第四,多次重复、机械性动作,将烦琐的任务转化为自动化测试。自动化测试最适用于多次重复、机械性动作,这样的测试对它来说从不会失败。比如要向系统输入大量的相似数据来测试压力和报表。
        第五,需要频繁运行测试。在一个项目中需要频繁的运行测试,测试周期按天算,就能最大限度的利用测试脚本
       3,什么必须进行自动化测试?
       4,什么无需进行自动化测试?
        第一,定制型项目(一次性的)。为客户定制的项目,维护期由客户方承担的,甚至采用的开发语言、运行环境也是客户特别要求的,即公司在这方面的测试积累就少,这样的项目不适合作自动化测试。
        第二,项目周期很短的项目。项目周期很短,测试周期很短,就不值得花精力去投资自动化测试,好不容易建立起的测试脚本,不能得到重复的利用是不现实的。
        第三,业务规则复杂的对象。业务规则复杂的对象,有很多的逻辑关系、运算关系,工具就很难测试。
        第四,美观、声音、易用性测试。人的感观方面的:界面的美观、声音的体验、易用性的测试,也只有人来测试。
        第五,测试很少运行。测试很少运行,对自动化测试就是一种浪费。自动化测试就是让它不厌其烦的、反反复复的运行才有效率。
        第六,软件不稳定。软件不稳定,则会由于这些不稳定因素导致自动化测试失败。只有当软件达到相对的稳定,没有界面性严重错误和中断错误才能开始自动化测试。
        第七,涉及物理交互。工具很难完成与物理设备的交互,比如刷卡的测试等。
     
    进行自动化测试需要的铺垫
     
       1,引入自动化测试的时机:
        第一,项目进度压力不太大
      
       2,引入自动化需要的前置条件
        第一,任务测试明确,不会频繁变动
        第二,软件系统界面稳定,变动少,无重构计划
        第三,有一个稳定的软件维护周期
        第四,被测系统开发较规范,能够保证系统的可测试性
        第五,API独立,不过于依赖数据
     
    技术提升(自动化测试方向)
     
     
     
    1,做好手工测试(了解各种测试的知识/不同测试产品的测试方法,提高测试分析能力)
    2,学习编程语言(了解一门主流的编程语言,并且能够在后面的工作中不断深入学习)
    3,学习Web基础(了解HTML,HTTP,CSS,DOM,Javascript,UI层自动化必须掌握的)
    4,学习自动化测试工具 (熟练掌握Selenium/Appnium/Httpclient)
    5,学习自动化测试框架 (熟练掌握testng/junit)
    6,实现自动化测试用例 (最好能够接触不同的项目,不断总结用例转换的经验以及难点分析,这将成为你设计测试框架的最用力的需求)
    7,开发自动化测试工具(能够根据需求编写的符合项目需求的工具)
    8,开发自动化测试框架(能够独立完成框架实现)
  • 相关阅读:
    oracle数据库卸数及ddl导出
    服务器重新启动,ftp重新连接问题
    服务器重新启动,oracle数据库重新连接问题
    JQ中mouseover和mouseenter的区别
    JQ中 trigger()和triggerHandler()区别
    jquery parent和parents的区别
    javascript坐标:event.x、event.clientX、event.offsetX、event.screenX 用法
    echart.js的使用与API
    HtmlDocument
    触摸事件+手势事件
  • 原文地址:https://www.cnblogs.com/hubwang/p/13074307.html
Copyright © 2011-2022 走看看