20道QTP自动化测试技术经典面试题

合集下载

自动化测试工程师招聘面试题及回答建议(某大型央企)2025年

自动化测试工程师招聘面试题及回答建议(某大型央企)2025年

2025年招聘自动化测试工程师面试题及回答建议(某大型央企)(答案在后面)面试问答题(总共10个问题)第一题题目:请简述自动化测试工程师在大型央企项目中的主要职责,并说明如何有效地进行测试计划的制定与执行。

第二题:请描述一下您认为自动化测试的重要性以及它如何帮助提高软件质量?第三题:请描述你如何理解和执行自动化测试的最佳实践。

第四题题目:在您过去的工作中,是否有过使用自动化测试工具进行测试的经验?如果有,请描述一个您参与的项目,并说明您在项目中扮演的角色以及使用的自动化测试工具。

第五题:请描述你在自动化测试过程中遇到的一个挑战以及你是如何解决的?第六题题目:在您过去的工作经历中,是否有过使用自动化测试工具进行测试的经验?如果有,请描述一个具体的项目或场景,并说明您是如何应用自动化测试来提高测试效率和质量。

第七题题目:在您过去的工作中,是否有过使用自动化测试工具进行测试的经验?如果有,请描述一个您使用自动化测试工具完成的项目,并说明您在这个项目中扮演的角色以及使用的具体工具。

第八题题目:在您过去的工作中,是否有过使用自动化测试工具进行测试的经验?如果有,请描述一个具体的项目或场景,并说明您是如何应用自动化测试来提高测试效率和质量。

第九题题目:假设你在一个大型央企负责自动化测试工程师的招聘工作,你会如何设计面试流程以确保选拔出最适合岗位的候选人?第十题题目:在您过去的工作中,是否有过使用自动化测试工具进行测试的经验?如果有,请描述一个您使用自动化测试工具完成的项目,并说明您是如何选择和使用该工具的。

2025年招聘自动化测试工程师面试题及回答建议(某大型央企)面试问答题(总共10个问题)第一题题目:请简述自动化测试工程师在大型央企项目中的主要职责,并说明如何有效地进行测试计划的制定与执行。

答案:自动化测试工程师在大型央企项目中扮演着至关重要的角色。

他们的主要职责包括但不限于以下几点:1.制定测试计划:根据项目的需求、规模和复杂度,设计全面的测试方案,包括测试目标、测试范围、测试资源分配等。

QTP个面试题(含答案)

QTP个面试题(含答案)

QTP Interview subject1. What are the Features & Benefits of Quick Test Pro (QTP 8.0)?–Operates stand-alone, or integrated into Mercury Business Process Testing and Mercury Quality Center. Introduces next-generation zero-configuration Keyword Driven testing technology in Quick Test Professional 8.0 allowing for fast test creation, easier maintenance, and more powerful data-driving capability. Identifies objects with Unique Smart Object Recognition, even if they change from build to build, enabling reliable unattended script execution. Collapses test documentation and test creation to a single step with Auto-documentation technology. Enables thorough validation of applications through a full complement of checkpoints.2. How to handle the exceptions using recovery scenario manager in QTP?–There are 4 trigger events during which a recovery scenario should be activated. A pop up window appears in an opened application during the test run: A property of an object changes its state or value, A step in the test does not run successfully, An open application fails during the test run, These triggers are considered as exceptions.You can instruct QTP to recover unexpected events or errors that occurred in your testing environment during test run. Recovery scenario manager provides a wizard that guides you through the defining recovery scenario. Recovery scenario has three steps: 1. Triggered Events 2. Recovery steps 3. Post Recovery Test-Run3. What is the use of Text output value in QTP?– Output values enable to view the values that the application talks during run time. When parameterized, the values change for each iteration. Thus by creating output values, we can capture the values that the application takes for each run and output them to the data table.4. How to use the Object spy in QTP 8.0 version?– There are two ways to Spy the objects in QTP: 1) Thru file toolbar, In the File Toolbar click on the last toolbar button (an icon showing a person with hat). 2) True Object repository Dialog, In Object repository dialog click on the button object spy. In the Object spy Dialog click on the button showing hand symbol. The pointer now changes in to a hand symbol and we have to point out the object to spy the state of the object if at all the object is not visible. or window is minimized then, hold the Ctrl button and activate the required window to and release the Ctrl button.5. How does Runtime data (Parameterization) is handled in QTP?– You can then enter test data into the Data Table, an integrated spreadsheet with the full functionality of Excel, to manipulate data sets and create multiple test iterations, without programming, to expand test case coverage. Data can be typed in or imported from databases, spreadsheets, or text files.6. What is keyword view and Expert view in QTP?- Quick Test’s Keyword Driven approach, test automation experts have full access to the underlying test and object properties, via an integrated scripting and debugging environment that is round-trip synchronized with the Keyword View. Advanced testers can view and edit their tests in the Expert View, which reveals the underlying industry-standard VBScript that Quick Test Professional automatically generates. Any changes made in the Expert View are automatically synchronized with the Keyword View.7. Explain about the Test Fusion Report of QTP?–Once a tester has run a test, a Test Fusion report displays all aspects of the test run: a high-level results overview, an expandable Tree View of the test specifying exactly where application failures occurred, the test data used, application screen shots for every step that highlight any discrepancies, and detailed explanations of each checkpoint pass and failure. By combining Test Fusion reports with Quick Test Professional, you can share reports across an entire QA and development team.8. Which environments does QTP support?- Quick Test Professional supports functional testing of all enterprise environments, including Windows, Web,, Java/J2EE,SAP, Siebel, Oracle, PeopleSoft, Visual Basic, ActiveX, mainframe terminal emulators, and Web services.9. What is QTP?- Quick Test is a graphical interface record-playback automation tool. It is able to work with any web, java or windows client application. Quick Test enables you to test standard web objects and ActiveX controls. In addition to these environments, Quick Test Professional also enables you to test Java applets and applications and multimedia objects on Applications as well as standard Windows applications, Visual Basic 6 applications framework applications.10. Explain QTP Testing process– Quick Test testing process consists of the following main phases:1. Creating your test plan– Prior to automating there should be a detailed description of the test including the exact steps to follow, data to be input, and all items to be verified by the test. The verification information should include both data validations and existence or state verifications of objects in the application.2. Recording a session on your application–As you navigate through your application, Quick Test graphically displays each step you perform in the form of a collapsible icon-based test tree. A step is any user action that causes or makes a change in your site, such as clicking a link or image, or entering data in a form.3. Enhancing your test– Inserting checkpoints into your test lets you search for a specific value of a page, object or text string, which helps you identify whether or not your application is functioning correctly. NOTE: Checkpoints can be added to a test as you record it or after the fact via the Active Screen. It is much easier and faster to add the checkpoints during the recording process. Broadening the scope of your test by replacing fixed values with parameters lets you check how your application performs the same operations with multiple sets of data. Adding logic and conditional statements to your test enables you to add sophisticated checks to your test.4. Debugging your test– If changes were made to the script, you need to debug it to check that it operates smoothly and without interruption.5. Running your test on a new version of your application– You run a test to check the behavior of your application. While running, Quick Test connects to your application and performs each step in your test.6. Analyzing the test results– You examine the test results to pinpoint defects in your application.7. Reporting defects–As you encounter failures in the application when analyzing test results, you will create defect reports in Defect Reporting Tool.11. Explain the QTP Tool interface- It contains the following key elements: Title bar, displaying the name of the currently open test, Menu bar, displaying menus of Quick Test commands, File toolbar, containing buttons to assist you in managing tests, Test toolbar, containing buttons used while creating and maintaining tests, Debug toolbar, containing buttons used while debugging tests. Note: The Debug toolbar is not displayed when you open Quick Test for the first time. You can display the Debug toolbar by choosing View . Toolbars . Debug. Action toolbar, containing buttons and a list of actions, enabling you to view the details of an individual action or the entire test flow. Note: The Action toolbar is not displayed when you open Quick Test for the first time. You can display the Action toolbar by choosing View . Toolbars . Action. If you insert a reusable or external action in a test, the Action toolbar isdisplayed automatically. Test pane, containing two tabs to view your test-the Tree View and the Expert View ,Test Details pane, containing the Active Screen. Data Table, containing two tabs, Global and Action, to assist you in parameterizing your test. Debug Viewer pane, containing three tabs to assist you in debugging your test-Watch Expressions, Variables, and Command. (The Debug Viewer pane can be opened only when a test run pauses at a breakpoint.) Status bar, displaying the status of the test.12. How does QTP recognize Objects in AUT?– Quick Test stores the definitions for application objects in a file called the Object Repository. As you record your test, Quick Test will add an entry for each item you interact with. Each Object Repository entry will be identified by a logical name (determined automatically by Quick Test), and will contain a set of properties (type, name, etc) that uniquely identify each object. Each line in the Quick Test script will contain a reference to the object that you interacted with, a call to the appropriate method (set, click, check) and any parameters for that method (such as the value for a call to the set method). The references to objects in the script will all be identified by the logical name, rather than any physical, descriptive properties.13. What are the types of Object Repositories in QTP?– Quick Test has two types of object repositories for storing object information: shared object repositories and action object repositories. You can choose which type of object repository you want to use as the default type for new tests, and you can change the default as necessary for each new test. The object repository per-action mode is the default setting. In this mode, Quick Test automatically creates an object repository file for each action in your test so that you can create and run tests without creating, choosing, or modifying object repository files. However, if you do modify values in an action object repository, your changes do not have any effect on other actions. Therefore, if the same test object exists in more than one action and you modify an object.s property values in one action, you may need to make the same change in every action (and any test) containing the object.14. Explain the check points in QTP– A checkpoint verifies that expected information is displayed in an Application while the test is running. You can add eight types of checkpoints to your test for standard web objects using QTP. A page checkpoint checks the characteristics of an Application. A text checkpoint checks that a text string is displayed in the appropriate place on an Application. An object checkpoint (Standard) checks the values of an object on an Application. An image checkpoint checks the values of an image on an Application. A table checkpoint checks information within a table on a Application. An Accessibilityy checkpoint checks the web page for Section 508 compliance. An XML checkpoint checks the contents of individual XML data files or XML documents that are part of your Web application. A database checkpoint checks the contents of databases accessed by your web site.15. In how many ways we can add check points to an application using QTP?– We can add checkpoints while recording the application or we can add after recording is completed using Active screen (Note : To perform the second one The Active screen must be enabled while recording).16. How does QTP identify objects in the application?– QTP identifies the object in the application by Logical Name and Class.17. What is Parameterizing Tests?– When you test your application, you may want to check how it performs the same operations with multiple sets of data. For example, suppose you want to check how your application responds to ten separate sets of data. You could record ten separate tests, each with its own set of data. Alternatively, you can create a parameterized test that runs ten times: each time the test runs, it uses a different set of data.18. What is test object model in QTP?– The test object model is a large set of object types or classes that Quick Test uses to represent the objects in your application. Each test object class has a list of properties that can uniquely identify objects of that class and a set of relevant methods that Quick Test can record for it. A test object is an object that Quick Test creates in the test or component to represent the actualobject in your application. Quick Test stores information about the object that will help it identify and check the object during the run session.19. What is Object Spy in QTP?– Using the Object Spy, you can view the properties of any object in an open application. You use the Object Spy pointer to point to an object. The Object Spy displays the selected object.s hierarchy tree and its properties and values in the Properties tab of the Object Spy dialog box.20. What is the Diff between Image check-point and Bit map Check point? –Image checkpoints enable you to check the properties of a Web image. You can check an area of a Web page or application as a bitmap. While creating a test or component, you specify the area you want to check by selecting an object. You can check an entire object or any area within an object. Quick Test captures the specified object as a bitmap, and inserts a checkpoint in the test or component. You can also choose to save only the selected area of the object with your test or component in order to save disk Space. For example, suppose you have a Web site that can display a map of a city the user specifies. The map has control keys for zooming. You can record the new map that is displayed after one click on the control key that zooms in the map. Using the bitmap checkpoint, you can check that the map zooms in correctly. You can create bitmap checkpoints for all supported testing environments (as long as the appropriate add-ins are loaded). Note: The results of bitmap checkpoints may be affected by factors such as operating system, screen resolution, and color settings.21. How many ways we can parameterize data in QTP?– There are four types of parameters: Test, action or component parameters enable you to use values passed from your test or component, or values from other actions in your test. Data Table parameters enable you to create a data-driven test (or action) that runs several times using the data you supply. In each repetition, or iteration, Quick Test uses a different value from the Data Table. Environment variable parameters enable you to use variable values from other sources during the run session. These may be values you supply, or values that Quick Test generates for you based on conditions and options you choose. Random number parameters enable you to insert random numbers as values in your test or component. For example, to check how your application handles small and large ticket orders, you can have Quick Test generate a random number and insert it in a number of tickets edit field.22. How do you do batch testing in WR & is it possible to do it in QTP, if so explain?– Batch Testing in WR is nothing but running the whole test set by selecting Run Test set from the Execution Grid. The same is possible with QTP also. If our test cases are automated then by selecting Run Test set all the test scripts can be executed. In this process the Scripts get executed one by one by keeping all the remaining scripts in Waiting mode.23. If you are given a test to execute some thousand tests in 2 days, what do you do?– Adhoc testing is done. It covers basic functionality to verify that the system is working fine.24. What is Object Spy in QTP?– Using the Object Spy, you can view the properties of any object in an open application. You use the Object Spy pointer to point to an object. The Object Spy displays the selected object.s hierarchy tree and its properties and values in the Properties tab of the Object Spy dialog box.25. What is the file extension of the code files & object repository files in QTP?– Code file extension is .vbs and object repository is .tsr26. Explain the concept of object repository & how QTP recognizes objects– Object Repository: displays a tree of all objects in the current component or in the current action or entire test (depending on the object repository mode you selected). We can view or modify the test object description of any test object in the repository or to add new objects to the repository. Quicktest learns the default property values and determines in which test object class it fits. If it is not enough it adds assistive properties, one by one to the description until it has compiled the unique description. Ifno assistive properties are available, then it adds a special Ordinal identifier such as objects location on the page or in the source code.27. Give me an example where you have used a COM interface in your QTP project?– com interface appears in the scenario of front end and back end. for eg:if you r using oracle as back end and front end as VB or any language then for better compatibility we will go for an interface. of which COM will be one among those interfaces. Create object creates handle to the instance of the specified object so that we program can use the methods on the specified object. It is used for implementing Automation(as defined by Microsoft).28. Explain in brief about the QTP Automation Object Model.– Essentially all configuration and run functionality provided via the Quick Test interface is in some way represented in the Quick Test automation object model via objects, methods, and properties. Although a one-on-one comparison cannot always be made, most dialog boxes in Quick Test have a corresponding automation object, most options in dialog boxes can be set and/or retrieved using the corresponding object property, and most menu commands and other operations have corresponding automation methods. You can use the objects, methods, and properties exposed by the Quick Test automation object model, along with standard programming elements such as loops and conditional statements to design your program.。

