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

发表于:2022-1-18 09:48

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:G. li    来源:51Testing软件测试网原创

#
面试
#
求职
分享:
  3.3  自动化测试工具
  自动化测试通常指的是功能测试自动化,就是为了将手动测试的工作转化为自动化测试的工作。自动化测试框架、工具有很多,下面进行简单介绍。
  根据测试语言,有基于Ruby的Watir、TestUnit,基于Java的TestNGJUnit、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软件测试网获得人民邮电出版社和作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。
精选软件测试好文,快来阅读吧~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号