软件测试-期末复习1

一、简答题

1. 软件缺陷的处理流程提交→分配→确认→拒绝/延期→处理→复测→关闭

(1)提交:测试人员发现缺陷,将缺陷交给测试组长。

(2)分配:测试组长收到测试组员提交缺陷后,移交给开发人员。

(3)确认:开发人员收移交缺陷,与团队、测试人员,确定缺陷是否是缺陷。

(4)拒绝/延期:商议后,缺陷不是真正的缺陷则拒绝处理,关闭缺陷。确定是真正的缺陷,则根据缺陷的严重程度或优先级等立即处理或延期处理。

(5)处理:开发人员修改缺陷。

(6)复测:开发人员修改好缺陷后,测试人员重新进行测试,检测缺陷是否确实已经修改。如果未被正确修改,则重新提交缺陷。

(7)关闭:测试人员进行回归测试之后,如果缺陷已经被正确修改,则将缺陷关闭,整个缺陷处理完成。

2.软件测试的基本流程:分析测试需求→制定测试计划→设计测试用例→执行测试→编写测试报告。

(1)分析测试需求:测试人员在制定测试计划前需先对软件需求分析,对要开发的软件产品有清晰认识,明确测试对象及测试工作的范围和测试重点。分析需求时可获取测试数据,作为测试计划基本依据。

(2)制定测试计划:整个测试工作的导航图,并不是一成不变的,随项目推进或需求变更,会不断发生改变,测试计划的制定是随着项目发展不断调整、逐步完善的过程。一般要做好以下工作安排。①确定测试范围:明确哪些对象需要测试的,哪些对象不需要测试的。②制定测试策略:将要测试的内容划分出不同的优先级,并确定测试重点。根据测试模块的特点和测试类型选定测试环境和测试方法。③安排测试资源:对测试难度、时间、工作量等因素对测试资源合理安排。④安排测试进度:根据软件开发计划、产品的整体计划安排测试工作的进度,考虑各部分工作变化。在安排工作进度时,在各项测试工作之间预留一个缓冲时间以应对计划变更⑤预估测试风险:列出测试工作过程中可能会出现不确定因素,并制定应对策略。

(3)设计测试用例:一套详细的测试方案,包括测试环境、测试步骤、测试数据和预期结果。编写原则是尽量以最少的测试用例达到最大测试覆盖率。常用的设计方法包括等价类划分法、边界值分析法、因果图与判定表、正交实验法、逻辑覆盖法等。

(4)执行测试:按照测试用例执行测试的过程,是测试人员最主要活动阶段。要根据测试用例的优先级进行。测试人员需要完成所有测试用例的执行,每一个测试用例都可能会发现很多缺陷,测试人员要做好测试记录与跟踪,衡量缺陷的质量并编写缺陷报告。当提交后的缺陷被开发人员修改之后,测试人员需要进行回归测试。如果系统对测试用例产生了缺陷免疫,测试人员则需要编写新的测试用例。

(5)编写测试报告:是一个测试活动的总结,对项目测试过程进行总结,对测试数据进行统计,对项目的测试质量进行客观的评价文档。一份完整的测试报告必须要包含以下几个要点。①引言:描述测试报告编写目的、报告中出现的专业术语解释及参考资料等。②测试概要:介绍项目背景、测试时间、测试地点及测试人员等信息。③测试内容及执行情况:描述本次测试模块的版本、测试类型,使用的测试用例设计方法及测试通过覆盖率,通过测试的通过情况提供对测试执行过程的评估结论,并给出测试执行活动的改进建议,以供后续测试执行活动中借鉴参考。④缺陷统计与分析:统计本次测试所发现的缺陷数目、类型等,分析缺陷产生的原因给出规避措施等建议,同时还要记录残留缺陷与未解决问题。

⑤测试结论与建议:从需求符合度、功能正确性、性能指标等多个维度对版本质量进行总体评价,给出具体明确是否可用的结论。⑥测试报告的数据是真实的,每一条结论的得出是有评价依据的,不能是主观臆断的。

3.等价类划分法的原则。

(1)如果程序要求输入值是一个有限区间的值,则可以将输入数据划分为一个有效等价类和两个无效等价类,有效等价类为指定的取值区间,两个无效等价类分别为有限区间两边的值。

(2)如果程序要求输入的值是一个“必须成立”的情况,则可以将输入数据划分为一个有效等价类和一个无效等价类。