自动化测试面试题及答案

自动化测试面试题及答案

自动化测试面试题及答案自动化测试经典面试题自动化测试框架都有哪些?答:自动化测试框架主要分为以下几种,可以根据项目需要进行选择1.模块化框架(test script modularity)。

2.函数库结构框架(test library architecture)。

3.关键字驱动测试框架(keyword-driven/table-driven testing)。

4.数据驱动测试框架(data-driven testing)。

5.混合型框架(hybrid test automation)。

请列举你曾经做过的自动化功能测试项目的相关经验你认为什么情况下适合进行自动化功能测试?请解释原因请问自动化测试在实现过程中会遇到的难点有哪些?请问:怎么在自动测试中实现数据驱动?你会计算自动测试工程的投入回报比吗?怎么计算?请比较 Rational Robot 与 MI QTP 的优缺点你认为 Robot 在数据参数化的时候有什么不便之处吗?请问 QTP 中如何不用录制的方法启动 IE ,并对 IE 窗口进行操作在用自动测试工具制作测试脚本的时候,当需要对某个界面上的对象进行操作时,如何保证操作成功?请选择一个自动功能测试工具并用该测试工具的脚本语言写一个脚本:每天早上 9 点弹出对话框,提示“现在 9 点了”。

说明在测试工具中使用你的脚本的方式。

下一页更多精彩“自动化测试面试题及答案”自动化测试面试题及答案1. 你比较熟悉那种自动化测试工具?2. 你在你以前工作中是如何使用自动化测试工具的?3. 介绍一下你在利用自动化测试工具的过程中遇到的一些问题4. 你是如何计划自动化测试的?5. 自动化测试能提高测试效率吗?6. 什么是data-driven automoation(数据启动自动化)?7. 测试自动化的主要特征有哪些?8. 自动化测试可以代替手工测试吗?9.自动化测试的好处是什么?10. 自动化测试容易出现的误区有哪些?11. 介绍一下测试自动化的常见问题?12. 你知道哪些测试自动化的脚本技术?13. 测试用例的设计可以自动化吗?。

自动化测试工程师招聘面试题与参考回答(某大型集团公司)

自动化测试工程师招聘面试题与参考回答(某大型集团公司)

招聘自动化测试工程师面试题与参考回答(某大型集团公司)(答案在后面)面试问答题(总共10个问题)第一题题目:请简述自动化测试的基本流程,并说明每个步骤的关键点是什么?第二题题目:请描述一次你在自动化测试项目中遇到的技术难题,以及你是如何解决这个问题的。

第三题题目:请描述一次你成功解决一个复杂自动化测试问题的经历。

在描述过程中,请详细说明以下内容:1.问题背景和问题描述;2.你采取的解决策略和步骤;3.你遇到的挑战及如何克服;4.解决方案的效果和后续影响。

第四题题目:请描述一次你在自动化测试中遇到的一个挑战,以及你是如何解决这个挑战的。

第五题题目:请描述一次你参与过的自动化测试项目,包括项目的背景、目标、你所承担的角色以及最终取得的成果。

第六题题目:请您谈谈您对于自动化测试框架的理解,并举例说明您在实际项目中如何选择合适的自动化测试框架。

第七题题目描述:请详细描述一次你在自动化测试过程中遇到的一个挑战,以及你是如何解决这个问题的。

在回答中,请包括以下内容:1.遇到的问题是什么?2.你是如何分析这个问题的?3.你采取了哪些具体的措施来解决问题?4.最终结果如何?这个问题对项目有什么影响?第八题问题:请描述一下自动化测试框架的设计原则,以及你如何在实际项目中选择和构建适合的自动化测试框架?第九题题目:请描述一次你遇到的自动化测试过程中最复杂的bug,包括bug的发现、定位、复现和解决过程。

第十题问题:在自动化测试过程中,如何确保测试脚本具有良好的可维护性和可扩展性?招聘自动化测试工程师面试题与参考回答(某大型集团公司)面试问答题(总共10个问题)第一题题目:请简述自动化测试的基本流程,并说明每个步骤的关键点是什么?参考回答:自动化测试的基本流程可以概括为以下几个步骤:1.需求分析:在开始任何测试活动之前,首先需要理解产品的功能需求以及非功能性需求,比如性能要求、安全性要求等。

这一步骤的关键在于确保测试团队对项目目标有清晰的理解,以便于制定合适的测试策略。

软件自动化测试工程师面试题

软件自动化测试工程师面试题

软件自动化测试工程师面试题
姓名:_____________ 应聘岗位:________________ 时间:______________ 1.为什么要实施自动化测试?你认为自动化测试的优点有哪些?缺点又有哪些?
2.介绍一下你参与的项目中使用QTP进行自动化测试的测试框架及测试流程:
3.QTP中的Object Spy有什么作用?
4.Vbscript中如何自定义一个返回参数值并输出的函数?
5.在QTP中如何调用上一题(第4题)中的自定义函数?
6.使用描述性编程完成下述场景的QTP脚本:
1)打开IE浏览器;
2)访问谷歌官网(https:///);
3)在查询框(name属性为q)中输入“爱递吉”;
4)点击“Google搜索”。

7.针对以下需求设计测试用例,并完成对应用例的QTP测试脚本:
选中网站测试页面中表格内的数据,点击表格上方“选择汇总”按钮,弹出“汇总”窗口,
1)“汇总”窗口表格第1行第2列是毛重,等于页面表格中选中数据第2列的值总和;
2)“汇总”窗口表格第2行第2列是体积,等于页面表格中选中数据第4列的值总和;
3)“汇总”窗口表格第3行第2列是价值,等于页面表格中选中数据第5列的值总和;。

20道经典自动化测试面试题

20道经典自动化测试面试题

20道经典自动化测试面试题概述觉得自动化测试很难?是的,它确实不简单。

但是学会它,工资高啊!担心面试的时候被问到自动化测试?嗯,你担心的没错!确实会被经常问到!现在应聘软件测试工程师的岗位,几乎所有的公司都要求会自动化测试!那么,在面试的时候哪些问题会被面试官经常问到?哪些问题是面试官真正关心的?下面通过20道经典自动化测试面试题。

让你能够在面试的时候轻松应对,也让你在学习自动化测试的时候明白应该关注哪些内容,而不仅仅只是会调用接口模拟输入和点击操作!基础题1、web自动化时,定位元素的方式有哪些?答:web自动化有8种元素定位方式。

与name有关的有3种:name、class_name、tag_name与link相关的有两种:link_text、partitial_link_text。

还有一种是用id来定位。

剩下两种是xpath和css定位,它们用元素路径来定位的。

如果元素存在id属性,我一定使用id,因为简单方便,定位最快。

其次是Xpath和css,因为很多情况下html标签没有id属性。

2、如何去定位属性动态变化的元素?答:先去找该元素不变的属性,要是都变,那就找不变的父元素,用层级定位(以不变应万变)3、启动浏览器的时候用到的是哪个webdriver协议?答:http协议4、XPath中使用单斜杠和双斜杠有什么区别?答:单斜杠表示用绝对路径定位,双斜杠表示用相对路径定位。

绝对路径就是从html根目录开始表示的元素路径。

相对路径就是选择一个元素作为参考点,相对这个参考点元素开始表示的元素路径。

