2-自动化测试理论

1、什么是自动化测试

答:利用工具或代码代替手工测试来测试被测系统

2、自动化测试的优缺点

优点:

  • 提高测试质量
  • 提高测试效率
  • 提高测试覆盖率:通过数据驱动来测试功能,可以提高覆盖率
  • 执行手工测试不能完成的测试任务:压力测试、负载测试、大数据量测试、崩溃性测试
  • 更好的重现软件缺陷的能力:自动化测试具有更好的一致性和可重复性
  • 更好的利用资源:可以在周末或晚上执行测试,充分利用资源

局限性:

  • 不适合周期短的项目
  • 业务规则复杂的对象:工具难实现,需要投入的测试准备时间比直接进行手工测试所需的时间更长
  • 人体感官与易用性的测试:界面的美观、声音的体验、易用性的测试,无法使用测试工具来实现
  • 不稳定的软件:不稳定可能会导致自动化测试失败,或测试结果本身就是无效的
  • 涉及物理交互:如刷卡器的测试
  • 不能完全代替手工测试
  • 若测试人员对测试工具不熟悉,测试进度会收到影响
  • 不能立即降低测试投入,提高测试效率。自动化测试成本可能高于手工测试,因为工具的购买和维护的开支很大
  • 不能保证100%的测试覆盖率
  • 需要更长时间去分析和隔离所发现的缺陷

3、什么是数据驱动的自动化测试技术?

答:指的是将自动化脚本与测试数据进行分离。数据存在excel或数据库中,测试脚本来读取这些数据,从而一个测试脚本可以执行多个相似测试,很容易建立新的测试

4、自动化测试开发的流程

  • 分析被测系统是否适合做自动化,考虑投入产出比
  • 提取适合做自动化的业务功能和场景
  • 根据被测系统的特点,选择合适的自动化测试工具
  • 为自动化测试脚本创建测试数据,即测试脚本参数化
  • 执行自动化测试,分析测试结果

5、解释功能自动化测试及其常用的工具有哪些?

答:功能自动化通常通过模拟用户操作,将预期结果与实际结果进行比较,这大大减轻了黑盒测试的工作量,提高测试效率和质量。在产品迭代中,可以很好的进行回归测试。

主要测试工具:

  • windows界面自动化——UFT(QTP)
  • Web页面自动化——selenium
  • App界面自动化——Appium

6、WEB UI自动化测试脚本的典型场景

  • 元素定位:常用定位方式:ID、Name、CSS、Xpath,需要等待元素
  • 交互操作:文本框、单选框、多选框、按钮、表格单元的输入或点击
  • 页面操作:页面切换和关闭、对话框切换和关闭
  • 其他:对主流浏览器测试的支持、对JavaScript的支持

7、简单介绍Selenium自动化测试工具

答:Selenium是测试Web界面功能的免费开源自动化测试工具,功能强大。2.0版本可以在windows、linux上运行,提供了各类主流编程语言(JAVA、Python等)可调用的API。

8、Selenium的元素定位方式、常用的哪种

  • id
  • name
  • class name
  • xpath
  • css
  • tag name
  • link text
  • partial link text

最常用的是css,因为大部分html标签属性不规范,不能通过id或name唯一定位

9、如何判断页面元素是否存在

答:Selenium中没有提供原生的方法判断元素是否存在,解决办法:

  • ① 元素定位+异常捕获的方式判断(try+except)
  • ② 获取元素列表,判断列表长度是否为0

10、简单介绍appium及工作原理

答:Appium是一个开源测试自动化框架,可用于移动端原生APP、混合APP、H5页面的自动化测试。
特点:

  • 支持多语言,针对流行语言开发了不同的appium库
  • 支持多平台,针对mac和windows开发了appium-server
  • 同时支持IOS、Android两个操作系统

工作原理:
在这里插入图片描述
执行测试脚本时,请求首先到appium-sever,appium-sever通过解析,驱动移动设备来执行自动化脚本

11、appium的控件有哪些

元素定位:

  • id
  • name
  • xpath
  • class name
  • accessibility_id(适用场景: 目标元素有content-desc属性)

元素操作:

  • click()
  • send_keys()
  • swipe() 滑动
  • scroll() 滚动

元素信息提取:

  • get_window_size()
  • location()

其他操作:

  • wait_activity()
  • quit()

12、阐述接口自动化测试和UI自动化测试在测试中是如何协同测试的

答:接口自动化测试和UI自动化测试其实是有一部分重叠的,UI自动化测试是通过操作前端的界面来调用接口,而接口自动化是直接调用接口。如果在UI上只测试前端逻辑,最终可能会忽视很多原有的功能点,导致了UI测试的不充分。

13、简述Robot Framework自动化测试框架

答:RF是一个开源的自动化测试框架,使用关键字驱动。

14、简述pytest自动化测试框架

答:pytest是一款强大的软件测试框架,具有丰富的基础库,可大幅提高用例编写效率。并且支持用户自己编写插件,也可安装第三方插件。很容易的和其他工具集成到一起使用,如持续集成(Git、Jenkins)

15、接口测试当中,测试工程需要知道接口的哪些信息

  • 接口说明
  • 接口地址
  • 请求方法
  • 请求参数、参数类型、请求参数说明
  • 返回参数说明

16、结合项目描述如何设计接口测试用例

接口功能验证:

  • 按照接口文档上的参数,正常传参,检查是否可以返回正确的结果
  • 传递不合法参数,针对异常情况校验

接口安全验证:

  • 传入非法参数,检测后端是否做验证
  • 无权限用户访问数据,检测是否做权限校验
  • 通过接口传敏感信息,检测是否做加密

17、接口和UI的侧重点

UI:适合偏向流程的验证,测试对象主要是前端

适用场景:

  • 业务操作涉及多个页面的流程
  • 一步操作涉及多个接口
  • 前后端不分离的系统(因为返回的是html页面)

API:偏向数据验证,绕过前端只测试后端

适用场景:

  • 单个业务只需少量接口即能实现
  • 利用接口准备测试数据
  • 系统只有后端没有前端(只对外提供API的系统)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值