牛客刷题错题(一)——测试知识

1. 使用语句覆盖对下列代码进行测试用例设计时,需要设计(      )个测试用例

public  static void Test(int a, int b, int c)
{
    if ((a > 1) && (c == 0))
        b = b / a;
    if ((a == 1) && (b > 1))
        b = b + 1;
}

分析:

    语句覆盖,

a = 2 , c = 0  进入第一个语句;a = 1 , c 等于几都行,不进入第一个语句;

a = 1 , b = 2 进入第二个语句;a = 2 , b 等于几都行,不进入第二个语句。

a = 1 , b = 2 , c = 0

a = 2 , b = 1 , c = 0 两个测试案例

 

2. 2元地铁票售票软件:投币2元时,按下“2元”按钮,弹出相应地铁票;投币5元,则弹出地铁票同时退还3元,若对该功能进行测试用例设计最宜选择哪种方法(      )

A. 等价类划分法           B. 边界值分析
C. 错误推测法             D. 因果图

答案:D    你的答案: A (错误)

分析:这道题容易错选A,A应该是不确定输入值或者可输入值过多,只能划分区间,而题目中的地铁投币已经限定了可投币的类型,也就限定了输入值,那么通过确定的输入推导可能的输出,正好符合因果图。

因果图是从需求中找出因(输入条件)和果(输出或程序改变的状态),通过因果图转化为判定表。 1.输入条件之间的关系(组合、约束) 2.输入与输出的关系 3.输出条件的关系

 

3. 下面哪些属于动态分析()

A. 代码覆盖率     B. 模块功能检查    C.系统压力测试     D. 程序数据流分析

答案:BC     你的答案: A B C (错误)

选B、C。动态程序分析是对计算机软件的分析,该计算机软件是通过在真实或虚拟处理器上执行从该软件构建的程序来执行的。

A代码覆盖是由测试需求和测试用例的覆盖或已执行代码的覆盖表示的。建立在对测试结果的评估和对测试过程中确定的变更请求(缺陷)的分析的基础上。

D选项数据流分析是一项编译时使用的技术,它能从程序代码中收集程序的语义信息,井通过代数的方法在编译时确定变量的定义和使用。

 

4. 单元测试主要技术手段有()。

A. 驱动代码     B. Stub代码     C. Mock代码     D. GUI测试手段

正确答案: A B C   你的答案: B C (错误)

分析:

mock:对代码中某些不容易获取的对象创建虚拟对象来测试

stub:桩函数是代替某些被调用了但是没有编写代码,一般再增量迭代自底向上的过程中不用编写。再自顶向下的过程中需要编写

驱动函数:调用被测函数,给被测函数传参

 

5.  下面几种白盒测试技术,哪种是最强的覆盖准则()。

A. 语句覆盖   B. 条件覆盖   C. 判定覆盖   D. 条件组合覆盖

正确答案: D   你的答案: A (错误)

分析:

六种覆盖方法中,覆盖准则由弱到强依次是语句覆盖、判定覆盖(分支覆盖)、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖。

其中,

语句覆盖是使得程序中每个语句至少被执行一次;

判定覆盖是使得程序中的每个分支至少都通过一次;

条件覆盖是使得判定中的每个条件获得各种可能的结果;

判定/条件覆盖是使得判定中的每个条件取到各种可能的值,并使每个判定取到各种可能的结果;

条件组合覆盖是使得每个判定中条件的各种可能组合都至少出现一次;

 

6. 以下程序至少需要( )个测试用例,才可以满足判断覆盖
if(x && y){....}
else{....}

答案:2个

分析:判定覆盖要求每个分支都至少被执行一次,即Y,N都要被执行一次,这个题中只有一个判定,所以两次。

 

7. 下面叙述中错误的是(  )

A. 软件测试的目的是发现错误并改正错误
B. 对被调试的程序进行“错误定位”是程序调试的必要步骤
C. 程序调试通常也称为Debug
D. 软件测试应严格执行测试计划,排除测试的随意性

正确答案: A   你的答案: D (错误)

分析:软件测试的目的是为了发现错误而执行程序的过程,目的是发现缺陷和预防缺陷,并不涉及改正错误,所以选项A错误。程序调试的基本步骤有:错误定位、修改设计和代码,以排除错误、进行回归测试,防止引进新的错误。程序调试通常称为Debug,即排错。软件测试的基本准则有:所有测试都应追溯到需求、严格执行测试计划,排除测试的随意性、充分注意测试中的群集现象、程序员应避免检查自己的程序、穷举测试不可能、妥善保存测试计划等文件。

 

8.  确认测试以()作为基本测试单元。

A. 模块     B. 软件系统    C. 软件子系统    D. 变量

正确答案: B   你的答案: A (错误)

分析:选B。确认测试又称有效性测试,有效性测试是在模拟的环境下,运用黑盒测试的方法,验证被测软件是否满足需求规格说明书列出的需求。

确认测试的目的是向未来的用户表明系统能够像预定要求那样工作。经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是确认测试的任务,即软件的功能和性能如同用户所合理期待的那样。

A、D选项的模块属于单元测试,C选项的子系统属于集成测试单元。

牛客刷题错题(一)——测试知识_第1张图片

 