5、Selenium中有哪些验证点?答:Selenium主要有3种验证点①检查页面标题②检查某些文字③检查某些元素(文本框,下拉菜单,表等)6、如何清除中文本框的内容?答:使用clear()方法driver.find_element().clear()7、如何模拟浏览器的前后移动?答:driver.back() # 后退driver.forward() # 前进8、find_element()和find_elements()方法有什么区别答:两个都是查找元素的方式findelement()查找一个页面元素,只会返回WebElement对象findelements()查找页面是所有符合匹配的元素,返回元素集合9、如何判断case是否通过?答:使用断言,与预期结果比较10、等待元素加载的方式有几种?答:有3种,强制等待、隐式等待、显式等待进阶题1、定位不到元素怎么办?答:①检查日志,确认当前页面有没有这个元素②如果有,检查定位方式有没有写错③如果还没解决,检查元素是否在内联框里如果在内联框里,需要先切换到内联框里再定位元素。

QTP自动化测试—考核题目

QTP自动化测试—考核题目

自动化测试考核一、多项选择题(共30分,每题5分)1.QTP的对象库的原理顺序(ACE)A.封装被测对象到对象库B.录制对象为脚本,对象库存在对象C.运行QTP脚本时,会启用对象库里对象属性和运行中的被测属性进行对比D.脚本的描述与对象匹配E.对比成功之后找到需要运行的对象2.下面关于描述对象库正确的是()A.QTP封装的一层接口属性,控件自身并没有此属性B.对象库能够识别对象是依赖于BHO机制的C.对象库简称是ORP,能够识别任何一种对象(对象库简称OR,object Repository)D.对象库里面的对象可以进行添加、复制、剪切、高亮灯操作E.可轻易的修改对象库中对象的描述属性,并能够更好的管理对象。

F.对象库录制好的对象,另存为后的文件格式是.txr(后缀名是.trs)3.录制的3种模式分别是(BDF)A.高级录制模式B.低级录制模式C.捕捉录制模式D.模拟录制模式E.动作录制模式F.正常录制模式4.Flie->Setting->Run,进入Run设置页面,在When eror occurs during run session(当在运行期间发生错误时)提供了多少个处理选择(A E F G)A.pop up message boxB.Proceed to run step actionC.Stop ationD.Proceed to next action iterationE.Stop runF.Proceed next action iterationG.Proceed to next step5.以下的选项为正确的是(ACDEF)A.QTP的两种运行模式包括:快速运行模式和正常运行模式B.当QTP正在回放时,使用快捷键Ctrl+Alt+F5能够退出回放(Ctrl+Alt+F5是停止运行的快捷键)C.回放类型包括事件模拟类型和鼠标模拟类型D.进入QTP使用快捷键Ctrl+R就能直接打开对象库E.回放机制:封转对象与虚拟对象的匹配F.公共对象库能够对比、合并、拆分对象6.以下的选项为错误的是(BDF)A.Setting.WebPackage("ReplayType")=2,这个代码是把回放模式改成鼠标模拟模式B.在进行录制的时候应该关闭不需要的浏览器C.开启模拟录制模式前的必要条件是开启正常录制模式D.QC调用的方式执行脚本,运行模式是Normal(应该是fast模式)E.在Normal运行模式中上设置间隔事件,单位是毫秒F.脚本运行时,左侧有黄色箭头,则代表这种运行模式是Fast(有黄色箭头的是Normal模式)二、解答题(共20分,每题10分)a.根据以下素材编写自动化测试用例,素材如下:1)系统名称《自动化测试用例设计系统》,B/S架构;2)整个登录功能的验证只涉及2个页面《登录页面》、《内容页面》3)“登录页面”具备4个控件[用户名输入]、[密码输入]、[登录]、[重置];4)“内容页面”中存在文字<欢迎回来,xx>,具备1个控件[退出系统];5)该系统是不用手工清除IE缓存,不点击[退出系统],直接关闭网页,下次访问无须重新登录,直接以已登录状态访问<内容页面>,非常方便;6)在“素材4”中,内容页面里的文字专门用作检查登录系统是否成功;步骤序列业务操作描述预期结果测试所用数据1 进入“自动化测试用例设计系统”登录页面。

自动化面试面试题目(3篇)

自动化面试面试题目(3篇)

第1篇1. 请简述自动化测试的定义及其与传统测试的区别。

2. 自动化测试有哪些类型?请分别举例说明。

3. 什么是测试用例?测试用例设计的原则有哪些?4. 请简述软件开发生命周期(SDLC)中测试的几个阶段及其主要任务。

5. 什么是回归测试?请说明回归测试的目的和作用。

6. 请简述黑盒测试和灰盒测试的区别。

7. 请简述白盒测试和黑盒测试的区别。

8. 什么是自动化测试脚本?请举例说明自动化测试脚本的作用。

9. 什么是自动化测试框架?请举例说明自动化测试框架的作用。

10. 什么是单元测试?请说明单元测试的目的和作用。

二、工具与技术1. 请简述Selenium自动化测试工具的原理和特点。

2. 请列举Selenium常用的元素定位方法及其优缺点。

3. 请简述Selenium WebDriver和Selenium RC的区别。

4. 请简述Appium自动化测试工具的原理和特点。

5. 请列举Appium常用的元素定位方法及其优缺点。

6. 请简述Robot Framework自动化测试工具的原理和特点。

7. 请列举Robot Framework的测试数据驱动(Data-Driven)测试方法。

8. 请简述JUnit和TestNG测试框架的区别。

9. 请简述Page Object设计模式在自动化测试中的应用。

10. 请简述测试报告在自动化测试中的作用。

三、设计思路1. 请简述自动化测试用例设计的原则。

2. 请说明如何设计自动化测试用例。

3. 请简述自动化测试用例的优先级划分方法。

4. 请简述自动化测试用例的覆盖范围。

5. 请说明如何编写自动化测试脚本。

6. 请简述如何编写自动化测试框架。

7. 请说明如何进行自动化测试环境的搭建。

8. 请简述如何进行自动化测试的持续集成(CI)。

9. 请说明如何进行自动化测试的持续部署(CD)。

10. 请简述如何进行自动化测试的性能优化。

四、问题与解决1. 在自动化测试中,如何处理元素定位不到的情况?2. 在自动化测试中,如何处理元素属性动态变化的情况?3. 在自动化测试中,如何处理验证码?4. 在自动化测试中,如何处理浏览器窗口切换?5. 在自动化测试中,如何处理弹窗?6. 在自动化测试中,如何处理网络延迟?7. 在自动化测试中,如何处理数据库连接问题?8. 在自动化测试中,如何处理日志记录?9. 在自动化测试中,如何处理异常处理?10. 在自动化测试中,如何处理测试数据管理?五、面试题及答案1. 请简述自动化测试的定义及其与传统测试的区别。

Python自动化测试面试题大全2024版:面向测试开发工程师的实用指南!习题集与答案解析

Python自动化测试面试题大全2024版:面向测试开发工程师的实用指南!习题集与答案解析

Python自动化测试(2024版)_习题及答案解析(答案见尾页)一、选择题1. Python自动化测试的目的是什么?A. 提高软件质量B. 减少测试用例数量C. 提高开发效率D. 以上全部2. 下面哪个不是Python自动化测试中的基本框架?A. unittestB. pytestC. noseD. pygame3. 以下哪种测试方法不属于单元测试?A. 功能测试B. 性能测试C. 接口测试D. 所有选项都是4. 在Python中,如何编写一个简单的单元测试类?A. class TestCase:def test_method(self):passB. class TestCase:def test_method1():passdef test_method2():passC. class TestCase:def test_method(self):passD. class TestCase:def test_method(self):pass5. 下列哪个库在Python中常用于接口测试?A. requestsB. unittestC. pytestD. all of the above6. 以下哪个模块在Python中提供性能测试的功能?A. timeB. timeitC. unittestD. all of the above7. 以下哪种测试用例设计方法不属于等价类划分法?A. 等价类划分法B. 边界值分析法C. 决策表法D. 所有选项都是8. 以下哪个函数在Python中用于生成随机数?A. random.randint()B. random.random()C. time.time()D. string.ascii_letters9. 以下哪个模块在Python中常用于处理文件和目录操作?A. osB. timeC. randomD. all of the above10. 以下哪个模块在Python中常用于网络请求?A. requestsB. timeC. randomD. all of the above11. 单元测试的核心思想是保证代码的每个部分能够独立工作。

面试测试岗位的面试题目(3篇)

面试测试岗位的面试题目(3篇)

第1篇一、自我介绍与基础知识测试1. 请简要介绍一下您的个人情况和教育背景。

2. 您为什么选择测试岗位?您认为测试岗位对个人发展有哪些帮助?3. 请简述软件测试的基本流程。

4. 请解释一下黑盒测试和白盒测试的区别。

5. 请列举三种常见的测试用例设计方法。

6. 请解释一下什么是缺陷生命周期?7. 请简要介绍自动化测试的基本原理。

8. 请简述敏捷开发中测试人员应具备的技能。

9. 请谈谈您对测试人员职业素养的看法。

10. 请谈谈您对软件测试行业发展趋势的看法。

二、实际操作测试1. 请使用您熟悉的测试工具,完成以下测试任务:(1)对以下需求文档进行测试用例设计,并给出至少10个测试用例。

需求文档:开发一个在线购物网站,用户可以浏览商品、添加购物车、下单支付等。

(2)针对以下功能模块,设计至少5个测试用例。

功能模块:用户登录、注册、找回密码。

2. 请根据以下场景,完成测试报告的撰写:场景:某在线支付平台出现支付失败的问题,需要测试人员进行定位和调试。

(1)描述问题发生的过程和现象。

(2)分析可能导致问题的原因。

(3)提出解决方案,并说明如何验证解决方案的有效性。

(4)总结本次测试的经验教训。

三、沟通与团队协作1. 请简述在团队协作中,测试人员应具备的沟通能力。

2. 请谈谈您在团队中如何与其他成员保持良好的沟通。

3. 请举例说明您在项目中遇到的一个团队协作问题,以及您是如何解决的。

4. 请谈谈您对团队氛围的看法,以及如何营造良好的团队氛围。

5. 请谈谈您在项目中如何与其他部门(如开发、产品、运维等)进行沟通和协作。

四、案例分析1. 请分析以下案例,并回答相关问题:案例:某电商公司上线一款新产品,但用户反馈存在性能问题,导致大量用户流失。

(1)请分析导致性能问题的原因。

(2)请提出解决性能问题的方案。

(3)请谈谈在解决性能问题时,测试人员应关注的重点。

2. 请分析以下案例,并回答相关问题:案例:某金融公司开发一款在线支付产品,但上线后出现严重的安全问题,导致大量用户资金损失。

QTP 25个面试题

QTP  25个面试题