(3)如果程序要求输入数据是一组可能的值,或者要求输入值必须符合某个条件,则可以将输入数据划分一个有效等价类和一个无效等价类。

(4)如果在某一个等价类中,每个输入数据在程序中的处理方式都不相同,则应将该等价类划分成更小的等价类,并建立等价表。

4.决策表条件项的合并规则。

在实际测试中,条件桩通常很多,而且每个条件桩都有真、假两个条件项,有n个条件桩的决策表就会有2n条件规则,有些规则的取值对结果并无影响,这个问题就称为无关条件项,无关条件项使用“-”表示,忽略无关条件项,可以将这两条规则进行合并。合并之后的无关条件项(-)包含其他条件项取值,因此具有相同动作的规则还可进一步合并。

5.正交实验设计法测试用例设计步骤。

(1)提取因子,构造因子-状态表。分析软件的需求规格说明得到影响软件功能的因子,确定因子可以有哪些取值,即确定因子的状态。(2)加权筛选,简化因子-状态表。软件的因子及因子的状态会有很多,每个因子及其状态对软件的作用也大不相同,如果把这些因子及状态都划分到因子-状态表中,最后生成的测试用例会相当庞大,从而影响软件测试的效率。因此需要根据因子及状态的重要程度进行加权筛选,选出重要的因子与状态,简化因子-状态表。(3)构建正交表,设计测试用例。正交表的表示形式为Ln(tc),其中L表示正交表,n为正交表的行数,正交表的每一行可以设计一个测试用例,因此行数n也表示可以设计的测试用例的数目。c表示正交实验的因子数目,即正交表的列数,因此正交表是一个n行c列的表。t称为水平数,表示每个因子能够取得的最大值,即因子有多少个状态。

6.基本路径法设计测试用例的步骤。

(1)画出流程图:分析被测程序的源代码,并画出程序的流程图。

(2)画出控制流图:控制流图是描述程序控制流的一种图示方法。控制流图可以由程序流程图转化而来。如果测试的源程序代码简洁,也可以直接通过分析源程序代码画出控制流图。在画程序的控制流图时,使用圆圈表示一条或多条无分支的语句,使用箭头表示控制流方向。

(3)计算程序的圈复杂度:圈复杂度用来衡量一个模块判定结构的复杂程度。计算程序的圈复杂度可得程序基本的独立路径数目,确定测试用例的数目。

(4)设计测试用例:根据计算出的程序圈复杂度导出基本可执行路径集合,从而设计测试用例的输入数据和预期结果。

7.请简述逻辑覆盖法的几种方法及它们之间的区别。

(1)语句覆盖:最常见的覆盖方式,目的是测试程序中的代码是否被执行,只测试代码中的执行语句,执行语句不包括头文件、注释、空行等。在多分支的程序中,只能覆盖某一条路径,使该路径中的每一个语句至少被执行一次,不考虑各种分支组合情况。

(2)判定覆盖:又称为分支覆盖,原则是设计足够多的测试用例,在测试过程中保证每个判定至少有一次为真值,有一次为假值。作用是使真假分支均被执行,虽判定覆盖比语句覆盖测试能力强,但仍然具有和语句覆盖一样的单一性。判定覆盖语句一般是由多个逻辑条件组成,如果仅仅判断测试程序执行的最终结果而忽略每个条件的取值,必然会遗漏部分测试路径,判定覆盖也属于弱覆盖。

(3)判定-条件覆盖:判定-条件覆盖要求设计足够多的测试用例,使得判定语句中所有条件的可能取值至少出现一次,同时,所有判定语句的可能结果也至少出现一次,它弥补了判定覆盖和条件覆盖的不足之处。相比于条件覆盖、判定覆盖,判定-条件覆盖弥补了两者的不足之处,但是由于判定-条件覆盖没有考虑判定语句与条件判断的组合情况,其覆盖范围并没有比条件覆盖扩展,因此判定-条件覆盖在仍旧存在遗漏测试的情况。

(4)条件组合覆盖:条件组合指的是设计足够多的测试用例,使判定语句中每个条件的所有可能至少出现一次,并且每个判定语句本身的判定结果也至少出现一次。它与判定-条件覆盖的差别是,条件组合覆盖不是简单地要求每个条件都出现真与假两种结果,而是要求让这些结果的所有可能组合都至少出现一次。

8.请简述目标代码插桩的3种执行模式。

