先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024b (备注软件测试)
正文
7.QTP-T Object Spy 的作用?能否用它来添加对象,如果可以说明步骤,如果不可以请说明如何添加。
===================================================================================================================
答案:QTP 中 Object Spy 作用:査看对象.在査看窗口里有列出这些
接口,包括属性和方法。但 Object Spy 不可以添加对象。添加对象
的方法是:Resources->object Repository ->add Objects to Local 通过"
手指”图标査找自己要添加的对象,进而添加到对象库。
8.通过 Desktop 对象可以访问 Windows 的桌面顶展对象,如何实现截屏?
=======================================================================================================
答案:Object 的 CaptureBitmap 方法可以将对象图片拷贝到物理路径中存档。
具体语法如下:
object.CaptureBitmap FullAleName, [OverrideExisting]
其中 vemdeExisting:O 或者 true 是指如果该文件已经存在,则覆盖。
1 或者 false 如果该文件已经存在,则出错,告知文件已经存在。
实例:Window(“Flight Reservation")XaptureBitmap “e:\f.bmp”,true
================================================================================
答案:打开 QTP,点击 Resources 菜单,逬入 Object Repository.右键
点击要修改的共享对象库的对象,并点击 copy to Local,然后可以逬行
相应的修改
10.Actionl 中参数传递到 Action2 中有哪几种方式,请分别加以说明。
======================================================================================================
答案:共有三种方式,1)通过 DataTable 共享.Datalable 对于每个
Action 都是可见的,如通过全局数据表(Global Data Pble)来共享数据;
2)通过环境变量共享,环境变量也是"Test 工程的共享变量。如自定义一个环境变量 name,并为其赋值,则 Test 中不同 Action 都可以使用该参数;
(3) 通过 Action Parameters 的参数传递,对 Action 的 属性设置和对调用的属性设置来进行参数传递,只有有调用关系才能共享。如:
在 Actionl 中执行如下语句:
RunAction “Action2”, onelteration .Value
并进行相关参数设置,可实现对 Action2 的调用。
===============================================================================
答案:需求采集-需求分析-需求评审
==============================================================================
某公司开发一个手机网盘系统.可以允许注册用户登陆后在手机客户
端上传或下载资料。手机客户端仅支持 iOS 系统。并且,用户可以
设置,并选择手机内某个特定相册,在手机连接 Wifi 的情况下.客户
端可以自动上传该相册中的照片。用户想从网盘下载自己上传的资料
时,可以指定下载后资料保存的文件夹并且上传和下载资料时,最
大可允许 5 个作业同时进行。
答案:
(1) 客户端支持 IOS 系统
(2) Wifi 状态下,自动同步待定相册。
(3) 指定下载文件路径
(4) 最大允许 5 个作业同时进行。
==============================================================================
某公司开发了一种 聊天工具.允许内部员工用公司特定邮箱和密码
登陆,该聊天软件可以提供内部员工之间的日常打字聊天,语音聊天
需求,一个用户可以同时与多个用户分别聊天和语音,也可以在一个
赫天窗口里面与多人一同聊天和语音。一个人能同时与 30 个人分别
聊天,一个聊天窗口允许的最大人数为 50 人。但该工具不允许使用
外部邮箱登陆,即使是内部用户邮箱密码也不能在外部网络登陆。
答案:
(1) 允许内部员工用公司持定邮箱和密码登陆
(2) 提供打字聊天功能
(3) 提供语音聊天功能
(4) 一个用户可以同时与多个用户分别聊天和语音
(5) 一个聊天窗口里面可以与多人一同聊天和语音
(6) 一个人能同时与 30 个人分别聊天
(7) 一个聊天窗口允许的最大人数为 50 人
(8) 聊天工具不允许使用外部邮箱登陆
(9) 内部用户邮箱密码也不能在外部网络登陆
==============================================================================
前期准备,计划制定,设计与开发,执行与缺陷跟踪
======================================================================
缺陷 ID、缺陷标题、严重程度、报告人、报告日期、状态、优先级、
详细描述、重现步骤’实际结果’期望结果、测试数据等
=================================================================================
答案:
・重复性
•准确性
・高效性
==================================================================================
答案:
・需求概述
・自动化测试计划
•测试方案设计
・测试用例设计
・测试脚本开发
测试执行和报告
==========================================================================
答案:
•线性
・结构化
・共享
•数据驱动
・关键字驱动
=================================================================================
答案:1. 测试工具评估
・分析项目的特点
・同时还要了解目前存在的各种测试工具的情况
・选型的最后一步是编写选型报告
2)测试工具试用
3)自动化测试工具培训
•测试工具的总体介绍。
・测试工具操作方法。
・测试工具使用实践。
•对测试工具相关的测试理论进行讲解。
20 用自己的话谈谈你对基于 GUI 对象的自动化測试工具的理解
============================================================================================
支持脚本化语言:包括支持数组、列表、结构等多种常用的变量和数据类型
各种条件逻辑和循环,函数的创建和调用。如果此工具使用如 VB、C 等通用语言,
测试就更方便。脚本语言的功能越强大,就能为测试者提供更灵活的使用空间,或者它写出
比被测软件还要复杂的结构
21. 启动 UFT 时‘loading Add-in 插件的目的是?
================================================================================================
答案:
插件的选择是为了能够成功识别对应插件的测试对象控件.也就是说
插件的选择是和被测对象控件有关的。
===================================================================================
答案:对象.方法,方法属性
==================================================================================
答案:节省硬盘空间,易于传输
=================================================================================
答案:测试结果査看器会显示测试结果是通过还是失败
=============================================================================
Answer:在多个测试之间运作,并且有共同的对象
期望在系统上的测试对象的属性会被频繁的更改
运作的是多个 action 的测试
26.如果对象库中没有对象.测试可以在不录制的情况下创建么?
==========================================================================================
答:可以,对象可以在创建步骤时添加。
27.哪种査询工具能在 Database Query Wizard 中创建一个査询?
======================================================================================================
Microsoft Query
• What is a custom checkpoint?
A custom checkpoint is used to capture and verify dynamic values
by using output
parameters, setting the checkpoint on a property of the parameter
field, validating
the outcome of a test as acceptable or unacceptable using
conditional statement, and applying REPORTEVENT to report if the
outcome is acceptable.
===============================================================================
答案:不是
29.分 别 说 明 GetToProperty . GetToProperties , GetROProperty ,SetToProperty 的作用。
==========================================================================================================================================
答:
GetToProperty ():取得仓库对象的某个属性的值
GetToProperties ():取得仓库对象的所有属性的值
GetRoProperty ():取得实际对象的某个属性的值
SetToProperty ():设置仓库对象的某个属性的值
=================================================================================
答:只有一种 Variant
================================================================================
答:
- 第一个字符必须是字母。
- 不能包含嵌入的句点。
- 长度不能超过 255 个字符。
- 在被声明的作用域内必须唯一。
=========================================================================
答:如果动态对象在 0bject Repository 中.那么属性值可以使用正
则表达式参数或者 SetTOProperty 方法来设定。
如果对象不在 0bject Repository 中.并且需要定义对象,可以
使用编程性描述。
========================================================================
答:
它可以使脚本来处理异常并且保证脚本能运行完成。 -它能够测试有效和无效的测试数据。
=========================================================================
答:
(1)程序的对象是动态的.如 logout<> 。
(2)对象库变得非常大.影响性能回放,仅限少数描述性编程代码。
(3)“更改对象库的对象,但对象只可读,如公共对象库。
(4)“对很对类似的对象或者相同的对象进行操作.如 CheckBox
==============================================================================
答:
(1)通过 Object 获取
(2)使用 Spy 获取
(3)直接査看
=========================================================================================
答:
如果在测试对象层次结构的某一点开始使用了描述性编程,则该
测试对象层次结果下的后续测试对象都需要使用描述性编程方式
来描述对象。
=====================================================================================
答:检索指定父对象中的所有子对象.或者只检索符合特定描述性編程的子对象。
================================================================================
录制代码时.对目标对象做操作;
在显示目标对象的 Active Screen 中,做添加对象操作;
录制代码时.对目标对象插入检査点;
============================================================================
可以在录制过程中插入检查点;
可以从 Active Screen 中插入检査点;
可以从菜单中插入检查点;
注意:不可以在专家视图中自己写脚本语句插入检查点;
40.VBScript 是一种面向对象的可视化程序设计语言,对象的三要素的是:
===================================================================================================
事件;
属性;
方法
41.VBScript 数据类型的是:Variant
42.UFT 默认使用 VBScript 脚本语言编写程序来加强代码功能
43. UFT 创 建 测 试 代 码 时 , 什 么 情 况 下 需 要 添 加 Synchronization Point
============================================================================================================================
一条语句的输入是前一条语句的输出,为了等待前一条语句执行
完毕;
44. 位图检査点检査点一般用于做界面 UI 的检查
=====================================================================================
Item,Operation,Value;
=======================================================================================
使用 Call to new Action 命令创建一个新的 Action
使用 Call to copy Action 命令复制其他测试的 Action,可以对
其进行更改;
通过分割方式产生新的 Action;
========================================================================
从脚本中获得对象名称;
对象仓库中找到该对象;
根据关键属性信息在被测程序中定位该对象;
48.被测系统中,识别某一控件的关键属性.每次运行的值会随着测试数据不同而有改变,可以使用下面这种方式解决对象无法识别的问题
==========================================================================================================================
修改关键属性的值为正则表达式
=============================================================================
文本检査点与文本区域检查点,被操作对象不一致;
=============================================================================
1)从脚本中获得对象名称
2)对象仓库中找到该对象
3)根据关键属性信息在被测程序中定位该对象
4)根据脚本中录入的动作和取值执行相应的操作
============================================================================
1)封装被测对象到对象库
2)运行 UFT 脚本时.会启用对象库里对象属性和运行中的被测属性进行比较
3)对比成功之后找到需要运行的对象
===================================================================================
Systemlltil.Run “iexplore.exe”,“http://www.baidu.com”;
52.当需要在一个 Test 脚本中同时测试有效等价类和无效等价类的测试数据时.代码中预期结果的校验部分一定需要使用 VBS 的什么语法
================================================================================================================================
分支语句
53.要测试一个 B/S 架构的系统,在启动 UFT 时需要注意:
=============================================================================================
在插件管理页面中需要勾选 Web 插件
=============================================================================
两种视图不是相互独立的,一处改动会影响另一处的记录;
专家视图中的一行语句,一定能在关键字视图中找到相应的步骤;
它们都是记录操作步骤的脚本,只是记录的方式不同而已;
55.在脚本循环一次的条件下,想取得 Global 表中的 Jack.对应的代码:
=====================================================================================================
DataTable.GetSheet(“Globar”).SetCurrentRow 2
Print DataTable(“username”,dtGlobalSheet)
=========================================================================================
使用 Call to new Action 命令创建一个新的 Action;
使用 Call to copy Action 命令复制其他测试的 Action.可以对
其进行更改;
通过分割方式产生新的 Action
=============================================================================
CheckProperty
58.UFT 关键字视图中,哪些项可以显示在 Item 列:
==========================================================================================
Systemlltil
59.WaitProperty 方法的第三个参数(超时时间)如果不给定时.默认的时间为
=======================================================================================================
File\Settings\Run\Object Synchronization Timeout 时间
60.a=“10”,b=“20”,c=30,d=“abc”,下列结果计算正确的是:
=====================================================================================================
b&c 的值为 2030
a+b 的值为 30
b+c 的值为 50
a+d 运行会报错
c+d 运行会报错
61.录制 Flight 系统登录订票后,分割成 2 个 Action 的操作是:
=====================================================================================================
选中录制好的订票部分的第一个步骤.点击 Edit\Action\Split
Action,选择 Independent of each other.写入两个 Action 名称
================================================================================
DataTable.ImportSheet “D:\l.xls”,1,1
===============================================================
UFT 的两种运行模式包括:快速运行模式和正常运行模式
进入 UFT 使用快捷键 Ctrl + R 就能直接打开对象库
一个 Test 中每个 Action 有自己独立的对象仓库
UFT 中的两个视图分别为:keyword-view and expert-view
=============================================================================
UFT 将测试数据与代码分离
通常情况下,被测系统主要功能通过.且相对稳定才引入自动化测试;
注意:
UFT 自动化测试不需要手动测试过程
UFT 的测试代码通过复制粘贴的快捷操作方法.运行 txt 笔记中记录的代码
均是不正确的
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注软件测试)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
DataTable.ImportSheet “D:\l.xls”,1,1
===============================================================
UFT 的两种运行模式包括:快速运行模式和正常运行模式
进入 UFT 使用快捷键 Ctrl + R 就能直接打开对象库
一个 Test 中每个 Action 有自己独立的对象仓库
UFT 中的两个视图分别为:keyword-view and expert-view
=============================================================================
UFT 将测试数据与代码分离
通常情况下,被测系统主要功能通过.且相对稳定才引入自动化测试;
注意:
UFT 自动化测试不需要手动测试过程
UFT 的测试代码通过复制粘贴的快捷操作方法.运行 txt 笔记中记录的代码
均是不正确的
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注软件测试)
[外链图片转存中…(img-V3XAFgXN-1713605285204)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!