1.QTP10.0的特点和优点是什么?2.如何使用QTP场景恢复处理异常?3.QTP中文本输出值的作用是什么?4.如何在QTP8.0版本中使用Object spy?5.在QTP中如何处理运行时的数据(参数)?6.在QTP中什么是关键字视图和专家视图?7.解释QTP测试融合报告?8.QTP的支持哪些环境?9.什么是QTP?10.解释QTP的测试过程11.解释QTP工具界面12.QTP是如何在被测系统中识别对象的?13.在QTP中对象库的类型是什么?14.解释在QTP检查点15.使用QTP在应用程序中添加检查点,有多少种方法?16.QTP如何识别应用程序中的对象?17.什么是参数化测试?18.QTP测试对象模型是什么?19.在QTP中,什么是Object Spy?20.图像检查点和位图检查点之间的区别是什么?21.在QTP中,有多少种方法对数据参数化?22.怎样做可以使用WR进行批量测试及是否能在QTP中这样做?如果可以的话,解释。

23.如果给你一个测试,让你在2天内执行万余次测试,你会怎么做呢?24.跟19题一样25.在QTP中代码文件的扩展名和对象库文件的扩展名是什么?26.解释对象库的概念以及QTP如何识别对象27.给我一个你在QTP项目中使用COM接口的例子?28.简要解释QTP自动化对象原理。

3、QTP有哪几种录制模式?4、QTP如何对下拉框中的数据进行参数化?5、用QTP录制脚本后如何修改脚本能够增加其灵活性?6、如何设置使对象库不产生重复对象7、如何修改共享对象库中的值并使之生效?8、Action1中参数传递到Action2中有哪几种方式,请分别加以说明。

9、正则表达式:\(?0\d{2}[) -]?\d{8}表示什么内容?10、请将下面操作用另外一种描述性编程实现(通过Description对象): Window("Error").WinButton("text:=OK", "index:=1").Click三、QTP脚本开发题(30分):1、如果运行Fight4a的登录脚本前(脚本中需要QTP自动打开登录框),被测对象已经存在多个(如图),这将导致后续步骤出错,如何能够先将已经打开的登录框关闭再执行登录,请将脚本中关闭多余登录框功能补充完整。

自动化测试面试题库

自动化测试面试题库

⾃动化测试⾯试题库常规问题1、如何快速深⼊的了解移动互联⽹领域的应⽤(答案:看http协议 restful api知识 json加1分)2、对xx应⽤⾃⼰会花多久可以在业务上从⼊门到精通,说说⾃⼰的⽅法(答案:看api和数据库的加1分)3、如果在没有QA流程的情况下何开展测试⼯作(考察对⽅⾃管理和对测试流程的掌握)4、遇到开发不认为是issue的情况下如何处理5、如果和开发⼈员发⽣技术或需求⽅⾯的争论应该如何处理(考察情商)6、⾃⼰在跨领域转型后,最想学习哪些⽅⾯的基础技术知识 (例如以前经验是⾮移动互联⽹领域)7、打算如何平衡学习、⼯作、⽣活,尤其在转型之际 (例如以前经验是⾮移动互联⽹领域)8、如何⽤⾃⼰的长处客服⾃⼰的缺点的,举出例⼦ (必须要说的出来⾃⼰的缺点,考察对⾃⼰的认识程度)⼿⼯测试部其实就⼀个问题:举出⼀个有逻辑的测试⽤例,然后说说⾃⼰的功能测试⽤例测试思路观察点。

(举出来有逻辑的⽤例加1分,回答分层观察前端 api 数据库变化的加1分)⾃动化测试1、使⽤什么测试框架做的上⼀个项⽬的⾃动化测试。

(答 appium selenium robtium的0分,答junit testng robotframework的加1分)2、⾃⼰最熟悉哪个库,如何使⽤这些库的,是否做了基于复⽤的封装,怎么考虑的这些封装(答appium但是只是罗列脚本的0分,分别封装了基础类例如:等待某元素出现的⽅法,更⽅便查找操作元素的⽅法,和被测试业务相关的类和⽅法, 加1分)3、如何定位app上的元素,使⽤appium的inspector了吗在什么平台⽤的(答:⼿写xpath的加1分,答在mac上使⽤inspector的加1分)4、如何使⽤xpath定位⼀个兄弟元素,就是和该元素同属于⼀个⽗亲节点的元素,这在很多现实的app中常常遇到。

(答先找到⽗亲,再找到⾃⼰的兄弟加1分)4、//*[contains(@text,"登录")] 是什么意思(答这是xpath查找登录按钮的0分,这是查包含登录关键字的所有元素加1分)5、⾃动化遇到⽤例fail掉如何排查故障(答:不明⽩你说的什么意思0分,没看出错log的0分,如果能按层次说清楚排查失败:⼿⼯查应⽤是否真的有bug, 确认不是bug,是不是新版本引⼊了新的变更,调试脚本看看⾃⼰的脚本是不是因为没有等待元素出现后就操作了,是不是元素上⾯有其他元素出现这样操作是不是操作了其他的元素上了,这样回答问题的加1分)6、等待元素出现的这个⽅法如何实现的(答:不知道这个基础的0分,⽤⼀个循环间隔时间去检查这个元素是否可见,类似这样回答的加1分)7、如何在app⼀个列表的listview中查到⾃⼰想要的那个元素(图⽚,⽂字,按钮)并点击(答:滚动到并点击0分,因为没有现成的⽅法scrollto到那个element的locator,⽬前app listview中的元素⼤多是没有被看到就不会被加载,⽽且分页也都是lazyloding)8.如何在脚本中组织测试⽤例,按什么模式设计(答不了解0分,按page设计模式的加1分)9. 如何测试app正确处理了服务端返回的异常,⽹络异常服务异常等,(答使⽤mockservice的加1分)以上是快速的筛选脚本,回答的可以不精准,就像我的回答也不是都经得起推敲,但是⾄少可以看得出来:“求职者是否在⾃动化测试岗位有实际⼯作经验,应⽤于⽣产的⼯作经验”。

自动化测试面试题(一)

自动化测试面试题(一)

⾃动化测试⾃试题(⾃)⾃动化测试⾃试题(⾃)什么是⾃动化测试⾃动化测试就是把以⾃为驱动的测试⾃为转化为机器执⾃的⾃种过程,即摹拟⾃⾃测试的步骤,通过执⾃测试脚本⾃动地测试软件;⾃动化测试就是程序(脚本)测试程序,使⾃⾃动化⾃具编写、执⾃测试⾃员测试脚本和案例的技术⾃动化测试的主要⾃标是减少⾃动运⾃的测试⾃例数量,⾃不是彻底取销⾃动测试。

什么是分层测试?1.数据层2.接⾃层’3.UI层⾃动化测试的适⾃和不适⾃场景⾃动化测试决定基于ROI(投资回报率),⾃动化测试适⾃于需求⾃较稳定(不时常变更)的场景在以下情况下⾃选⾃动化重复性任务烟雾和理智测试使⾃多个数据集进⾃测试回归测试⾃例以下场景不适合⾃⾃动化受测试的应⾃程序频繁更改暂时测试随机测试你觉患上⾃动化测试最⾃的缺陷是什么?不稳定可靠性不强不易维护成本与收益项⾃使⾃的⾃动化测试框架appium 、selenium、unittest 或者robotframework看项⾃情况回答根据⾃动化测试⾃标不⾃致,分为三种:appUI⾃动化测试,webUI⾃动化测试,接⾃⾃动化测试。

appUI搭建框架使⾃python+uniitest+appium⾃具webUI搭建框架使⾃python+selenium+unittest接⾃测试框架使⾃python+unittest+requests对库的使⾃⾃⾃最熟悉哪个库,如何使⾃这些库的,是否做了基于复⾃的封装,怎么考虑的这些封装参考以下内容:分别封装了基础类例如:等待某元素浮现的⾃法,更⾃便查找操作元素的⾃法,和被测试业务相关的类和⾃法代码举例:class BaseView(object):def __init__ (self, driver):self .driver = driver# 获取⾃个页⾃,参数为urldef get(self, *loc):return self .driver .get(*loc)# 普通元素定位# by_id find_element(By.id,'xxx') 或者find_element_by_id('')# by_name find_element(,'xxx') 或者find_element_by_name('')# by_xpath find_element(By.xpath,'xxx') 或者find_element_by_xpath('')# by_class_name find_element(By.className,'xxx') 或者find_element_by_class_name('')# by_link_text find_element(By.linkText,'xxx') 或者find_element_by_link_text('')# by_partial_link_text find_element(By.partialLinkText,'xxx') 或者find_element_by_partial_link_text('')# by_tag_name find_element(By.tagName,'xxx') 或者find_element_by_tag_name('')# by_css_selector find_element(By.cssSelector,'xxx') 或者find_element_by_css_selector('')def find_element (self, *loc):return self .driver .find_element (*loc)# 元素定位返回⾃个数组list,⾃般⾃于判断元素是否存在def find_elements (self, *loc):return self .driver .find_elements (*loc)# 获取屏幕⾃⾃def get_window_size (self):return self .driver .get_window_size ()# 滑动屏幕def swipe(self, star_x , star_y , end_x , end_y , duration ):return self .driver .swipe(star_x , star_y , end_x , end_y , duration )# 时间等待(隐形等待)def implicitly_wait(self, t):return self .driver .implicitly_wait(t)# 时间等待(显性等待)def web_driver_wait (self, t, s):# 由于不长使⾃,再也不进⾃具体的封装# 每经过s秒就查看⾃次指定元素是否可见,如果操作ts薄超时异常return WebDriverWait(self.driver , t, s) # 可以配合until或者until_not⾃法,再辅助以⾃些判断条件,就可以构成这样⾃个场景如何设计⾃质量⾃动化脚本1.使⾃四层结构实现业务逻辑、脚本、数据分离。

QTP经典面试题

QTP经典面试题

介绍几个qtp常用函数1.对于DataTable:a.指定取哪行;DataTable.GetSheet(“Action Sheet”).SetCurrentRow rowb.指定取那列;DataTable(“cloum Name”,”Action Sheet”)2.调用Action功能RunAction ActionName, [IterationMode, iterationRang,Parameter]a. IterationMode是可选的,表示运行模式,如果是0,表示运行一次,如果为1,需要与第三个参数关联起来用,共同决定运行几次;b. iterationRang是可选的,如果第二个参数IterationMode为1,这个参数必选。