9. 某农产品信息管理发布系统是采用JAVA EE架构开发的B/S系统。 系统性能需求如下:
(1)主要功能操作在5秒钟内完成;
(2)支持50个在线用户;
(3)农产品信息管理的主要功能至少支持20个并发用户;
(4)在 50 个用户并发的高峰期,农产品信息管理的主要功能,处理能力至少要达到 8trans/s;
(5)系统可以连续稳定运行12小时。
该系统性能测试中应测试的关键指标是:(  )

A. 交易执行响应时间指标    B. 并发用户数指标   C. 交易执行吞吐量指标   D. 并发进程数指标

正确答案: A   你的答案: C (错误)

分析:看到性能选时间!

性能测试、压力测试、负载测试的关系

  • 性能测试是正常情况下的性能指标;
  • 压力测试是测试系统的瓶颈所在;
  • 负载测试是指系统重负荷性能指标;
  • 性能测试、压力测试、负载测试在广义上讲都是性能测试的内容,建议将三种测试结合起来并行进行。

 

10.  在一个软件测试用例中,有一个字符串数据,若首字符必须是C和D,其余字符必须是0-9的数字,在此情况下是正确的,若首字符不正确,则输出message1,若其余字符不正确,则输出message2。这种情况下最好采用( )

A. 边界值分析   B. 等价类划分   C. 因果图   D. 错误推测法

   正确答案: C   你的答案: B (错误)

分析:C适用于输入数据有多种组合的情况。

 

11. 黑盒测试技术 ,使用最广的用例设计技术是 ( )

A. 等值分析测试 B. 边界值分析测试 C. 错误推测法 D. 逻辑覆盖测试

正确答案: A   你的答案: B (错误)

分析:等值分析测试=等价类划分+边界值分析测试

 

12. 下述有关负载测试,容量测试和强度测试的描述正确的有?

A. 负载测试:在一定的工作负荷下,系统的负荷及响应时间。
B. 强度测试:在一定的负荷条件下,在较长时间跨度内的系统连续运行给系统性能所造成的影响。
C. 容量测试:容量测试目的是通过测试预先分析出反映软件系统应用特征的某项指标的极限值(如最大并发用户数、数据库记录数等),系统在其极限值状态下没有出现任何软件故障或还能保持主要功能正常运行。
D. 容量测试是面向数据的,并且它的目的是显示系统可以处理目标内确定的数据容量。

正确答案: A B C D   你的答案: A D (错误)

 

13. 以下哪些工具属于单元测试工具()

A. PureCoverage    B. Purify    C. VSS    D. Quantify

正确答案: A B D   你的答案: A B (错误)

分析:

单元测试工具集合:

Parasoft jtest   第一个自动化Java单元测试工具.

Parasoft C++Test   单元测试和静态分析工具,自动测试C和C++类别、功能或组件.

Parasoft .TEST   是单元测试和静态分析工具,自动测试写在Microsoft?.NET框架的类别

Parasoft Insure++   是一个自动化的内存错误、内存泄漏的精确检测工具。

Parasoft CodeWizard   是高级C/C++源代码分析工具,采用三百种以上行业相关的编码准则,自动识别编译器未检测到的危险的编码构造。

DevPartner Studio Professional   是针对软件开发小组使用 Microsoft Visual C++,Microsoft Visual Basic,Java,ASP 或 HTML 设计的一套紧密配合的调试,测试和管理工具。

Rational Purify   是一个面向VC, VB或者Java开发的测试Visual C/C++ 和Java代码中与内存有关的错误,确保整个应用程序的质量和可靠性。

Rational Quantify   是一个面向VC、VB 或者Java开发的测试性能瓶颈检测工具,它可以自动检测出影响程序段执行速度的程序性能瓶颈,提供参数分析表等等直观表格。

Rational PureCoverage   是一个面向VC、VB或者Java开发的测试覆盖程度检测工具,它可以自动检测你的测试完整性和那些无法达到的部分。

 

14.  测试方法可以分成哪几种?

A. 个人复查   B. 抽查和会审   C. 黑盒测试   D. 白盒测试

 正确答案: A B C D   你的答案: C D (错误)

分析:软件测试可以是人工测试:如个人复查,抽查和会审等;也可以是机器自动测试,又有不同的分类;

按照否关软件内部结构具体实现角度划:A.白盒测试B.黑盒测试 C.灰盒测试 
按照软件发程按阶段划:A.单元测试  B.集测试  C.确认测试  D.系统测试  E.验收测试 

 

15. 在测试计划阶段需要根据(      )完成测试进度的制定

A. SOW   B. HLD   C. LLD   D. UTC

正确答案: A   你的答案: A (正确)

SOW:statement of work,工作任务说明书

HLD: High Level Design,概要设计说明书

LLD: Low Level Design,详细设计说明书

UTC: Unit Testing Cases,单元测试用例

 

16. 以下属于软件调试技术的是()

A. 强行排错法   B. 集成测试法   C. 回溯法   D. 原因排除法

正确答案: A C D   你的答案: B C D (错误)

分析:软件调试技术:

试探法(强行排错法),

回溯法:人工沿着程序的控制流程往跟踪代码,直到找出错误根源为止

对分查找法:缩小错误的范围,

归纳演绎

原因排除法

 

17. 下面描述测试工具的功能正确的有?

A. JMeter: 基于JAVA的压力测试工具,Badboy用来进行脚本的录制       B. Junit: 白盒测试工具:针对代码测试
C. LoadRunner:负载压力测试                                      D. TestLink: 用例管理工具

 正确答案: A B C D   你的答案: A B C D (正确)

 

18. 

你可能感兴趣的:(2021错题整理,软件测试)