以下是新人、有经验的QA专业人员在面试中经常被问到的问题。
- 什么是自动化测试?
自动化测试是使用自动化工具编写和执行测试人员的测试脚本和用例的技术。
自动化测试的主要目标是减少要手动运行的测试用例的数量,而不是完全取消手动测试。
- 何时执行自动测试?
在以下情况下最好使用自动化
- 重复性任务
- 冒烟测试
- 使用多个数据集进行测试
- 回归测试
通常,决策基于ROI(投资回报)
- 何时不需要自动化测试?
在以下情况下不需要自动化测试
- 当被测应用程序频繁更改时
- 一次性测试用例
- 临时-随机测试
- 自动化流程涉及哪些步骤?
在自动化过程中,涉及的步骤包括
- 选择测试工具
- 定义自动化范围
- 规划、设计和开发
- 测试执行
- 维护
- 自动化规划阶段涉及哪些要点?
在自动化的规划阶段,必须考虑的事项有
- 选择“正确的”自动化工具
- 选择自动化框架
- 自动化的范围内和范围外功能列表
- 测试环境设置
- 开发测试脚本并执行。
- 确定测试交付内容
- 在什么情况下我们不能使用敏捷自动化测试?
自动化测试在以下情况下对敏捷方法没有用处
- 当敏捷测试总是要求更改需求时
- 当敏捷中需要详尽的文档时
- 仅适用于敏捷测试期间的回归测试,如持续集成
- 好的自动化工具的主要特点是什么?
- 测试环境支持且易用
- 良好的调试工具
- 鲁棒的目标识别
- 物体和图像测试能力
- 物体识别
- 数据库的测试
- 支持多种框架
- 软件自动化测试中使用的框架类型是什么?
在软件自动化测试中,使用了四种类型的框架
- 数据驱动的自动化框架
- 关键词驱动的自动化框架
- 模块化自动化框架
- 混合自动化框架
- 执行自动化测试时的脚本标准是什么?
在编写自动化脚本时,必须考虑以下事项,
- 统一的命名约定。
- 每10行代码对应3行注释
- 可靠的异常处理和恢复方案
- 尽可能使用框架
- 自动化测试最流行的工具是什么?
自动化测试最流行的测试工具是
- QTP(HP UFT)
- Rational 机器人
- Selenium
- 可以在什么基础上规划自动化测试?
通过以下标准,可以映射自动化测试的成功程度
- 缺陷检测率
- 自动化执行时间,并节省发布产品的时间
- 降低劳动力和其他成本
- 能列举出手工测试的一些缺点吗?
- 手动软件测试需要更多的时间和资源。
- 不准确
- 重复执行相同的测试用例容易出错,而且很无聊。
- 在非常大的项目和有时间限制的项目上进行手动测试不切实际。
- 对Selenium了解多少?
Selenium是一个免费(开源)的测试自动化库。由以下内容组成
- Selenium IDE(浏览器插件-录制和播放工具)
- Selenium WebDriver
- Selenium Grid(分布式测试)
Selenium支持Java、C# 、Python、Ruby、PHP、Perl、Javascript等语言的脚本编写。
- 讲讲QTP
QTP(Quick Test Professional)现在称为HP UFT。它是一个商业自动化工具,支持非常广泛的测试环境Web、Desktop、SAP、Delphi、Net、ActiveX、Flex、Java、Oracle、Mobile、PeopleSoft、PowerBuilder、Siebel、Stingray、Visual Basic等。
脚本语言是VBScript。该工具与HP ALM(测试管理工具)和HP LoadRunner(性能测试工具)配合良好。
QTP的显著特性包括业务流程测试、关键字驱动框架、XML支持、健壮的检查点、测试结果。
- 解释一下Skuli是什么?
Sikuli是一个使用“视觉图像匹配”方法实现图形用户界面自动化的工具。Skuli的所有网络元素都应该作为图像存储在项目内部。
Sikuli由以下几个部分组成
- Skuli文字
- Jython的可视化脚本API
- Sikuli IDE
Skuli的实际用途是
- 可用于自动化Flash网站或对象
- 可以自动化基于Windows应用程序和在屏幕上看到的任何内容,而无需使用内部API支持
- 提供了简单的API
- 可以很容易地与像Selenium这样的工具联系起来
- 桌面应用程序可以自动化
- Skuli为自动化Flash对象提供广泛支持
- 为了实现桌面自动化,使用了功能强大的“Visual Match”和Flash对象
- 可以在任何技术上工作-.NET、Java
- Selenium和Skuli有什么不同?
Skuli | Selenium |
---|---|
为自动化Flash对象提供广泛支持
有简单的接口 使用视觉匹配来查找屏幕上的元素。因此,可以将屏幕上看到的任何内容自动化 可以使web和windows应用程序实现自动化。 |
不能自动化Flash对象,如视频播放器、音频播放器
接口比较复杂 没有视觉上的匹配项 只能自动化Web应用程序 |