有两种方式,第一,指定循环区间,如“1-7”,表示循环7次,参数去DataTable中1-7行的记录数,第二种,rngAll表示调用DataTable中所有参数;c. Parameter是可选,表示Action之间参数的传递;qtp之excel操作函数都有哪些?******************************************************‘Function:读Excel中的某个值‘Input parameter:‘strFilePath:保存Excel的文件路径‘strExcelSheetName:要读取的Excel中Sheet的名称‘intRow:读取哪一行的数据‘intCol:读取哪一列的数据‘For example:”E:\a.xls”,”Sheet1″,2,3‘Return:取到的值‘******************************************************function getOneValue(strFilePath,strSheetName,intRow,intCol)‘定义变量Dim ExcelApp,ExcelBook,ExcelSheet‘创建EXCEL程序,打开工作簿,设置当前活动sheetSet ExcelApp = CreateObject(“Excel.Application”)Set ExcelBook = ExcelApp.WorkBooks.Open(strFilePath)Set ExcelSheet = ExcelBook.WorkSheets(strSheetName)‘获取excel中值, 并返回getOneValue = ExcelSheet.Cells(intRow,intCol)‘关闭ExcelcloseExcelSheet ExcelBook,ExcelApp,ExcelSheetend function‘******************************************************‘Sub:给excel中写入一条数据‘Input parameter:‘strExcelShee tName:要写入的Excel中Sheet的名称‘intRow:往哪一行的写数据‘intCol:往哪一列的写数据‘strValue:写入的值‘For example:”E:\a.xls”,”Sheet1″,2,3,”111″‘Return:‘******************************************************sub setOneValue(strFilePath,strSheetName,intRow,intCol,strValue) ‘定义变量Dim ExcelApp,ExcelBook,ExcelSheet‘创建EXCEL程序,打开工作簿,设置当前活动sheetSet ExcelApp = CreateObject(“Excel.Application”)Set ExcelBook = ExcelApp.WorkBooks.Open(strFilePath)Set ExcelSheet = ExcelBook.WorkSheets(strSheetName)‘设置值ExcelSheet.cells(intRow,intCol).value =strValue‘写入完成后,保存EXCELExcelApp.DisplayAlerts=FalseExcelApp.Save‘关闭ExcelcloseExcelSheet ExcelBook,ExcelApp,ExcelSheetend sub‘******************************************************‘Function:读Excel中某一列的值‘Input parameter:‘strFilePath:保存Excel的文件路径‘strExcelSheetName:要读取的Excel中Sheet的名称‘intCol:读取哪一个列的数据‘For example:”E:\a.xls”,”Sheet1″,2‘Return:取到的值‘******************************************************function getColValues(strFilePath,strSheetName,intCol)‘定义变量Dim ExcelApp,ExcelBook,ExcelSheet,intRowscount,arrValues()‘创建EXCEL程序,打开工作簿,设置当前活动sheetSet ExcelApp = CreateObject(“Excel.Application”)Set ExcelBook = ExcelApp.WorkBooks.Open(strFilePath)Set ExcelSheet = ExcelBook.WorkSheets(strSheetName)‘得到excel中共有几行intRowscount =edRange.Rows.Count‘获取excel中值Redim Preserve arrValues (intRowscount-1)For i=1 to intRowscountarrValues(i-1) = ExcelSheet.Cells(i,intCol)Next‘返回值getColValues=arrValues‘关闭ExcelcloseExcelSheet ExcelBook,ExcelApp,ExcelSheetend Function‘******************************************************‘Sub:写入Excel中某一列的值‘Input parameter:‘strFilePath:保存Excel的文件路径‘strExcelSheetName:要写入Sheet的名称‘intCol:写入哪一个列的数据‘intFromrow:从哪里行开始写‘arrValue:写入值(数组)‘For example:”E:\a.xls”,”Sheet1″,2,2,arrRes‘Retu rn:‘******************************************************Sub setColValues(strFilePath,strSheetName,intCol,intFromRow,arrValue) ‘定义变量Dim ExcelApp,ExcelBook,ExcelSheet,intRowscountDim intArrColumnsCount,intColumnsCount‘创建EXCEL程序,打开工作簿,设置当前活动sheetSet E xcelApp = CreateObject(“Excel.Application”)Set ExcelBook = ExcelApp.WorkBooks.Open(strFilePath)Set ExcelSheet = ExcelBook.WorkSheets(strSheetName)‘ExcelSheet.activate‘得到数组的大小intArrColumnsCount=UBound(arrValue)‘最后写到哪一行intRowCount=intFromRow+intArrColumnsCount‘设置值For i=intFromRow To intRowCountExcelSheet.cells(i,intCol).value =arrValue(i-intFromRow)Next‘写入完成后,保存EXCELExcelApp.DisplayAlerts=FalseExcelApp.Save‘关闭ExcelcloseExcelSheet ExcelBook,ExcelApp,ExcelSheetEnd Sub‘******************************************************‘Function:读Excel中某一行的值‘Input parameter:‘strFilePath:保存Excel的文件路径‘strExcelSheetName:要读取的Excel中Sheet的名称‘intRow:读取哪一行的数据‘For example:”E:\a.xls”,”Sheet1″,1‘Return:取到的值‘****************************************************** function getRowValues(strFilePath,strSheetName,intRow)‘定义变量Dim ExcelApp,ExcelBook,ExcelSheet,intColumnsCount,arrValues()‘创建EXCEL程序,打开工作簿,设置当前活动sheetSet ExcelApp = CreateObject(“Excel.Application”)Set ExcelBook = ExcelApp.WorkBooks.Open(strFilePath)Set ExcelSheet = ExcelBook.WorkSheets(strSheetName)‘得到excel中共有几列intColumnsCount =edRange.Columns.count‘获取excel中值Redim Preserve arrValues(intColumnsCount -1)For i=1 to intColumnsCountarrValues(i-1) = ExcelSheet.Cells(intRow,i)Next‘返回值getRowValues=arrValues‘关闭ExcelcloseExcelSheet ExcelBook,ExcelApp,ExcelSheetend Function‘******************************************************‘Sub:写入Excel中某一行的值‘Input parameter:‘strFilePath:保存Excel的文件路径‘strExcelSheetName:要写入Sheet的名称‘i ntRow:写入哪一个行的数据‘intFromCol:从哪里列开始写‘arrValue:写入值(数组)‘For example:”E:\a.xls”,”Sheet1″,5,2‘Return:‘******************************************************Sub setRowValues(strFilePath,strSheetName,intRow,intFromCol,arrValue) ‘定义变量Dim ExcelApp,ExcelBook,ExcelSheet,intColcountDim intArrColumnsCount,intColumnsCount‘创建EXCEL程序,打开工作簿,设置当前活动sheetSet ExcelApp = CreateObject(“Excel.Application”)Set ExcelBook = ExcelApp.WorkBooks.Open(strFilePath)Set ExcelSheet = ExcelBook.WorkSheets(strSheetName)‘得到数组的大小intArrColumnsCount=UBound(arrValue)‘最后写到哪一列intColcount=intFromCol+intArrColumnsCount‘设置值For i=intFromCol To intColcountExcelSheet.cells(intRow,i).value =arrValue(i-intFromCol)Next‘写入完成后,保存EXCELExcelApp.DisplayAlerts=FalseExcelApp.Save‘关闭ExcelcloseExcelSheet ExcelBook,ExcelApp,ExcelSheetEnd Sub‘******************************************************‘Function:读Excel中所有的值‘Input parameter:‘strFilePath:保存Excel的文件路径‘strExcelSheetName:要读取的Excel中Sheet的名称‘For example:”E:\a.xls”,”Sheet1″‘Return:取到的值‘******************************************************function getAllValues(strFilePath,strSheetName)‘定义变量DimExcelApp,ExcelBook,ExcelSheet,intRowscount,intColumnsCount,arrGetCell Value()‘创建EXCEL程序,打开工作簿,设置当前活动sheetSet ExcelApp = CreateObject(“Excel.Application”)Set ExcelBook = ExcelApp.WorkBooks.Open(strFilePath)Set ExcelSheet = ExcelBook.WorkSheets(strSheetName)‘得到excel中共有几列intRowscount =edRange.Rows.Count intColumnsCount =edRange.Columns.count‘获取excel中值Redim Preserve arrGetCellValue (intRowscount-1,intColumnsCount-1) For i=1 To intRowscountFor j=1 to intColumnsCountarrGetCellValue(i-1,j-1) = ExcelSheet.Cells(i,j)NextNext‘返回值getAllValues=arrGetCellValue‘关闭ExcelcloseExcelSheet ExcelBook,ExcelApp,ExcelSheetend Function‘******************************************************‘Function:读取某值第一次出现的行号‘Input parameter:‘strFilePath:Excel文件保存的路径‘strSheetName:要读取的Excel中Sheet的名称‘Value:第一次出现的值‘For example:”E:\a.xls”,”Sheet1″,”root”‘Return:行号‘****************************************************** Function getRowByValue(strFilePath,strSheetName,Value) ‘定义变量Dim ExcelApp,ExcelBook,ExcelSheetDim rowcount,colcount‘创建EXCEL程序,打开工作簿,设置当前活动sheetSet ExcelApp = CreateObject(“Excel.Application”)Set ExcelBook = ExcelApp.WorkBooks.Open(strFilePath)Set ExcelSheet = ExcelBook.WorkSheets(strSheetName)‘取得EXCEL表共有几行、几列rowcount =edRange.Rows.Count colcount=edRange.Columns.Count‘从行开始循环For i=1 To rowcountFor j=1 To colcount‘判断是否找到需要的值If ExcelSheet.cells(i,j)= Value Then‘返回值getRowByValue=i‘如果找到了此值,退出循环Exit forEnd IfNext‘如果找到了此值,退出循环If getRowByValue <>“” ThenExit ForEnd IfNext‘关闭ExcelcloseExcelSheet ExcelBook,ExcelApp,ExcelSheetEnd Function‘******************************************************‘Function:读取某值第一次出现的列号‘Input parameter:‘strFilePath:Excel文件保存的路径‘strSheetName:要读取的Excel中Sheet的名称‘Value:第一次出现的值‘For example:”E:\a.xls”,”Sheet1″,”root”‘Return:行号‘****************************************************** Function getColByValue(strFilePath,strSheetName,Value) ‘定义变量Dim ExcelApp,ExcelBook,ExcelSheetDim rowcount,colcount‘创建EXCEL程序,打开工作簿,设置当前活动sheetSet ExcelApp = CreateObject(“Excel.Application”)Set ExcelBook = ExcelApp.WorkBooks.Open(strFilePath)Set ExcelSheet = ExcelBook.WorkSheets(strSheetName)‘取得EXCEL表共有几行、几列rowcount =edRange.Rows.Count colcount=edRange.Columns.Count‘从行开始循环For i=1 To rowcountFor j=1 To colcount‘判断是否找到需要的值If ExcelSheet.cells(i,j)= Value Then‘返回值getColByValue=j‘如果找到了此值,退出循环Exit forEnd IfNext‘如果找到了此值,退出循环If getColByValue <>“” ThenExit ForEnd IfNext‘关闭ExcelcloseExcelSheet ExcelBook,ExcelApp,ExcelSheetEnd Function‘******************************************************‘Function:初始化数据,获取测试数据‘Input parameter:‘strFilePath: 测试数据Excel的文件路径‘strSheetName:要读取的Excel中Sheet的名称‘colNumber:标示符所在列‘flag:是否执行的标示符‘parmNumbers:测试参数的个数‘For example:”D:\test.xls”,”login”,1,”x”,4‘Return:测试数据(二维数组)‘第一列为每条测试数据在excel中的行号,以便于结果的写回‘******************************************************FunctiongetTestdata( strFilePath,strSheetName,colNumber,flag,parmNumbers)‘定义变量Dim ExcelApp,ExcelBook,ExcelSheet,rowcount,colcount,array(),arra(),k‘创建EXCEL程序,打开工作簿,设置当前活动sheetSet Ex celApp = CreateObject(“Excel.Application”)Set ExcelBook = ExcelApp.WorkBooks.Open(strFilePath)Set ExcelSheet = ExcelBook.WorkSheets(strSheetName)‘取得EXCEL表共有几行、几列rowcount=edRange.Rows.Countcolcount=edRange.Columns.Count‘确定哪些行的数据需要执行,存在一维数组中m=0For i=1 To rowcountIf ExcelSheet.cells(i,colNumber)= flag ThenReDim PreServe arra(m)arra(m)=im=m+1End IfNext‘重定义二纬数组,第一列存放每条测试数据行号,及测试数据的参数ReDim PreServe array(m-1,parmNumbers)For i=0 To m-1array(i,0)=arra(i)For j=1 To parmNumbersarray(i,j)=ExcelSheet.cells(arra(i),j+colNumber)NextNext‘返回值getTestdata=array‘关闭EcxelcloseExcelSheet ExcelBook,ExcelApp,ExcelSheetEnd Function‘******************************************************‘Sub:根据过滤的测试数据写入结果‘Input parameter:‘strFilePath: 测试数据Excel的文件路径‘strSheetName:要读取的Excel中Sheet的名称‘arrData: 存放测试数据的数组‘strColName: 结果的列名‘arrResult: 存放测试结果的数组‘Forexample:”D:\1.xls”,”sheet1″,arrData,”actualResult”,arrResult ‘Return:‘******************************************************SubsetResultByArrdata(strFilePath,strSheetName,arrData,resultColname,arr Result)Dim ExcelApp,ExcelBook,ExcelSheet,notNullNumber,intCol‘创建EXCEL程序,打开工作簿,设置当前活动sheetSet ExcelApp = CreateObject(“Excel.Application”)Set ExcelBook = ExcelApp.WorkBooks.Open(strFilePath)Set ExcelSheet = ExcelBook.WorkSheets(strSheetName)‘取得EXCEL表共有几行、几列rowcount =edRange.Rows.Countcolcount=edRange.Columns.CountintCol =getColByValue(strFilePath,strSheetName,resultColname)‘统计结果所在的列有多少行不为空notNullNumber=0For i=1 To rowcountIf ExcelSheet.cells(i,intCol)<>“” ThennotNullNumber=notNullNumber+1End IfNextIf notNullNumber=1 ThenFor i=0 To UBound(arrResult)ExcelSheet.cells(arrData(i,0),intCol).value = arrResult(i)NextElseFor i=0 To UBound(arrResult)ExcelSheet.cells(arrData(i,0),colcount+1).value = arrResult(i) NextEnd IfExcelApp.DisplayAlerts = falseExcelApp.SavecloseExcelSheet ExcelBook,ExcelApp,ExcelSheetEnd Sub‘******************************************************‘Sub:关闭Excel‘Input parameter:‘ExcelBook:打开的Excel‘ExcelApp:创建的Excel对象‘ExcelSheet:当前活动的表单‘For example:ExcelBook,ExcelApp,ExcelSheet‘Return:‘******************************************************Sub closeExcelSheet(ExcelBook,ExcelApp,ExcelSheet)ExcelBook.CloseExcelApp.QuitSet ExcelApp = NothingSet ExcelBook = NothingSet ExcelSheet = NothingEnd Subqtp对象库的建立及调用Set brows=description.Create()Set pages=description.Create()Set newobj=description.Create()OpenURL “” ‘调用方法,打开IE,并进入百度首页getobjs(22) ‘调用getobjs方法,设置对象newobjnewobj.set “bbbb” ‘操作对象,输入框中输入 bbbbgetobjs(11) ‘调用getobjs方法,设置对象newobjnewobj.click ‘点击webbutton进行查询。