(1)即时模式:原始的二进制或可执行文件没有被修改或执行,将修改部分的二进制代码生成文件副本存储在新的内存区域中,在测试时仅执行修改部分的目标代码(2)解释模式:在解释模式中目标代码被视为数据,测试人员插入的测试代码作为目标代码指令的解释语言,每当执行一条目标代码指令,程序就会在测试代码中查找并执行相应的替代指令,测试通过替代指令的执行信息就可以获取程序的运行信息(3)探测模式:探测模式使用新指令覆盖旧指令进行测试,这种模式在某些体系结构(如x86体系结构)中比较适用。

9.实现接口测试的方式。

 通过工具实现和通过代码实现。(1)常用的接口测试工具有Postman、JMeter等。(2)测试人员使用Java、Python等语言编写代码也可以实现接口测试,在使用Java语言编写接口测试的代码时,通常需要结合HttpClient技术;在使用Python语言编写接口测试的代码时,通常需要结合Request框架。虽然通过代码实现接口测试的方式能够让测试人员与开发人员使用相同的技术栈,更好的对接测试流程,但是这种方式要求测试人员具备一定的编程能力,对于编程能力弱的测试人员而言难度较大。

10.接口测试的流程。

 在工作中,测试人员需要按照公司制定的流程开展接口测试,通常,接口测试的流程包括分析接口测试需求、解析与评审接口文档、编写接口测试计划、设计与评审接口测试用例、搭建接口测试环境、编写接口测试脚本、执行接口测试用例、管理与跟踪接口缺陷、整理测试报告。在时间充裕并且公司条件允许的情况下,有时还会进行接口自动化持续集成测试。

11.性能测试的概念及其主要目的。

    性能测试是通过性能测试工具模拟正常、峰值及异常负载状态下对系统各项性能指标进行监控的一种测试类型。性能测试能够验证软件系统是否达到了用户期望的性能需求,同时也可以发现系统中可能存在的性能瓶颈及缺陷,从而优化系统的性能。 目的主要有以下4方面。(1)验证系统性能是否满足预期的性能需求,包括系统的执行效率、稳定性、可靠性、安全性等。(2)分析软件系统在各种负载水平下的运行状态,提高性能调整效率。(3)识别系统缺陷,寻找系统中可能存在的性能问题,定位系统瓶颈并解决问题。(4)系统调优,通过重复的、长时间的测试,找出系统中存在的隐含问题,改善并优化系统的性能。

12.JMeter中断言的作用。

断言用于验证响应结果是否正确,即用一个预设的结果(值、表达式、时间长短等)与实际结果进行匹配,匹配成功就是断言成功,匹配失败就是断言失败。

13.Meter中后置处理器的作用。

后置处理器用于对响应数据进行关联处理,所谓关联就是请求之间有依赖关系,比如一个请求需要另一个请求的响应数据作为参数,则需要先获取另一个请求的响应数据,对其响应数据进行处理,再将响应数据作为参数发送本次请求。获取一个请求的响应数据就需要用到后置处理器。

14.JMeter中线程组的分类及其作用。

主要有setUp线程组、tearDown线程组、线程组,这3个线程组的作用分别如下。(1)setUp线程组:一种特殊类型的线程组,用于执行测试前的初始化操作。(2)tearDown线程组:一种特殊类型的线程组,用于执行测试结束之后的回收工作。(3)线程组:普通线程组,一个线程组可以表示一个虚拟用户组,线程组中可以设置线程数量,每一个线程都可以模拟一个虚拟用户。

15.自动化测试需要满足的条件。

(1)项目需求变动不频繁 (2)项目进度压力不大,时间不紧迫 (3)多种浏览器或平台上可以重复运行相同的测试脚本

16.自动化测试的优缺点。

优点:(1)提高回归测试效率 (2)提高测试人员利用率 (3)提高测试精确度 (4)提高测试的便捷性 缺点:(1)不能提高测试的有效性 (2)发现的缺陷比人工测试少且不容易发现新的缺陷

17.App测试与PC端软件测试的区别。

(1)页面布局不同(2)使用场合不同(3)输入方法不同(4)操作方式不同

18.App专项测试要点。

(1)安装测试 (2)卸载测试 (3)升级测试 (4)交互性测试

(5)弱网测试 (6)耗电量测试

19.App性能测试要点。

