软件测试题

2022年01月15日 阅读数:2
这篇文章主要向大家介绍软件测试题,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

以题会题

1、单选题

一、对软件进行测试的根本目的是什么?( C )
A、提升软件的质量 B、确保程序符合用户的需求
C、找出程序中的缺陷 D、确保程序没有缺陷web


二、在软件生命周期哪一个阶段,软件缺陷修复费用最低?( C )
A、编码阶段 B、产品发布之后
C、需求分析阶段 D、设计阶段安全


三、以下关于测试用例的描述中错误的是:( B )。
A、测试用例是一组精心设计的输入,目的是为了在最短期内找到最多、最严重的缺陷
B、测试结果就是测试用例的实际输出
C、测试用例方便了测试人员与开发人员之间的沟通
D、测试用例有利于缺陷的跟踪svg


四、白盒测试是经过分析程序的( C )来设计测试用例的。
A、应用范围 B、功能 C、内部逻辑 D、输入数据函数


五、某程序的打印测试,须要考虑4个因素,每一个因素有多个选项,详情以下。若采用正交阵列法进行测试用例设计,选择哪一个正交表合适?( B )
打印范围分:所有、当前幻灯片、给定范围;
打印内容分:幻灯片、讲义、备注页、大纲视图;
打印颜色/灰度分: 彩色、灰度、黑白;
打印效果分:幻灯片加框和幻灯片不加框。
A、L12(2261) B、L16(45) C、L49(78) D、L18(3661)工具


六、有一组测试用例使得每个被测试程序的判断语句中的每一个逻辑条件的可能值至少被知足了一次,它知足的覆盖是:( D )。
A、语句覆盖 B、路径覆盖 C、断定覆盖 D、条件覆盖性能


七、下列关于单元测试的描述中错误的是:( A )。
A、单元测试彻底采用白盒测试方法完成
B、单元测试包括动态测试和静态测试
C、单元测试也须要进行计划、设计、执行、评审等一系列过程
D、单元测试每每须要编写桩模块和驱动模块单元测试


八、针对是否对无效数据进行测试,能够将等价类测试划分为( C )。
1)标准(通常)等价类测试 2)健壮等价类测试
3)若等价类测试 4)强等价类测试
A、1)3) B、2)4) C、1)2) D、3)4)测试


九、如下描述中不正确的是:( A )。
A、性能测试设计的关键是使用测试工具
B、性能测试中,可利用脚本参数化实现让多个虚拟用户使用几个不一样的实际发生数据来执行同一脚本的目的
C、性能测试中常见的系统指标包括:平均响应时间、每秒事务数、每秒点击数、吞吐量等
D、不借助测试工具几乎没法展开性能测试编码


十、功能测试中应采起的措施包括:( C )。
A、只要一个新的功能点开发完成,就马上开发对应的功能测试脚本
B、录制脚本时不要提早识别被测系统中的对象
C、确保测试脚本相互独立,以免不一样脚本之间的影响
D、录制业务流程尽可能长的测试脚本spa


十一、请阅读下面这段程序,如今须要使用逻辑覆盖法进行测试,若时(a, b, c)采用这组输入值组合: (1,1,-1)、(1,1,1)、 (-1,1,1)、 (0,1,1) ,能够实现哪一种覆盖?( B )
A、条件覆盖 B、断定覆盖 C、路径覆盖 D、条件组合覆盖
在这里插入图片描述


十二、比较适合自动化的软件测试活动是:( B )
A、测试用例设计 B、回归测试 C、测试环境的创建 D、探查式测试


1三、在软件生命周期( C )阶段,软件缺陷修复费用最低?
A、编码阶段 B、产品发布之后
C、需求分析阶段 D、设计阶段


1四、如下哪一个不是设计测试用例的基本原则。( C )
A、测试用例的表明性 B、测试结果的可断定性
C、测试数据的惟一性 D、测试结果的可再现性


1五、对软件进行测试的根本目的是什么?( C )
A、提升软件的质量 B、确保程序符合用户的需求
C、找出程序中的缺陷 D、确保程序没有缺陷


