51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1126|回复: 0
打印 上一主题 下一主题

[资料] 自动化测试工具——软件测试工程师面试秘籍(32)

[复制链接]
  • TA的每日心情
    擦汗
    昨天 09:05
  • 签到天数: 1048 天

    连续签到: 1 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2022-1-26 15:15:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    3.3  自动化测试工具
      自动化测试通常指的是功能测试自动化,就是为了将手动测试的工作转化为自动化测试的工作。自动化测试框架、工具有很多,下面进行简单介绍。
      根据测试语言,有基于Ruby的Watir、TestUnit,基于Java的TestNG、JUnit、Easyb、Mockito,基于Perl的Perl Mechanize、TestBase,基于Python的PyUnit、PAMIE。
      根据测试体系,有单元测试框架、系统测试框架。
      根据测试目的,有GUI自动化测试框架、网络协议自动化测试框架、基于Web的自动化测试框架。
      根据实现深度和角度,有简单的录制回放测试框架、关键字驱动测试框架、关键字驱动及结果输出分析的自动化测试框架、具备智能匹配功能及快速生成脚本功能的自动化测试框架。
      自动化测试对于初级测试工程师来说是一个加分项,对于高级、自动化工程师来说是不断提升的技能。对于形形色色的工具,其功能归纳起来分为3部分—数据准备、操作和校对结果。
      数据准备:包括输入参数、图片、文件,准备数据库等。
      操作:调用被测接口或者执行测试。
      校对结果:检查返回值、页面跳转、数据库数据变更、图片、文件等。
      一般常用的自动化测试工具有Watir、Selenium、MaxQ、WebInject、JMeter、OpenSTA、DBMonster、TPTEST、Web Application Load Simulator、QTP以及LR。
      下面就介绍互联网公司面试中经常提到的两种自动化工具Selenium和JMeter。

      3.3.1  Selenium
      Selenium是目前使用非常广泛的前端页面自动化测试工具之一。它通过各种方式在Web页面中增加JavaScript代码,在测试过程中通过调用这些JavaScript代码实现对页面的操作。
      现在各大互联网公司常用Selenium包来搭建自己的框架。Selenium包中提供了对网页控件和页面的大部分操作。基于Selenium的自动化测试框架如图3.6所示。

    图3.6  基于Selenium的自动化测试框架 

     其中,Control层包含各种控件类,如Button、Text、Select等;Page?层将各类页面封装成类,并提供页面操作函数;Case层通过调用页面操作函数来实现测试用例。
      当然,基于Selenium框架做自动化测试可能会遇到很多常见的问题。这些是面试官常问的问题,以此来考查应聘者是否真的会使用Selenium。
      现在Web有很多版本,对于个别版本,Selenium提供的操作有可能失效,于是测试用例无法正常运行。这种情况下,需要在Control层覆盖Selenium的代码,自己用特殊的方式处理,如判断Web类型后再处理。
      Web控件加载时间与网速快慢有关。若控件还没加载完就执行了操作,就会把测试用例当作错误处理,这比较麻烦。这也需要特殊处理,如判断控件加载完再操作。

      3.3.2  JMeter
      JMeter经常用来做Web压力测试。当然,它也可以用来做自动化测试。
      关于JMeter的主要测试组件的总结如下。
      测试计划是使用JMeter进行测试的起点。
      线程组代表一定数量的并发用户,可以用于模拟用户请求。
      监听器负责收集并检查结果。
      逻辑控制可以定义发送请求的逻辑行为。
      断言可以判断结果是否如用户希望的那样。
      前置处理器和后置处理器在生成请求之前与之后完成工作。
      定时器负责定义请求之间的延迟间隔。
      下面介绍如何使用JMeter进行压力测试。
      Web测试计划一般至少需要3个JMeter测试元件—线程组、HTTP请求、表格,如图3.7所示。
      线程组定义线程数和循环次数。
      HTTP请求定义服务器、端口、协议、方法、请求路径。
      表格负责收集和显示结果。
      对于数据库服务器,在大多数企业中要做压力测试,目的是确定它到底能够承受多少用户访问。通过对SQL语句和存储过程的测试,可以间接反映数据库对象是否需要优化。
      JMeter使用JDBC发送请求,以完成对数据库的测试。数据库测试计划如图3.8所示。
    图3.7  JMeter测试元件


    图3.8  数据库测试计划

    JDBC Connection Configuration负责配置与数据库连接相关的信息,如数据库URL、数据库驱动类名、用户、密码等。
      JDBCR Request负责发送请求以进行测试。
      图形结果负责收集显示测试结果。

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-19 01:29 , Processed in 0.067596 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表