(1)边界测试:在各种边界压力下,如电量不足、存储空间不足、网络不稳定时,测试App是否能正确响应和正常运行。 (2)压力测试:对App不断实加压力,如不断增加负载、不断增大数据吞吐量等以确定App的服务瓶颈,获得App能提供的最大服务级别,确定App性能是否满足用户需求。 (3)响应能力测试:响应能力测试实质上也是一种压力测试,在一定条件下App是否可以正确响应,响应时间是否超过了客户需求。 (4)耗能测试:测试App运行时对移动设备的资源占用情况,包括内存、CPU消耗,App长期运行时耗电量、耗流量情况,验证App对资源的消耗量是否满足用户需求。

二、选择题+填空题+判断题(按章节顺序)

第1章

3. 下列选项中,哪一项不是软件开发模型。( )

A. V模型B. 快速模型 C. 螺旋模型 D. 敏捷模型

4. 下列选项中,哪一项不是影响软件质量的因素。( )

A. 需求模糊 B. 缺乏规范的文档指导 C. 使用新技术 D. 开发人员技术有限

5. 下列哪一项不是软件缺陷产生的的原因。( )

A. 需求不明确 B. 测试用例设计不好 C. 软件结构复杂 D. 项目周期短

6. 关于软件缺陷,下列说法中错误的是。( )

A. 软件缺陷是软件中(包括程序和文档)存在的影响软件正常运行的问题、错误、隐藏的功能缺失或多出。

B. 按照缺陷的优先级不同可以将缺陷划分为立即解决、高优先级、正常排队、低优先级。

C. 缺陷报告有统一的模板,该模板是IEEE729-1983制定

D. 每个缺陷都有一个唯一的编号,这是缺陷的标识。

7.关于软件测试,下列说法中错误的是。( )

A. 在早期的软件开发中,测试就等同于调试。

B. 软件测试是使用人工或自动手段来运行或测定某个系统的过程。

C. 软件测试的目的在于检验它是否满足规定的需求或是弄清楚预期结果与实际结果之间的差异。

D. 软件测试与软件开发是两个独立、分离的过程。

8. 下列哪一项不是软件测试的原则。( )

A. 测试应基于客户需求  B. 测试越晚进行越好

C. 穷尽测试是不可以的  D. 软件测试遵循GoodEnough原则

9. 软件从“出生”到“消亡”的过程称为软件生命周期

10. 早期的线性开发模型称为瀑布开发模型。

11. 引入风险分析的开发模型为 螺旋开发模型。

12. SO 9126-1991标准提出的质量模型包括功能性可靠性可使用性效率可维护性可移植性6大特性。

13.按照缺陷的严重程度可以将缺陷划分为严重一般次要建议

14. 验证软件单元是否符合软件需求与设计的测试称为单元测试

15. 对程序的逻辑结构、路径与运行过程进行的测试称为白盒测试

16.有一种测试模型,测试与开发并行进行,这种测试模型称为W模型。