1六、一般状况下,以下缺陷不能经过单元测试发现的是:( B )。
A、变量的初始值或缺省值有错误
B、一个模块的功能是否会对另外一个模块的功能产生不利影响
C、提示的错误与实际的错误不相符
D、输入的实际参数与形式参数的个数不相同


1七、在下面所列举的逻辑测试覆盖中,测试覆盖最强的是( B ),最弱的是( C )。
A.条件覆盖 B. 条件组合覆盖 C.语句覆盖 D.条件/断定覆盖


1八、决策表方法在如下哪一种状况下不适用?( D )
A、输入输出明确,或输入输出因果关系明确的状况下
B、被分析的特性或功能点复杂,输入条件不少的状况下
C、系统输入之间相互约束多,须要作大范围的组合测试状况下
D、系统输入之间没有相互联系


1九、单元测试中用来模拟被测模块调用者的模块是:( C )
A、子模块 B、父模块 C、驱动模块 D、桩模块


20、下列测试中不属于系统测试的是( B )
A、 性能测试 B、集成测试 C、压力测试 D、可靠性测试


2一、必需要用户参与的测试阶段是:( C )。
A、集成测试 B、单元测试 C、验收测试 D、确认测试


2二、软件测试计划的内容包括:( D )
A、测试目的、背景 B被测软件的功能、输入和输出
C、测试内容和评价标准 D、以上全对


2三、请阅读下面这段程序,如今须要使用逻辑覆盖法进行测试,请问使用下面哪一组关于(a, b, c)的输入值组合能够达到条件覆盖?( B )
A、(a, b, c) = (1,1,1)、(-1,1,1) B、(a, b, c) = (1,1,1)、(-1,-1,-1)
C、(a, b, c) = (1,1,-1)、(1,1,1) D、(a, b, c) = (1,1,-1)、(-1,1,1)
在这里插入图片描述


2四、比较适合自动化的软件测试活动是:( B )
A、测试用例设计 B、回归测试 C、测试环境的创建 D、探查式测试


2、多选题

一、软件测试是系统开发不可少的一部分,具备如下那些特征?( ABCD )
A、有助于在软件生命周期中尽早发现问题,以下降修复软件缺陷所需的成本
B、既能够是静态活动,也能够是动态活动
C、能够是对需求规格说明书的审核,而不单是对代码的测试
D、用来预防软件失效

二、按照阶段划分,软件测试分为哪几类?( ABCD )
A、集成测试 B、单元测试 C、系统测试 D、验收测试

三、测试脚本的编写规范强调:( ABCD )
A、可维护性 B、可移植性 C、可读性 D、可重用性

四、以下关于决策表的描述中正确的是( ABC ):
A、决策表1方法不适于处理无效域的数据
B、决策表测试方法应与等价划分方法结合起来使用
C、决策表测试是面向数据的测试
D、当输入条件之间相互独立时,最好采用决策表测试方法

五、如下哪些项属于软件质量?(ABCD)
A、顾客和用户以为软件知足其综合指望的程度
B、软件产品中能知足给定须要的性质和特性的整体
C、肯定软件在使用中将知足顾客预期要求的程度
D、软件具备所指望的各类属性的组合程度

六、软件测试目的是什么?(ACD)
A、发现当前开发工做中所采用的软件过程的缺陷
B.为了证实软件没有错误
C.修正软件错误和缺陷提升软件质量
D.对软件质量进行评度量和评估

七、软件缺陷的经常使用状态有如下几种状况?(ABCD)
A、已解决
B、从新打开
C、打开
D、已拒绝

八、对一段程序结构而言,环形复杂度的计算方法包括: ( ABC )
A、控制流图中区域的数量
B、控制流图中边的个数-顶点的个数+2
C、断定节点的数量+1
D、控制流图中边的个数-顶点的个数+1