用友自动化测试面试题和部分答案

用友自动化测试面试题和部分答案

用友自动化测试面试题和部分答案
预览说明:预览图片所展示的格式为文档的源格式展示,下载源文件没有水印,内容可编辑和复制
用友自动化测试面试提问:
1、英文测试用例和测试计划的编写(用英语回答)
2、自动化测试工具各自的用途(用英语回答)
3、QTP实现功能测试的时候,当新版本的页面都改变了,应该如何解决?
去更改对象仓库的属性和更改对象仓库
4、QTP这个工具的优缺点?
QTP工具的优点:可以实现数据批量录入,回归测试,数据初始化
缺点:对于页面变更太大,对象仓库的更新将会更大一些
5、测试计划所包含的内容?以及测试计划中的测试进度表示如何设计的?
优点:项目中的测试范围,质量定义,工期安排,资源安排
缺点:将测试范围和测试周期用表格形式显示出来
6、如何设计测试计划与测试用例?
根据需求,及项目的成本预算
7、整个项目共有多少测试用例,其中有多少用例使用了QTP,都是什么类型的用例,使用使用自动化测试工具的用例所占所有测试用例的比例
400多个,都是功能方面的用例。

50多个使用自动化测试工具
8、对于你来说,你认为是技术更重要一些,还是业务更重要一些?(业务搞不好,技术再强也没有用)
9、编过程序吗?用什么语言?
10、测试数据是存放在脚本中,还是文档中?文档的形式有几种?。

QTP面试题目

QTP面试题目

1.1 QTP自动化测试的基本过程使用QTP进行自动化测试的基本过程与使用其他自动化测试工具进行自动化功能测试的过程基本是一致的,一般包括以下5个步骤:(1)录制测试脚本.利用QTP先进的对象识别、鼠标和键盘监控机制来录制测试脚本,测试人员只需要模拟用户的操作,像执行手工测试的测试步骤一样操作被测试应用程序的界面即可.(2)编辑测试脚本.主要包括调整测试步骤、编辑测试逻辑、插入检查点(CheckPoint)、添加测试输出信息、添加注释等.(3)调试测试脚本.利用“Check Syntax”功能检查测试脚本的语法错误,利用QTP脚本编辑界面的调试功能检查测试脚本逻辑的正确性.(4)运行测试脚本.可运行单个“Action”,也可批量运行测试脚本.(5)分析测试结果.使用QTP的测试结果查看工具查看测试结果,检查测试运行过程的正确性.2:你怎么用QTP我们一般用QTP的录制功能来识别对象(会将对象的属性添加到对象库),在专家视图用VBS 根据测试需要加强脚本功能和实现测试结果的输出,(当无法正常识别对象或运行中对象属性有变化是由描述性编程定义对象或在对象库中添加对象到本地对象)3:录制的方式有三种:标准模式:能识别对象的属性和方法模拟模式:主要关注于鼠标移动和键盘的操作(类似于按键精灵的作用)低级模式:所有windows对象被识别为winobject,4:QTP对象识别机制QTP里的对象有两个概念,一个是Test Object(简称TO),一个是Runtime Object(简称RO)TO就是仓库文件里定义的仓库对象,RO是被测试软件的实际对象QTP识别对象,一般是要求先在对象仓库文件里定义仓库对象,里面存有对象的特征属性的值.然后在运行的时候,QTP会根据脚本里的对象名字,对象仓库里找到对应的仓库对象,接着根据仓库对象的特征属性描述,在被测试软件里搜索相匹配的实际对象,最后就可以对实际对象进行操作了5:什么是参数化将一个固定值用变值用代替,主要有三种数据来源:数据表,环境变量,随机数当然我们在专家视图中用变量实现6:检查点实际上是指对对象的属性进行校验分为:标准检查点网页检查点图片检查点图像检查点文本检查点数据库检查XML检查点(Extensive Makeup Language)—可扩展标示语言7:正则表达式(用于匹配,常用test方法)'定义一个正则表达式[RegularExpressions]对象用于匹配,常用test方法Set myReg= New RegExpmyReg.Pattern ="/\d*"myReg.IgnoreCase = True'运用'如果str中是/加数字则返回truestr="/2343424"msgbox myReg.test(str)'如果str中是/加数字则返回true8:定义描述性对象Set oDesc = Description.Create()oDesc("micclass").Value = "Link"此句是定义了一种link对象set all_link=Browser("Browser").Page("Page").Frame("Frame").ChildObjects(oDesc)这样得到一个link对象的集合中,再利用.count属性遍历每个元素,得到每个link的URL 地址For i=0 to all_link.count -1str=all_link(i).GetROProperty("url")Next9:一个对话框高度或宽度或者两者都改变,运行时对象还能不能识别?一般能识别,因为我们运行时,QT P只利用了几个重要属性(text,nativeclass)去寻求对象,所以不会去匹配高度和宽度,但当我们修改对象库,将对象的高度或宽度添加进去,且为一个定值时(因为也可以用正则表达式匹配数字),运行时就不能识别对象了实例验证10:场景恢复11:库函数(什么是函数,就是一段代码,我们取一个名字)1:先写好一个库函数文件,保存2:其它测试中要使用这些函数时,点击setting-->resoures-->添加,选择保存的库文件11:共享对象库12:QTP---功能测试LR----性能测试。

QTP 25个面试题 含答案

QTP 25个面试题 含答案