17. 现在比较流行的软件开发模型为螺旋模型。(x

18. 软件存在缺陷是由于开发人员水平有限引起的,一个非常优秀的程序员可以开发出零缺陷的软件。(x

19. 软件缺陷都存在于程序代码中。(x )

20. 软件测试是为了证明程序无错。(

21. 软件测试H模型融入了探索测试。(x是x模型引入的

22. 软件测试要投入尽可能多的精力以达到100%的覆盖率。( x

第2章

4. 下列选项中,哪一项不是因果图输入与输出之间的关系?

A. 恒等 B. 或 C. 要求 D. 唯一

5. 下列选项中,哪一项是因果图输出之间的约束关系

 A. 异 B. 或 C. 强制 D. 要求

6. 下列选项中,哪一项不是正交实验设计法的关键因素?

A. 指标 B. 因子 C. 因子状态  D. 正交表

7. 等价类划分就是将输入数据按照输入需求划分为若干个子集,这些子集称为等价类 

8.边界值分析法通常作为等价类划分法的补充。

9.因果图中的恒等关系要求程序有一个输入和一个输出,输出与输入保持一致。

10.因果图的多个输入之间的约束包括 异、或、唯一、要求共4种。

11.决策表通常由条件桩、条件项、动作桩、动作项共4个部分组成。

12.根据用户操作流程的正确性来划分,场景法通常分为基本流备选流

13. 有效等价类可以捕获程序中的缺陷,而无效等价类不能捕获缺陷。(x

14. 如果程序要求输入值是一个有限区间的值,可以划分为一个有效等价类和一个无效等价类。(x

15. 使用边界值方法测试时,只取边界两个值即可完成边界测试。(x

16. 因果图考虑了程序输入、输出之间的各种组合情况。(

17. 决策表法是由因果图演变而来的。(

18. 正交实验设计法比较适用于复杂的大型项目。(

第3章

4. 下列选项中,哪一项不属于逻辑覆盖?

A. 语句覆盖

B. 条件覆盖

C. 判定覆盖

D. 判定-语句覆盖

5. 关于逻辑覆盖,下列说法中错误的是

A. 语句覆盖的语句不包括空行、注释等

B. 相比于语句覆盖,判定覆盖考虑到了每个判定语句的取值情况

C. 条件覆盖考虑到了每个逻辑条件的取值的所有组合情况

D. 在逻辑覆盖法中,条件组合覆盖是覆盖率最大的测试方法

6. 关于程序插桩法,下列说法中错误的是

A. 程序插桩法就是往被测试程序中插入测试代码以达到测试目的的方法

B. 程序插桩法可分为目标代码插桩和源代码插桩

C. 源代码插桩的程序需要经过编译、链接过程,但测试代码不参与编译、链接过程

D. 目标代码插桩是往二进制程序中插入测试代码

7. 关于圈复杂度的计算,下列说法中正确的是

A. 圈复杂度的数量等于控制流图中的节点数量

 B. 使用V(G)=P+1可以计算圈复杂度,其中P表示控制流图中边的数量

C. 使用V(G)=E-N+2可以计算圈复杂度,其中E表示控制流图中节点的数量,N表示控制流图中边的数量

D. 圈复杂度的数量等于控制流图中的区域数量

8. 语句覆盖的目的是测试程序中的代码是否被执行,只测试代码中的执行语句

9. 判定覆盖的作用是使真、假分支均被执行

10. 条件覆盖是指判定语句中的每个条件都要取真值、假值各一次

11. 对于判定语句if (a>1 and c<1),测试时要保证a>1、c<1两个条件取真值、假值至少一次,同时,判定语句if (a>1 and c<1)取真值、假值也至少一次,这使用了 判定-条件覆盖覆盖方法

12. 条件组合覆盖要求判定语句中所有条件取值的可能组合至少出现一次。    

13.在程序插桩法中,插入程序中的测试代码称为探针

14. 语句覆盖无法考虑分支组合情况。(√)

15. 目标代码插桩需要重新编译、链接程序。(x

16. 语句覆盖可以测试程序中的逻辑错误。(x

17. 判定-条件覆盖没有考虑判定语句与条件判断的组合情况。(√)

18. 对于源代码插桩,探针具有较好的通用性。(√)

19. 圈复杂度用来衡量一个模块判定结构的复杂程度。(√)

第4章

3. 下列选项中,不属于HTTP请求组成部分的是

A. 请求行 B. 请求体  C. 状态行D. 请求头

4. 下列关于HTTP响应说法错误的是

A. 当服务器成功接收到HTTP请求时,才会产生HTTP响应

B. 响应体位于响应头的下方

C. 状态行包括协议版本、状态码和状态码描述

D. 响应头位于HTTP响应的第1行

5. 下列选项中,关于Postman的基本使用说法错误的是

A. 使用Postman进行接口测试时不支持导入JSON格式的文件

B. Postman工具中的Status code:Code is 200可以用于响应状态码断言

C. 通过设置环境变量或全局变量可以实现接口关联

D. 可以对HTTP响应中的某个字符串进行断言

6. 下列选项中,关于HTTP响应状态码说法错误的是

A. 状态码500,表示服务器发生错误

B. 状态码400,表示客户端请求的资源不存在

C. 状态码503,表示服务器当前不能处理客户端的请求

D. 状态码200,表示客户端请求成功

7. 下列选项中,关于HTTP请求体说法正确的是

A. 所有的请求方法都有请求体

B. 请求体中的数据类型只有text/html

C. 通常在POST和PUT请求方法中才有请求体

D. 请求体位于HTTP请求的第1行

8. 下列选项中,关于URL说法错误的是

A. 因特网上的每个文件都有一个唯一的URL

B. URL是描述因特网上网页和资源的一种标识方法

C. URL不支持FTP协议

D. 每一种传输协议都有默认的端口号,通常可以省略

9. 断言的目的是验证软件开发的预期结果与实际结果是否一致。

10. 接口测试原理是模拟客户端向服务器发送请求。

11. 参数化常用的数据文件格式有CSV和JSON

12. HTTP是客户端和服务器之间的通信协议。

13. 在接口测试中,测试人员只需要关注被测接口之间数据的传递,不需要关注接口之间的逻辑依赖关系。(x

14.通过接口测试可以尽早发现一些页面操作难以发现的问题。(√)

15. 在开展接口测试前,需要对接口文档进行解析和评审。(√)

16.如果没有接口文档,则无法获取接口的相关信息。(x

17. 在Postman中可以设置多组环境变量,但是只能设置一组全局变量。(√)

18. POST请求方法用于请求服务器更新指定的资源。(x

第5章

6. 下列选项中,可让系统在强负载下,持续运行一段时间(如724h)的测试

A. 基准测试 B. 并发测试 C. 稳定性测试 D. 配置测试

7. 下列选项中,可以配置测试前的初始化操作的线程组为

A. setUp线程组 B. tearDown线程组 C. 线程组 D. 以上都不对

8. 关于性能测试,下列说法中错误的是

A. 软件响应慢属于性能问题

B. 性能测试是通过性能测试工具模拟正常、峰值及异常负载条件来对系统的各项性能指标进行测试

C. 性能测试可以发现软件系统的性能瓶颈

D. 性能测试是以验证功能实现完整为目的

9. 下列选项中,用于控制脚本的执行顺序的组件是

A. 取样器 B. 前置处理器 C. 定时器 D. 逻辑控制器

10. 下列选项中,哪一项不是性能测试指标?

A. 响应时间 B. TPS C. 并发进程数 D. 吞吐量

11. 如果发送的HTTP请求中包含请求头,可以使用下列哪个元件进行配置?

A. HTTP请求默认值 B. HTTP请求信息头管理器 C. 用户参数 D. 用户定义变量

12. 下列选项中,可以匹配任意字符的符号为

A. . B. + C. * D. ()

13.下列选项中,可以瞬间将系统压力加载到最大的性能测试是

A. 压力测试 B. 负载测试 C. 并发测试 D. 峰值测试

14. 下列选项中,可以实现JMeter参数化的组件为

A. 配置元件 B. 监听器 C. 断言 D. 取样器

15. 吞吐量是指单位时间内系统能够完成的工作量。

16. TPS是指系统 每秒钟能够处理的事务和交易的数量。

17. 系统在负载情况下,失败业务的概率称为错误率。

18. 在JMeter中,一个用户用一个线程表示。

19. JMeter中用于向服务器发送各种请求的组件为取样器。

20. JMeter中用于查看服务器响应结果的组件为监听器。

21. 如果一个线程组中的多个请求的IP地址、端口号都相同,可以将请求的IP地址、端口号配置在HTTP请求默认值元件。

22. 用于判断服务器响应结果是否准确的组件为断言。

23. 在JMeter中,如果一个请求需要以另一个请求的响应数据作为参数,这种现象称为关联。

24.JMeter中的组件定时器可以让请求延迟一段时间再发送。

25. 能测试只能测试系统是否满足用户需求,无法发现潜在的性能问题。(x

26.基准测试就是一次功能测试。(x

27.QPS和TPS是等同的。(x

28. 响应时间是指系统对用户请求做出响应所需要的时间。(√)

29. 吞吐量的度量单位是请求数/秒。(x

30. 点击率是Web应用特有的一个指标。(√)

31. 安装JMeter之前,必须要安装JDK。(√)

32.执行测试结束之后的回收工作可以在tearDown线程组中配置。(x

33.其他元件引用用户定义的变量的格式为$[变量名]。(x

34. 正则表达式提取器可以提取任意格式的响应数据。(√)

35. HTTP请求只能从线程组添加。(√)

第6章

3.下列选项中,关于单元测试、接口测试和UI测试的描述错误的是

A. 单元测试主要测试的是函数功能、接口

B. 在单元测试中主要使用白盒测试方法

C. 接口测试中使用白盒测试和黑盒测试结合的方法进行测试

D. UI测试中不能修改界面布局

4. 下列选项中,不属于自动化测试缺点的是

A. 自动化测试对测试团队的技术有更高的要求

B. 自动化测试对于迭代较快的产品来说时间成本高

C. 自动化测试具有一致性和重复性的特点

D. 自动化测试脚本需要进行开发,自动化测试中错误的测试用例会浪费资源

5.下列选项中,不属于脚本测试技术的是

A. 线性测试 B. 结构化测试脚本 C. 回归测试脚本 D. 共享脚本

6. 下列选项中,关于selenium元素定位的方法说法错误的是

A. find_element_by_id(name)方法表示通过元素name的属性值定位元素

B. find_element_by_name(name)方法表示通过元素name的属性值定位元素

C. css选择器定位元素时调用find_element_by_css_selector()方法

D. 超链接全部文本信息定位元素调用find_element_by_partial_link_text()

7. 下列选项中,用于输入操作的方法是

A. click() B. submit() C. send_keys() D. clear()

8. 下列关于自动化测试的描述正确的是

A. 自动化测试能够很好地进行回归测试,从而缩短回归测试时间

B. 自动化测试脚本不需要维护,每测试完后进行下一测试需重新编写测试用例

C. 自动化测试只需要熟练掌握自动化测试工具即可

D. 自动化测试中测试人员仅仅测试负责的模块,不需要考虑其他干扰因素

9. 下列选项中,属于pytest框架中Fixture类级别的初始化方法的是

A. setup_method()  B. setup_class()

C. setup_function() D. setup_module()

10. 在自动化测试中,常见的技术有录制与回放技术、脚本技术和数据驱动技术。

11. 金字塔策略要求自动化测试从UI测试 、接口测试、单元测试这3个不同类型、级别的测试进行。

12. 常见的脚本技术有线性脚本、结构化脚本和共享脚本。

13. 在unittest框架的基本要素中,TestCase表示测试用例。

14. 在pytest框架中可以使用assert关键字与表达式进行断言

15. Fixture 示测试固件,用于对测试环境的初始化和销毁。                       

16.自动化测试能够完成人工测试无法完成的测试场景。(√)

17. 软件在升级或功能发生改变后不需进行回归测试,只需测试改变部分。(x

18.自动化测试可以达到100%覆盖率。(x

19. 自动化测试无须人工手动执行,完全由自动化测试工具完成。(x

20. 自动化测试可以提高测试效率,却无法保证测试的有效性。(√)

21. pytest框架是Python标准库中自带的一个单元测试框架。(x

第7章

4. 下列选项中,关于App的说法中错误的是

A. App使用的网络可能会从Wi-Fi瞬间切换到4G

B. App满足了用户对移动生活、工作的强烈需求

C. App无法接受键盘鼠标输入

D. App屏幕窄小,显示信息有限

5.下列选项中,哪一项不属于移动App的UI测试

A. 图片测试 B. 安装测试 C. 文字测试 D. 颜色测试

6. 下列选项中的方法或属性,哪一项用于判断元素是否可见

A. Rect B. is_selected() C. location D. is_displayed()

7. 关于Appium手势操作,下列说法中错误的是

A. 如果模拟手指在屏幕上进行移动操作,则可以调用move_to()方法

B. 轻敲、长按、拖曳等都可以称为Appium手势操作

C. swipe()和scroll()都可实现滑动操作,scroll()方法可设滑动的持续时间

D.drag_and_drop()与scroll()传递参数是元素对象,drag_and_drop()没惯性

8. 关于Appium元素定位,下列选项中说法正确的是

A. Selenium具有的方法在Appium中无法调用

B. resource-id属性定位时可调用find_elment_by_accessibility_id()方法

C. uiautomator定位元素可调用find_element_by_android_uiautomator()方法

D. 调用find_element_by_class_name()时可不验证元素的class属性是否唯一

9. 移动设备常用的系统为iOS系统和Android系统。

10.App的专项测试包括安装测试、卸载测试、升级测试、交互性测试、弱网测试、耗电量测试。

11. Appium的测试对象包括原生应用、移动Web应用和混合应用。

12. App的UI测试要点包括导航测试、内容测试和 图形测试。

13. App的特性包括设备多样性、网络多样性、平台多样性。

14.text属性的作用是获取元素的text值。

15.Appium手势操作中,程序中通过调用 drag_and_drop()可实现拖曳操作。

16. App是指运行在手机中的应用程序。(√)

17. App使用的网络只能是Wi-Fi。(x

18.App可接受语音输入。(√)

19. App测试的要点可以不考虑系统兼容性。(x

20. Appium使用的是HTTP协议。(x

21.Appium不支持PHP语言。(x

  

  • 13
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值