软件测试拟笔试题
注:如无特殊说明,试卷中涉及工具均为QTP。
一、选择题(8分):
1、模块的耦合度描述了______。
A.模块内各种元素结合的程度 B.模块内多个功能之间的接口
C.模块之间公共数据的数量 D.模块之间相互关联的程度
2、内聚是一种指标,表示一个模块______。
A.代码优化的程度 B.代码功能的集中程度
C.完成任务时及时程度 D.为了与其他模块连接所要完成的工作量
3、在UNIX操作系统中,把输入/输出设备看作是______。
A.普通文件 B.目录文件 C.索引文件 D.特殊文件
1) 普通文件——内部无结构的一串平滑的字符.这种文件既可以是系统文件,也可以是库文件或用户文件.
(2) 目录文件——由文件目录项构成的文件.对它的处理(读,写,执行)在形式上与普通文件相同.
(3) 特殊文件——由一切输入输出慢速字符设备构成的文件.这类文件对于查目录,存取权限验证等的处理与普通文件相似,而其它部分的处理针对设备特性要求做相应的特殊处理.
4、“<title >science</title>”是一个XML 元素的定义,其中元素标记的属性值是______。
A.title B.style C.italic D.science
5、______描述数据的局部逻辑视图,是数据库用户的数据视图,它是与某一应用有关的数据逻辑表示。
A.模式 B.逻辑模式 C.外模式 D.内模式
三级模式结构:外模式、模式和内模式
一、模式(Schema)
定义:也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
理解:
① 一个数据库只有一个模式;
② 是数据库数据在逻辑级上的视图;
③ 数据库模式以某一种数据模型为基础;
④ 定义模式时不仅要定义数据的逻辑结构(如数据记录由哪些数据项构成,数据项的名字、类型、取值范围等),而且要定义与数据有关的安全性、完整性要求,定义这些数据之间的联系。
二、外模式(External Schema)
定义:也称子模式(Subschema)或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
理解:
① 一个数据库可以有多个外模式;
② 外模式就是用户视图;
③ 外模式是保证数据安全性的一个有力措施。
三、内模式(Internal Schema)
定义:也称存储模式(Storage Schema),它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式(例如,记录的存储方式是顺序存储、按照B树结构存储还是按hash方法存储;索引按照什么方式组织;数据是否压缩存储,是否加密;数据的存储记录结构有何规定)。
理解:
① 一个数据库只有一个内模式;
② 一个表可能由多个文件组成,如:数据文件、索引文件。
它是数据库管理系统(DBMS)对数据库中数据进行有效组织和管理的方法
其目的有:
① 为了减少数据冗余,实现数据共享;
② 为了提高存取效率,改善性能。
6、在网络应用测试中,网络延迟是一个重要指标。以下关于网络延迟的理解,正确的是_____
A.指响应时间
B.指报文从客户端发出到客户端接收到服务器响应的间隔时间
C.指报文在网络上的传输时间
D.指从报文开始进入网络到它开始离开网络之间的时间
在各式各样的数据在网络介质中通过网络协议(如TCP/IP)进行传输,如果信息量过大不加以限制,超额的网络流量就会导致设备反映缓慢,造成网络延迟。
定义:在传输介质中传输所用的时间,即从报文开始进入网络到它开始离开网络之间的时间。
7、______可以作为软件测试结束的标志。
A.使用了特定的测试用例 B.错误强度曲线下降到预定的水平
C.查出了预定数目的错误 D.按照测试计划中所规定的时间进行了测试
二、简答题:(3*10=30分)
1、什么是软件测试,为什么要进行软件测试?软件测试与调试的区别?
答案:(1) 软件测试就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。执行测试用例后,需要跟踪故障,以确保开发的产品适合需求。
(2) 因为没有经过测试的软件很难在发布之前知道该软件的质量,就像ISO质量认证一样,软件同样也需要质量的保证,这个时候就需要在团队中开展软件测试的工作。在测试的过程发现软件中存在的问题,及时让开发人员得知并修改问题,在即将发布时,从测试报告中得出软件的质量情况。
(3) 在软件开发的过程中,调试和测试是两个不同的过程,分别由程序开发人员和测试人员来完成。
第一,调试的过程是随机的不可重复的;而测试的过程是有计划的、可以重复的过程。
第二,调试的目的是为了隔离和确认问题的所在,并加以解决,使得程序能够正常运行;而测试的目的是为了出与软件实现定义的规格和标准不符合的问题,保证软件能都满足用户需求。
但二者也有相同之处,最终目的都是为了提高软件质量。
2、a测试与b测试的区别?静态测试与动态测试的区别?
答案:(1)Alpha测试(α测试)是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试;Beta测试(β测试)是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,Beta测试不能由程序员或测试员完成。总而言之,前者是内部模拟上线,后者是真正上线,让用户参与测试。
(2) 静态方法是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。对需求规格说明书、软件设计说明书、源程序做结构分析、流程图分析、符号执行来错。静态方法通过程序静态特性的分析,出欠缺和可疑之处,例如不匹配的参数、不适当的循环嵌套和分支嵌套、不允许的递归、未使用过的变量、空指针的引用和可疑的计算等。静态测试结果可用于进一步的查错,并为测试用例选取提供指导。
动态测试方法是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率和健壮性等性能,这种方法由三部分组成:构造测试实例、执行程序、分析程序的输出结果。
3、QTP有哪几种录制模式?
答案:正常录制模式、模拟录制模式(Analog Recording)和低级录制模式(Low Level Recording)。
4、QTP如何对下拉框中的数据进行参数化?
答案:
两种方式可以实现:
app接口测试工具a) 通过下拉框对应项的实际值参数化
Browser("****").Page("****").WebList("****").Select "****”
将select“****”的值参数化,可以将下拉框中的每一个选项都写到数据表中
b) 通过下拉框对应项的索引号参数化
Browser("****").Page("****").WebList("****").Select "#"&IndexNum
如下拉框有5个选项:
Rnd 是在vb中返回一个随机数的值
IndexNum = Int((5- 1 + 1) * Rnd + 1) 或 IndexNum = RandomNumber(1,5)
以上代码生成1到5之间的随机数,5是上界,1是下界。
5、用QTP录制脚本后如何修改脚本能够增加其灵活性?
答案:1)数据驱动测试(使用QTP的Data Table参数化、Action参数化、环境变量参数化等脚本参数化的方法。)
2)将可重用的操作抽象出来,封装成方法,这样通过传递不同的操作我们就可以完成不同的软件行为;(Action的复用)
3)将测试脚本与测试数据文件分离开来,这样一个脚本就可以驱动不同的测试数据进行测试;
4)在对象识别上,应该将对象识别的过程和对象的特征相分离。避免将所有的脚本都线性化的写到一起,提高脚本的可维护性。
6、如何设置使对象库不产生重复对象
答案:Tools->Options->Web->Page/Frame Options
根据需要来更改这里的设置,若要一直不出现重复名称,则两个RadioButton都选第二项好了
7、如何修改共享对象库中的值并使之生效?
答案:打开QTP,点击Resources菜单,进入Object Repository,右键点击要修改的共享对象库的对象,并点击copy to Local,然后可以进行相应的修改。
8、Action1中参数传递到Action2中有哪几种方式,请分别加以说明。
答案:共有三种方式,1)通过DataTable共享, DataTable对于每个Action都是可见的,如通过全局数据表(Global Data Table)来共享数据;
2)通过环境变量共享,环境变量也是Test工程的共享变量。如自定义一个环境变量name,并为其赋值,则Test中不同Action都可以使用该参数;
3)通过Action Parameters的参数传递,对Action的属性设置和对调用的属性设置来进行参数传递,只有有调用关系才能共享。如:在Action1中执行如下语句:
RunAction "Action2", oneIteration ,Value
并进行相关参数设置,可实现对Action2的调用。
9、正则表达式:\(?0\d{2}[) -]?\d{8}表示什么内容?
答案:表示国内电话号码。
其中\表示转义(,?表示前面字符出现0-1次,d{2}数字重复两次,[) -]?表示方括号中连字符出现0-1次,\d{8}表示0-9的数字重复出现8次。
10、请将下面操作用另外一种描述性编程实现(通过Description对象): Window("Error").WinButton("text:=OK", "index:=1").Click
答案:
Set MyDescription = Description.Create()
MyDescription("text").Value = "OK"
MyDescription("index").Value = 1
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论