QTP Interview subject1. What are the Features & Benefits of Quick Test Pro (QTP 8.0)?–Operates stand-alone, or integrated into Mercury Business Process Testing and Mercury Quality Center. Introduces next-generation zero-configuration Keyword Driven testing technology in Quick Test Professional 8.0 allowing for fast test creation, easier maintenance, and more powerful data-driving capability. Identifies objects with Unique Smart Object Recognition, even if they change from build to build, enabling reliable unattended script execution. Collapses test documentation and test creation to a single step with Auto-documentation technology. Enables thorough validation of applications through a full complement of checkpoints.2. How to handle the exceptions using recovery scenario manager in QTP?–There are 4 trigger events during which a recovery scenario should be activated. A pop up window appears in an opened application during the test run: A property of an object changes its state or value, A step in the test does not run successfully, An open application fails during the test run, These triggers are considered as exceptions.You can instruct QTP to recover unexpected events or errors that occurred in your testing environment during test run. Recovery scenario manager provides a wizard that guides you through the defining recovery scenario. Recovery scenario has three steps: 1. Triggered Events 2. Recovery steps 3. Post Recovery Test-Run3. What is the use of Text output value in QTP?–Output values enable to view the values that the application talks during run time. When parameterized, the values change for each iteration. Thus by creating output values, we can capture the values that the application takes for each run and output them to the data table.4. How to use the Object spy in QTP 8.0 version?–There are two ways to Spy the objects in QTP: 1) Thru file toolbar, In the File Toolbar click on the last toolbar button (an icon showing a person with hat). 2) True Object repository Dialog, In Object repository dialog click on the button object spy. In the Object spy Dialog click on the button showing hand symbol. The pointer now changes in to a hand symbol and we have to point out the object to spy the state of the object if at all the object is not visible. or window is minimized then, hold the Ctrl button and activate the required window to and release the Ctrl button.5. How does Runtime data (Parameterization) is handled in QTP?–You can then enter test data into the Data Table, an integrated spreadsheet with the full functionality of Excel, to manipulate data sets and create multiple test iterations, without programming, to expand test case coverage. Data can be typed in or imported from databases, spreadsheets, or text files.6. What is keyword view and Expert view in QTP?- Quick Test’s Keyword Driven approach, test automation experts have full access to the underlying test and object properties, via an integrated scripting and debugging environment that is round-trip synchronized with the Keyword View. Advanced testers can view and edit their tests in the Expert View, which reveals the underlying industry-standard VBScript that Quick Test Professional automatically generates. Any changes made in the Expert View are automatically synchronized with the Keyword View.7. Explain about the Test Fusion Report of QTP?–Once a tester has run a test, a Test Fusion report displays all aspects of the test run: a high-level results overview, an expandable Tree View of the test specifying exactly where application failures occurred, the test data used, application screen shots for every step that highlight any discrepancies, and detailed explanations of each checkpoint pass and failure. By combining Test Fusion reports with Quick Test Professional, you can share reports across an entire QA and development team.8. Which environments does QTP support?- Quick Test Professional supports functional testing of all enterprise environments, including Windows, Web,, Java/J2EE, SAP, Siebel, Oracle, PeopleSoft, Visual Basic, ActiveX, mainframe terminal emulators, and Web services.9. What is QTP?- Quick Test is a graphical interface record-playback automation tool. It is able to work with any web, java or windows client application. Quick Test enables you to test standard web objects and ActiveX controls. In addition to these environments, Quick Test Professional also enables you to test Java applets and applications and multimedia objects on Applications as well as standard Windows applications, Visual Basic 6 applications framework applications.10. Explain QTP Testing process–Quick Test testing process consists of the following main phases:1. Creating your test plan– Prior to automating there should be a detailed description of the test including the exact steps to follow, data to be input, and all items to be verified by the test. The verification information should include both data validations and existence or state verifications of objects in the application.2. Recording a session on your application–As you navigate through your application, Quick Test graphically displays each step you perform in the form of a collapsible icon-based test tree. A step is any user action that causes or makes a change in your site, such as clicking a link or image, or entering data in a form.3. Enhancing your test– Inserting checkpoints into your test lets you search for a specific value of a page, object or text string, which helps you identify whether or not your application is functioning correctly. NOTE: Checkpoints can be added to a test as you record it or after the fact via the Active Screen. It is much easier and faster to add the checkpoints during the recording process. Broadening the scope of your test by replacing fixed values with parameters lets you check how your application performs the same operations with multiple sets of data. Adding logic and conditional statements to your test enables you to add sophisticated checks to your test.4. Debugging your test– If changes were made to the script, you need to debug it to check that it operates smoothly and without interruption.5. Running your test on a new version of your application– You run a test to check the behavior of your application. While running, Quick Test connects to your application and performs each step in your test.6. Analyzing the test results– You examine the test results to pinpoint defects in your application.7. Reporting defects–As you encounter failures in the application when analyzing test results, you will create defect reports in Defect Reporting Tool.11. Explain the QTP Tool interface- It contains the following key elements: Title bar, displaying the name of the currently open test, Menu bar, displaying menus of Quick Test commands, File toolbar, containing buttons to assist you in managing tests, Test toolbar, containing buttons used while creating and maintaining tests, Debug toolbar, containing buttons used while debugging tests. Note: The Debug toolbar is not displayed when you open Quick Test for the first time. You can display the Debug toolbar by choosing View . Toolbars . Debug. Action toolbar, containing buttons and a list of actions, enabling you to view the details of an individual action or the entire test flow. Note: The Action toolbar is not displayed when you open Quick Test for the first time. You can display the Action toolbar by choosing View . Toolbars . Action. If you insert a reusable or external action in a test, the Action toolbar is displayed automatically. Test pane, containing two tabs to view your test-the Tree View and the Expert View ,Test Details pane,containing the Active Screen. Data Table, containing two tabs, Global and Action, to assist you in parameterizing your test. Debug Viewer pane, containing three tabs to assist you in debugging your test-Watch Expressions, Variables, and Command. (The Debug Viewer pane can be opened only when a test run pauses at a breakpoint.) Status bar, displaying the status of the test.12. How does QTP recognize Objects in AUT?–Quick Test stores the definitions for application objects in a file called the Object Repository. As you record your test, Quick Test will add an entry for each item you interact with. Each Object Repository entry will be identified by a logical name (determined automatically by Quick Test), and will contain a set of properties (type, name, etc) that uniquely identify each object. Each line in the Quick Test script will contain a reference to the object that you interacted with, a call to the appropriate method (set, click, check) and any parameters for that method (such as the value for a call to the set method). The references to objects in the script will all be identified by the logical name, rather than any physical, descriptive properties.13. What are the types of Object Repositories in QTP?–Quick Test has two types of object repositories for storing object information: shared object repositories and action object repositories. You can choose which type of object repository you want to use as the default type for new tests, and you can change the default as necessary for each new test. The object repository per-action mode is the default setting. In this mode, Quick Test automatically creates an object repository file for each action in your test so that you can create and run tests without creating, choosing, or modifying object repository files. However, if you do modify values in an action object repository, your changes do not have any effect on other actions. Therefore, if the same test object exists in more than one action and you modify an object.s property values in one action, you may need to make the same change in every action (and any test) containing the object.14. Explain the check points in QTP–A checkpoint verifies that expected information is displayed in an Application while the test is running. You can add eight types of checkpoints to your test for standard web objects using QTP. A page checkpoint checks the characteristics of an Application. A text checkpoint checks that a text string is displayed in the appropriate place on an Application. An object checkpoint (Standard) checks the values of an object on an Application. An image checkpoint checks the values of an image on an Application. A table checkpoint checks information within a table on a Application. An Accessibilityy checkpoint checks the web page for Section 508 compliance. An XML checkpoint checks the contents of individual XML data files or XML documents that are part of your Web application. A database checkpoint checks the contents of databases accessed by your web site.15. In how many ways we can add check points to an application using QTP?–We can add checkpoints while recording the application or we can add after recording is completed using Active screen (Note : To perform the second one The Active screen must be enabled while recording).16. How does QTP identify objects in the application?–QTP identifies the object in the application by Logical Name and Class.17. What is Parameterizing Tests?–When you test your application, you may want to check how it performs the same operations with multiple sets of data. For example, suppose you want to check how your application responds to ten separate sets of data. You could record ten separate tests, each with its own set of data. Alternatively, you can create a parameterized test that runs ten times: each time the test runs, it uses a different set of data.18. What is test object model in QTP?–The test object model is a large set of object types or classes that Quick Test uses to represent the objects in your application. Each test object class has a list of properties that can uniquely identify objects of that class and a set of relevant methods that Quick Test can record for it. A test object is an object that Quick Test creates in the test or component to represent the actual object in your application. Quick Test stores information about the object that will help it identify and check the object duringthe run session.19. What is Object Spy in QTP?–Using the Object Spy, you can view the properties of any object in an open application. You use the Object Spy pointer to point to an object. The Object Spy displays the selected object.s hierarchy tree and its properties and values in the Properties tab of the Object Spy dialog box.20. What is the Diff between Image check-point and Bit map Check point? –Image checkpoints enable you to check the properties of a Web image. You can check an area of a Web page or application as a bitmap. While creating a test or component, you specify the area you want to check by selecting an object. You can check an entire object or any area within an object. Quick Test captures the specified object as a bitmap, and inserts a checkpoint in the test or component. You can also choose to save only the selected area of the object with your test or component in order to save disk Space. For example, suppose you have a Web site that can display a map of a city the user specifies. The map has control keys for zooming. You can record the new map that is displayed after one click on the control key that zooms in the map. Using the bitmap checkpoint, you can check that the map zooms in correctly. You can create bitmap checkpoints for all supported testing environments (as long as the appropriate add-ins are loaded). Note: The results of bitmap checkpoints may be affected by factors such as operating system, screen resolution, and color settings.21. How many ways we can parameterize data in QTP?–There are four types of parameters: Test, action or component parameters enable you to use values passed from your test or component, or values from other actions in your test. Data Table parameters enable you to create a data-driven test (or action) that runs several times using the data you supply. In each repetition, or iteration, Quick Test uses a different value from the Data Table. Environment variable parameters enable you to use variable values from other sources during the run session. These may be values you supply, or values that Quick Test generates for you based on conditions and options you choose. Random number parameters enable you to insert random numbers as values in your test or component. For example, to check how your application handles small and large ticket orders, you can have Quick Test generate a random number and insert it in a number of tickets edit field.22. How do you do batch testing in WR & is it possible to do it in QTP, if so explain?–Batch Testing in WR is nothing but running the whole test set by selecting Run Test set from the Execution Grid. The same is possible with QTP also. If our test cases are automated then by selecting Run Test set all the test scripts can be executed. In this process the Scripts get executed one by one by keeping all the remaining scripts in Waiting mode.23. If you are given a test to execute some thousand tests in 2 days, what do you do?–Adhoc testing is done. It covers basic functionality to verify that the system is working fine.24. What is Object Spy in QTP?–Using the Object Spy, you can view the properties of any object in an open application. You use the Object Spy pointer to point to an object. The Object Spy displays the selected object.s hierarchy tree and its properties and values in the Properties tab of the Object Spy dialog box.25. What is the file extension of the code files & object repository files in QTP?–Code file extension is .vbs and object repository is .tsr26. Explain the concept of object repository & how QTP recognizes objects–Object Repository: displays a tree of all objects in the current component or in the current action or entire test (depending on the object repository mode you selected). We can view or modify the test object description of any test object in the repository or to add new objects to the repository. Quicktest learns the default property values and determines in which test object class it fits. If it is not enough it adds assistive properties, one by one to the description until it has compiled the unique description. If no assistive properties are available, then it adds a special Ordinal identifier such as objects location on the page or in the sourcecode.27. Give me an example where you have used a COM interface in your QTP project?–com interface appears in the scenario of front end and back end. for eg:if you r using oracle as back end and front end as VB or any language then for better compatibility we will go for an interface. of which COM will be one among those interfaces. Create object creates handle to the instance of the specified object so that we program can use the methods on the specified object. It is used for implementing Automation(as defined by Microsoft).28. Explain in brief about the QTP Automation Object Model.–Essentially all configuration and run functionality provided via the Quick Test interface is in some way represented in the Quick Test automation object model via objects, methods, and properties. Although a one-on-one comparison cannot always be made, most dialog boxes in Quick Test have a corresponding automation object, most options in dialog boxes can be set and/or retrieved using the corresponding object property, and most menu commands and other operations have corresponding automation methods. You can use the objects, methods, and properties exposed by the Quick Test automation object model, along with standard programming elements such as loops and conditional statements to design your program.。

自动化测试面试题库

自动化测试面试题库

自动化测试面试题库与软件开发过程中的测试相关的重要组成部分之一是自动化测试。

自动化测试利用脚本和工具代替手动执行测试用例,可以提高效率、减少错误,并确保软件质量。

如果您正在寻找自动化测试工程师的职位或者想提升自己的自动化测试技能,那么下面是一些常见的自动化测试面试题目,供您参考:1. 什么是自动化测试?为什么自动化测试比手动测试重要?自动化测试是使用脚本和工具来执行测试用例的过程。

它可以自动化执行重复的测试任务,并且可以在相同的环境下重复测试,以确保测试的可靠性和一致性。

与手动测试相比,自动化测试可以提高测试效率,减少人为错误,并且可以随时重复执行,以确保软件质量。

