QTP-UFT 面试题及详细答案(完整版、实战向)_第1页
QTP-UFT 面试题及详细答案(完整版、实战向)_第2页
QTP-UFT 面试题及详细答案(完整版、实战向)_第3页
QTP-UFT 面试题及详细答案(完整版、实战向)_第4页
QTP-UFT 面试题及详细答案(完整版、实战向)_第5页
已阅读5页,还剩1页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

QTP/UFT面试题及详细答案(完整版、实战向)说明:本题库全部为软件测试、自动化测试岗位真实面试高频题,答案贴合项目实战,无书面化空话,适配初级、中级自动化测试面试。一、基础认知类(入门必问)1、简单介绍一下QTP/UFT,以及它的作用?QTP是惠普推出的自动化功能测试工具,后续版本升级更名为UFT,主要用于Web端、桌面端软件的功能自动化回归测试。核心作用是替代人工重复的测试操作,对项目已有功能进行批量、重复的回归测试,大幅节省回归测试时间,避免人工漏测、误测,保证版本迭代过程中原有功能的稳定性。支持录制脚本、手动编写脚本,适配大部分主流系统和控件。2、QTP支持哪些测试对象和系统?支持Windows桌面程序、B/S架构Web系统、部分移动端简单适配、Java程序、.NET程序、SAP、Oracle等行业专用系统。控件方面支持标准Windows控件、浏览器控件、自定义控件、第三方插件控件,安装对应插件后可适配各类特殊控件识别。3、QTP自动化测试和手工测试的区别?1、手工测试适合新功能探索测试、场景复杂、偶然性bug测试、UI细节体验测试;自动化无法覆盖复杂随机场景。2、QTP自动化适合版本迭代后的回归测试、重复步骤多、流程固定的业务场景,可反复执行,效率更高。3、手工测试灵活性高,自动化脚本固定,需要维护,适合长期迭代的项目,短期临时项目不适合做自动化。二、核心原理类(面试高频)4、QTP的工作原理是什么?核心三大组件是什么?工作原理:通过识别页面/程序的控件对象,记录用户的操作步骤,转化为VBS脚本,运行时按照脚本指令模拟人工操作,完成自动化测试。核心三大组件:1、测试对象库:存储所有识别到的控件对象及属性,是自动化执行的核心,所有脚本操作都依赖对象库。2、测试脚本:由录制生成或手动编写的VBS代码,记录操作步骤、判断逻辑、参数化逻辑。3、测试结果报告:脚本执行完成后自动生成的执行日志,记录执行成功、失败、报错步骤、详细信息。5、什么是对象库?对象库的作用是什么?对象库是QTP专门用来存储被测系统控件对象的仓库,会保存每个控件的唯一识别属性,比如名称、坐标、classname、id、text等。作用:1、脚本运行时,通过对象库精准定位控件,完成点击、输入、选择等操作;2、实现控件和脚本分离,页面轻微改动时,只需修改对象库属性,不用批量改脚本,降低维护成本;3、支持复用,同一个控件可在多个脚本、多个测试用例中重复调用。6、QTP对象识别的原理?为什么会出现对象识别失败?QTP通过抓取控件的强制属性、辅助属性、顺序标识组合成唯一识别标识,匹配页面控件完成识别。优先读取id、name、class等稳定属性,没有稳定属性则依赖坐标、索引等动态属性。识别失败常见原因:1、页面刷新、控件位置变动,坐标、索引发生变化;2、控件属性动态生成,每次打开页面属性不一致;3、未加载对应插件,特殊控件无法识别;4、页面存在多个相同属性的控件,无法唯一匹配;5、浏览器版本、系统环境变更导致控件属性变更。7、如何解决QTP对象无法识别的问题?项目中常用5种解决方案:1、手动添加稳定识别属性,删除动态变化的坐标、索引属性,固定控件识别规则;2、使用虚拟对象,针对无法识别的自定义控件、图片按钮做模拟识别;3、安装对应插件,适配Java、.NET、SAP等特殊控件;4、更新对象库,重新抓取控件最新属性;5、使用描述性编程,不依赖对象库,直接通过代码定义控件属性完成操作。三、脚本与实战操作类(核心必考)8、QTP录制脚本和手动写脚本的区别?项目中怎么选择?录制脚本:操作简单,快速生成基础脚本,但冗余代码多、灵活性差、控件依赖录制环境,页面改动后极易失效,适合快速搭建基础流程。手动编写脚本:代码精简、逻辑清晰、可复用性强、方便维护,支持参数化、循环、判断、报错捕获等复杂逻辑,适配正式项目迭代使用。项目实操:先用录制快速梳理业务流程,再手动精简代码、优化逻辑、添加容错机制,结合两种方式提升效率。9、什么是描述性编程?什么时候必须用描述性编程?描述性编程是不依赖对象库,直接在脚本代码中通过定义控件属性(class、name、text等)来识别、操作控件的编写方式。适用场景:1、页面动态生成控件,无法提前录入对象库;2、临时调试脚本,不想新增、修改对象库;3、批量操作同类控件,无需逐个添加对象库;4、对象库维护成本过高的场景。10、QTP如何实现参数化?参数化的作用?参数化就是把脚本中固定的测试数据(账号、密码、输入内容等)替换为变量,通过读取数据表数据实现多组数据迭代执行。实现方式:QTP自带DataTable数据表,分为全局表和局部表,将固定值替换为数据表字段,设置迭代运行模式即可。作用:无需重复编写脚本,一套脚本可执行多组测试用例,覆盖正常、异常、边界场景,大幅提升测试覆盖率。11、QTP中全局数据表和局部数据表的区别?1、全局表(Global):整个测试套件、所有Action都可以调用,数据全局共享,迭代次数作用于整个测试工程;2、局部表(Local):仅当前单个Action可用,数据独立,互不影响,迭代只针对当前Action生效。项目常规用法:通用数据用全局表,单个模块独立数据用局部表。12、QTP如何添加检查点?常用检查点有哪些?检查点用于自动校验执行结果是否符合预期,替代人工判断结果对错。常用检查点:1、标准检查点:校验控件文本、状态、是否可见、是否可用;2、文本检查点:校验页面指定文字是否存在;3、位图检查点:校验图片、页面布局是否一致;4、数据库检查点:校验数据库返回数据是否正确;5、XML检查点:校验接口、配置文件数据格式。实操中最常用的是标准检查点和文本检查点,稳定性最高,极少报错。13、QTP中Action的作用?三种Action的区别?Action是QTP脚本的模块单元,用于拆分业务流程,实现脚本模块化、复用化。三种类型:1、可复用Action:支持当前工程多个脚本调用,可重复使用,适合通用流程(登录、退出);2、不可复用Action:仅当前脚本可用,适合独立、一次性业务流程;3、外部Action:调用外部工程保存的Action,跨工程复用通用脚本,大幅减少重复开发。四、报错排查与项目实战类(进阶面试题)14、QTP脚本运行不稳定,时过时报,是什么原因?怎么解决?核心原因及解决方案:1、页面加载未完成就执行下一步操作:在脚本中添加等待时间,使用智能等待、固定等待,等待页面、控件加载完成;2、控件属性动态变化:优化对象库识别属性,剔除动态属性,改用稳定唯一属性;3、环境缓存问题:每次执行前清理浏览器缓存、重置页面状态;4、网络延迟:适当延长全局等待时间,适配网络波动场景;5、弹窗、干扰页面未处理:脚本中添加弹窗捕获、关闭逻辑,避免阻断流程。15、QTP智能等待和固定等待的区别?项目中如何使用?固定等待(Wait):强制等待固定秒数,无论页面是否加载完成,时间到才执行下一步,效率低,适合网络极差、弹窗必现的场景。智能等待(WaitProperty):监测控件指定属性,属性达标后立即执行下一步,不浪费时间,效率高、稳定性强。项目规范:优先使用智能等待,关键节点少量搭配固定等待,保证脚本稳定。16、脚本执行报错“对象未找到”,完整排查思路是什么?1、首先检查页面是否正常打开、是否跳转成功,确认业务流程无前置报错;2、查看对象库中控件属性,对比运行时页面真实控件属性,确认是否属性变更;3、检查控件是否被遮挡、是否未加载、是否弹窗覆盖;4、排查是否缺少插件、浏览器环境不兼容;5、重新抓取对象、更新对象库,或改用描述性编程重新编写该步骤。17、如何提高QTP脚本的稳定性和可维护性?1、脚本模块化:将登录、退出、查询等通用流程封装为可复用Action;2、优化对象库:统一使用稳定识别属性,定期清理无效、冗余对象;3、规范等待机制:全程使用智能等待,杜绝大量无效固定等待;4、数据分离:所有测试数据参数化,和脚本代码分离,方便修改维护;5、添加容错处理:针对弹窗、加载超时、对象不存在等场景添加异常捕获;6、精简脚本:删除录制产生的冗余代码,保证代码简洁规范。18、QTP自动化测试的适用场景和不适用场景?适用场景:1、项目长期迭代、版本更新频繁,需要频繁回归的功能;2、业务流程固定、操作步骤重复的模块(登录、查询、新增、提交);3、压力测试、批量重复执行的测试场景。不适用场景:1、新功能不稳定、页面频繁改版的模块;2、UI样式频繁变动、自定义动态控件过多的页面;3、场景复杂、随机性强、需要人工主观判断的测试;4、短期临时项目,迭代结束不再维护的系统。五、项目经验问答(面试口述专用)19、你在项目中是如何开展QTP自动化测试的?完整流程?1、梳理需求和手工测试用例,筛选适合自动化的固定流程用例;2、搭建自动化测试环境,安装对应插件,适配浏览器和系统;3、搭建对象库,统一抓取页面控件,优化识别属性;4、模块化编写脚本,拆分通用Action,对测试数据做参数化;5、添加检查点、异常等待、容错逻辑,调试脚本保证单次执行稳定;6、批量迭代执行脚本,生成测试报告,记录失败用例并排查问题;7、版本迭代后同步更新脚本和对象库,日常维护自动化

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论