九、软件测试与软件开发过程关系,下列描述正确的有: ( ABC )
A、不一样的软件开发过程模型中,测试在其中所处的位置不一样
B、测试过程是为保证开发过程的产出进行验证和确认的一系列活动
C、没有开发过程就没有测试过程
D、开发比测试更重要


3、判断题

一、软件测试不能保证软件的质量。(


二、软件测试在实际开发过程当中能够作到穷尽测试 。( ×


三、任何状况下都必须使用边界值测试。(


四、正交测试能够达到100%的成对组合覆盖(


五、知足断定覆盖的一组测试用例必定知足语句覆盖(


六、对底层或子层模块进行测试所编写的调用这些模块的程序被称为驱动模块。(


七、白盒测试方法了解被测单元/系统内部结构,确定比黑盒测试方法的效率高 ( × )


八、软件安全性测试不只包括渗透测试,找出系统安全性漏洞,并且包括对系统安全功能性的验证。(


九、软件测试在实际开发过程当中不可能作到穷尽测试 。(


十、集成测试阶段,采用双向集成方法不须要写桩模块(


十一、知足条件覆盖的一组测试用例必定知足语句覆盖(×


十二、桩模块是指对顶层或上层模块进行测试时所编写的替代下层模块的程序。(


1三、软件的质量特性有静态质量特性和动态质量特性(


1四、条件组合覆盖能够发现代码中全部可能的缺陷。( × )


4、简答题

一、简要画出软件测试过程当中的W模型,并结合该模型描述软件测试与软件开发各阶段之间的关系。

在这里插入图片描述
W模型由两个V模型组成,分别表明测试与开发过程,明确表示出了测试与开发的并行关系。

软件分析、设计和实现的过程,伴随着软件测试、验证和确认的过程,也就是说,测试过程和开发过程都贯穿软件过程的整个生命周期。

测试与开发是相辅相成、相互依赖的关系。归纳起来有如下三个关键点:

  • 1) 测试过程和开发过程是同时开始,同时结束的,二者保持同步的关系。
  • 2) 测试过程是对开发过程当中阶段性成果和最终产品进行验证的过程,因此二者相互依赖。
  • 3) 测试过程当中的工做重点和开发过程的工做重点,二者有各自的特色,存在差别。

二、什么是测试用例?设计编写测试用例时,须要包括哪些基本属性?

软件测试活动中为特定的目的而设计的测试条件、测试数据及与之相关的测试规程的一个特定的使用实例或场景;测试用例是执行测试的最小实体。

编写测试用例时,应该说明它的基本属性:执行条件、输入、预期结果,除此以外还能够包括标识符、测试项、测试目标、输入数据、操做步骤、优先级、关联的测试用例、关联的缺陷等信息。


三、简述采用捕获/回放工具进行测试脚本开发的通常流程。

第一步:根据测试设计文档,肯定自动化测试的范围,使用捕获/回放工具生成初始的测试脚本。

第二步:对生成的脚本进行修改,获得正确的、可复用的、可维护性好的脚本。

第三步:执行修改后的脚本,得到实际的运行结果。

第四步:对观察到的运行结果进行分析和比较,报告发现的缺陷;评价本次运行结果,分析存在的问题与不足,提出下一步的改进方案。

第五步:重复上面的步骤,进行回归测试和其余测试。


四、有二元函数f (x, y),其中x∈[1, 12],y∈[1, 31]。请采用边界值分析法设计测试用例。

能够设计如下测试用例:
{ <1, 15>, <2, 15>, <11, 15>, <12, 15>, <6, 15>, <6, 1>, <6, 2>, <6, 30>, <6, 31> }


5.什么是软件测试?软件测试的目标是什么?

软件测试是人工地或经过使用工具自动地运行被测软件系统,或静态检查被测系统的过程,其目的在于校验被测系统是否知足需求,或要弄清楚实际的系统输出与预期系统输出之间的差别。

软件测试的目标包括:

  • 验证和确认开发的软件产品与用户实际需求/需求规格说明书相符合
  • 以最少的时间和成本尽量多地找出软件缺陷
  • 尽早发现至今还没有发现的软件缺陷,不是证实产品中没有软件缺陷
  • 收集测试结果数据,为质量分析和产品放行提供依据

六、自动化测试还存在不少局限性,并不能彻底取代手工测试。什么是自动化测试?简述自动化测试的局限性。

自动化测试是指利用好的测试工具以自动运行测试用例。自动化测试能够在较少的时间内运行更多的测试用例。

可是自动化测试还存在局限性,包括:

  • 自动化测试不能取代手工测试,可做为手工测试的补充;
  • 自动测试不会比手工测试发现的错误多;软件自动化测试可能下降测试的效率;
  • 若是缺少测试经验,测试的组织差、文档少或不一致,则自动测试的效果比较差;
  • 软件自动化测试工具或测试脚本自己有问题;
  • 须要被测试的应用程序相对稳定;
  • 测试自动化可能会制约软件开发。

5、综合设计题

一、阅读如下闰年的判别程序,请使用基本路径测试方法设计测试用例。
要求:首先画出控制流图;而后求出程序的独立路径数;最后根据独立路径设计测试用例。

       int IsLeap (int year)
    1  {
   
    int leap=02     if ( year%4 == 0 )
    3    {
   
   
    4      if (year%100 == 0)
    5       {
   
    
    6         if (year%400 == 0)
    7            leap=1;
    8         else leap=0;
    9        }
   10      else leap=1;             
   11    } 
   12    else leap=0;    
   13    return leap;
        }

1)控制流图
在这里插入图片描述


2)环形复杂度及独立路径

环形复杂度:区域的个数4;10-8+2=4;3+1=4
独立路径:2->12->13;2->4->10->13;2->4->6->7->13;2->4->6->8->13


4) 测试用例

用例 year leap
1 1001 0
2 1004 1
3 2000 1
4 1100 0

二、已知NextDate函数用来计算输入日期后一天的日期。该函数包含三个变量month、day和year,要求输入变量month、day和year均为整数值,而且知足1≤ month ≤十二、1≤ day ≤3一、1950≤ year ≤2050三个条件。请用等价类划分法进行黑盒测试。
要求:请先划分出合理的等价类;而后根据划分好的等价类设计测试用例,测试用例越全面越好。

划分的等价类包括:
M1={月份:每个月有30天}
M2={月份:每个月有31天}
M3={月份:此月是2月}
M4={月份:此月是12月}

D1={日期:1<=日期<=27}
D2={日期:日期=28}
D3={日期:日期=29}
D4={日期:日期=30}
D5={日期:日期=31}

Y1={年:年是闰年}
Y2={年:年是平年}

测试用例最好能知足强通常等价类要求,参考测试用例表以下:

测试用例 月份 日期 年 预期输出
1 6 27
2 6 28
3 6 29
4 6 30
5 6 31
6 8 27
7 8 28
8 8 29
9 8 30
10 8 31
11 2 27
12 2 28
13 2 29
14 2 30
15 2 31
16 12 27
17 12 28
18 12 29
19 12 30
20 12 31
21 6 27
22 6 28
23 6 29
24 6 30
25 6 31
26 8 27
27 8 28
28 8 29
29 8 30
30 8 31
31 2 27
32 2 28
33 2 29
34 2 30
35 2 31
36 12 27
37 12 28
38 12 29
39 12 30
40 12 31

三、根据如下代码完成下列题目

public static void Example(int i,int j)
    {
   
   
        int x = 0, y = 0;
        while(i<20)
        {
   
   
            if(j%2!=0)
            {
   
   
                if(j==1)
                {
   
   
                    x = 2;
                }
                else
                {
   
   
                    y = 2;
                }
            }
            else
            {
   
   
                if(j==2)
                {
   
   
                    x++;
                }
                else
                {
   
   
                    y++;
                }
            }
            i++;
        }
        Console.WriteLine("x:{0} y:{1}",x,y);
    }

1)画出程序的控制流图。
在这里插入图片描述


2)求出程序的独立路径数,列出独立路径集合。

在这里插入图片描述