2. 请列举一些常见的自动化测试工具。

- Selenium:用于Web应用程序的自动化测试。

- Appium:用于移动应用程序的自动化测试。

- JUnit:用于Java应用程序的单元测试。

- TestNG:用于Java应用程序的测试框架。

- Cucumber:用于行为驱动开发(BDD)的自动化测试工具。

- Robot Framework:通用测试自动化框架,支持多种应用程序和环境。

3. 请解释一下测试金字塔(Testing Pyramid)的概念。

测试金字塔是一种测试策略,以金字塔的形式表示不同层次的测试。

在金字塔的底部是单元测试,用于测试软件的最小功能单元。

在金字塔的中间是集成测试,用于测试软件组件之间的交互。

在金字塔的顶部是端到端测试,用于测试整个应用程序。

测试金字塔的思想是,应该在底部的单元测试中投入更多的精力和资源,并逐渐减少在顶部的端到端测试中的投入。

4. 您如何选择使用什么样的自动化测试工具?选择自动化测试工具时,需要考虑以下几个因素:- 应用程序的类型:根据应用程序的类型(例如Web应用程序、移动应用程序、桌面应用程序),选择相应的自动化测试工具。

- 技能和经验:选择您和团队已经熟悉或拥有经验的自动化测试工具。

- 社区和支持:选择有活跃社区和良好技术支持的自动化测试工具。

自动化测试面试题及答案

自动化测试面试题及答案

⾃动化测试⾯试题及答案1、你会封装⾃动化测试框架吗?这个问得最多,甚⾄有很多公司直接写在招聘要求中!当然可以,⾃动化框架主要的核⼼框架就是分层+PO模式:分别为:基础封装层BasePage,PO页⾯对象层,TestCase测试⽤例层。

然后再加上⽇志处理模块,ini配置⽂件读取模块,unittest+ddt数据驱动模块,jenkins持续集成模式组成。

2、如何把⾃动化测试在公司中实施并推⼴起来的?1.项⽬组调研选择⾃动化⼯具并开会演⽰demo案例,我们主要是演⽰selenium和robotframework两种;2.搭建⾃动化测试框架,在项⽬中逐步开展⾃动化;3.把该项⽬的⾃动化流程、框架固化成⽂档;4.推⼴到公司的其它项⽬组应⽤。

3、请描述⼀下⾃动化测试流程?1.编写⾃动化测试计划;2.设计⾃动化测试⽤例;3.编写⾃动化测试框架和脚本;4.调试并维护脚本;5.⽆⼈值守测试;6.后期脚本维护(添加⽤例、开发更新版本)。

4、⾃动化测试⽤例如何编写?以下答案⼆选⼀即可:1.⽤例是⾃动化测试⼯程师⾃⼰设计的,⼀般刚开始已基本业务流程为主(登录--完成⼀个业务--退出);2.从系统测试⽤例中进⾏筛选或由业务⼯程师提供。

5、上⼀个项⽬中⾃动化测试的执⾏策略?上⼀个项⽬中是定时执⾏的,设置的执⾏时间是晚上12点,执⾏完毕后会⾃动发送邮件通知6、⾃动化测试发现BUG多吗?不多,因为之前项⽬组是把已经测试通过的基本功能再进⾏⾃动化脚本编写和在后续版本执⾏⾃动化测试,它主要是保证已经测试通过的功能在新版本更新后没有问题。

7、你觉得⾃动化测试的价值在哪⾥?你们公司为什么要做⾃动化测试?引⽤⾃动化测试之后,能代替⼤量繁琐的回归测试⼯作,把业务测试⼈员解放出来,既⽽让业务测试⼈员把精⼒集中在复杂的业务功能模块上,⾃动化测试⼀般是对稳定下来的功能进⾏⾃动化,保证不会因为产品的更新导致之前稳定下来的功能出现BUG。

8、⾃动化测试有误报过bug吗?产⽣误报怎么办?有误报过,有时候⾃动化测试报告中显⽰发现了bug,实际去通过⼿⼯测试去确认⼜不存在该bug。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1)QTP支持那些环境?
QTP支持以下环境:
Active X、Delphi、Java、Net、Oracle、People Soft Power Builder、S AP、Siebel、Stingray Terminal Emulator、Visual Basic Visual Age 、Web、Web Services
2)QTP的对象库类型是什么?
QTP支持两种类型的对象库:
(1)共享对象库(也叫全局对象库)
(2)单例对象库(也叫局域对象库)
共享对象库在处理多次测试中的静态对象时适用,扩展名是“.tsr”。

默认的是单例对象库,它的扩展名是“.mtr”
3)可以在其他测试中用脚本语言调用QTP测试吗?假设有四个测试,我想在一个主脚本中调用这些测试,这种QTP中可能吗?
答案是肯定的。

你可以在你的测试中调用四个甚至更多脚本。

为了达到这个目的,需保证相应脚本中的Actions是可重用的。

然后从目标脚本中可以使调用这些可重用的actions。

4)什么是action split?在QTP中使用action split的目的何在?
Action split将存在的action拆分为两部分,目的在actions函数的基础上提高代码的可重用性。

5)在QTP中你如何处理Java树?
首先,选择Java Add-In 启动QTP。

第二步记录在Java树中的操作,如果在记录过程中遇到问题,选择Tools > Object Identification > Java、tree o bject,强制更改辅助属性来启用识别。

提示:对于任何环境的对象,你都可以把用类似的方法回答。

例如:如果问题是你怎样检查SAP多选框,你说,首先我该选择SAP Ad d in……等等。

6)解释一下QTP是如何识别对象的?
QTP识别任何GUI对象基于其相应的属性。

当记录的时候,QTP在对象存储库的GUI对象中识别并且存储特殊属性(如在物体识别设置中定义的一样)。

在运行时,QTP将比较存储属性值与屏幕上的属性。

7)QTP中有多少种记录模式?分别在什么时候用到?
QTP支持三种记录模式:
(1)普通模式,也叫上下文模式
(2)低级记录模式
(3)模拟模式
普通模式:默认的记录模式,充分利用了QTP的试验对象模型。

它可识别屏幕任何位置的对象。

这是重新编码的最佳模式,用于大多数的自动化测试。

低级记录模式:这个模式准确地记录鼠标操作的x,y坐标。

它有助于测试哈希表。

它是用于记录QTP的正常模式下的不确定对象。

模拟模式:这个模式记录执行关于屏幕/应用程序窗口时鼠标和键盘的精确“动作”。

这种模式对一些操作是很有用的,例如画画、记录签名、拖放操作。

8)你怎样在一个action中调用另一个action?
调用action有两种方法:
(1)调用复制的action。

用这种方法,操作对象存储库、脚本和时间戳将被复制到目标测试脚本。

(2)调用现有的action。

用这种方法,操作对象存储库、脚本和时间戳不会被复制,但一个调用(参考)将在源脚本的action上生成。

9)什么是虚拟对象?
应用程序可能包含有着像标准对象行为的对象,但不被QTP识别。

您可以把这些对象定义为虚拟对象并将它们映射到标准的类,比如按钮或一个复选框。

Q TP在运行的会话中在虚拟对象上模拟用户的动作。

在测试结果里,虚拟对象被当成标准的类对象展示出来。

例如,假设你想记录一个测试包含用户单击的位图的Web页面。

位图包含几个不同的超链接区域,每个区域打开一个不同的目的页面。

当你记录一个测试,Web站点匹配单击位图的坐标并且打开目标页面。

在运行的会话中启用QTP以点击所需坐标,你可以为一个区域的位图定义一个虚拟对象,其中包括那些坐标,并将其映射到按钮类。

当运行一个测试时,QTP单击一个被定义为虚拟对象位图所在区域,这样网址就可以打开正确的目的地页面了。

10)如何使用QTP执行跨平台测试和跨浏览器测试?你能用一些例子解释说明吗?
创建单独的Actions,以满足不同的操作系统和浏览器的需要。

跨平台测试:
用内置的环境变量挖掘操作系统信息。

如:平台=环境(“操作系统”)。

然后基于平台需要调用你记录在那个特定的平台的actions。

跨浏览器测试:
使用代码Browser("Core Values").GetROProperty("version"),可提取浏览器和它的相关版本。

例如:Internet Explorer 6或Netscape 5,基于这个值您可以调用与浏览器相关的actions。

11)对象的逻辑名字是什么?
逻辑名字是QTP 在库里创建一个可唯一地与应用里的其他对象识别的对
象时起的名字。

它被QTP用来映射对象库中对象名相应的描述。

如:Browser(" Browser").Page("Guru99") ,在这里,Guru99 是对象的逻辑名字。

12)什么是描述性编程?
通常情况下,一个对象及其属性必须被记录在对象资源库,让QTP执行操作。

用描述性编程,你不用在对象资源库里储存对象及其属性值,而是在脚本里提到属性值对。

描述性编程背后的这种思想不是想绕开对象库,而是帮助识别静态对象。

13)运用描述性编程的时候,你用什么属性来识别浏览器网页?
可以用名字属性。

如:ex:
Browser("name:="xxx"").page("name:="xxxx"").....
或者,我们也可以用属性"micClass"。

如:ex:
Browser("micClass:=browser").page("micClass:=page")....
14)在远程机器上使用QTP时,我们能否记录应用的运行过程呢?
当然可以。

你可以通过本地浏览器而不是通过像citrix 这样的遥控器记录你进入的远程应用。

如果你仍然不能记录,建议您将QTP 和应用安装在同一个机器上。

15)用一个例子解释创建对象的关键词。

创建并返回一个自动化对象的引用。

语法:CreateObject(servername.typename [,location])
参数:
servername:需要。

提供对象的应用的名字。

typename:需要。

创建对象的类型或者类。

location:可选。

创建对象的网络服务器名字。

16)你能在Per-Action 和Shared Object Repository中切换吗?如果能,怎么切换的?
可以转换。

找到Test,然后选择Settings,最后选择Resources,在这里可以选择储存库了。

17)什么是对象间谍?如何使用它?
对象间谍有助于确定正在被测试的应用的运行测试时间对象属性和方法。

您可以直接从工具栏或者对象库对华康直接访问对象间谍。

这在描述编程过程中非常有用。

18)光序标志符就可以使一个对象独一无二,那为什么不给他们顶级优先权呢?为什么它是先强制后辅助的?为什么我们不能直获取序标志符?
因素如下:
(a)如果两个对象彼此重叠,基于位置的对象识别将失败。

(b)如果仅基于索引识别你的脚本可以运行,但是执行时间将增加。

因此使用强制和辅助的特性。

19)在QTP代码文件中扩展名是什么?
代码的文件扩展名是script.mts.
20)简要解释一下QTP自动化对象模型。

QTP自动化对象模型处理自动化QTP本身。

几乎所有的QTP提供的配置和功能都用QTP自动化对象模型展示。

几乎所有QTP的对话框有一个相应的自动化对象,可以使用自动化对象模型的相关属性或者方法设置或检索。

QTP自动化对象可以和标准的VB编程元素一起使用,如迭代循环或条件语句来帮助你设计脚本的选择。

相关文档
最新文档