软件测试期末复习(一)试题及答案

news2024/10/5 21:14:57

一、单项选择题(每空 2 分,共 40 分)

1.软件测试的目的:( c )
A. 避免软件开发中出现的错误
B. 发现软件开发中出现的错误
C. 尽可能发现并排除软件中潜藏的错误,提高软件的可靠性
D. 修改软件中出现的错误
2、软件测试是采用( a )执行软件的活动。
A.测试用例
B.输入数据
C.测试环境
D.输入条件
3、导致软件缺陷的最大原因是:( a )
A.软件需求说明书
B.设计方案
C.编码
D.维护
4、在下列描述中,关于一个软件缺陷状态完整变化的错误描述是( d )
A、打开——修复——关闭
B、打开——关闭
C、打开——保留
D、激活——修复——重新打开
5、在下列描述中,关于测试与调试的说法错误的是( d )
A、测试是显示错误的行为;而调试是推理的过程;
B、测试显示开发人员的错误。调试是开发人员为自己辩护;
C、测试能预期和可控。调试需要想象、经验和思考;
D、测试必须在详细设计已经完成的情况下才能开始;没有详细设计的信息调试不可能进行。
6、某次程序调试没有出现预计的结果,下列( b )不可能是导致出错的原因。
A.变量没有初始化 B.编写的语句书写格式不规范
C.循环控制出错 D.代码输入有误
7、软件缺陷修复的代价最高的阶段为( a )
A、发布阶段 B、需求阶段
C、设计阶段 D、编码阶段
8、不属于逻辑覆盖方法的是( d )。
A.组合覆盖 B.判定覆盖
C.条件覆盖 D.接口覆盖
9、( d )是选择若干个测试用例,运行被测程序,使得程序中的每个可执行语句至少执行一次。
A、条件覆盖 B、组合覆盖
C、判定覆盖 D、语句覆盖
10、( a )是设计足够多的测试用例,使得程序中每个判定包含的每个条件的所有情况(真/假)至少出现一次,并且每个判定本身的判定结果(真/假)也至少出现一次。
A、判定-条件覆盖 B、组合覆盖
C、判定覆盖 D、条件覆盖
11.软件测试是软件质量保证的重要手段,下述哪种测试是软件测试的最基础环节?( b )
A.功能测试
B.单元测试
C.结构测试
D.验收测试
12、单元测试的主要任务不包括( b )。
A.出错处理 B.全局数据结构
C.独立路径 D.模块接口
13、如下图所示的N-S图,至少需要( b )个测试用例完成逻辑覆盖。

A.12 B.48
C.27 D.18
14、单元测试中用来模拟实现被测模块需调用的其他功能模块的是( b )。
A.驱动模块 B.桩模块
C.主控模块 D.真实的被调用模块
15、集成测试计划应该在( b )阶段末提交。
A、需求分析 B、概要设计
C、详细设计 D、单元测试完成
16、下列关于程序效率的描述错误的是( c )。
A.提高程序的执行速度可以提高程序的效率
B.降低程序占用的存储空间可以提高程序的效率
C.源程序的效率与详细设计阶段确定的算法的效率无关
D.好的程序设计可以提高效率
17、下列( b )是对程序流程图进行简化后得到的,它可以更加突出的表示程序控制流的结构,且不包含复合条件。
A.DD-路径图 B. 控制流图
C.MM-路径图 D. 模块调用图
18、自底向上增量式集成测试中,下面( c )描述是正确的。
A.测试由桩模块控制
B.最上面的模块最先测试
C.父单元用测试过的子单元测试
D.包含树的深度优先或广度优先遍历过程
19、测试后程序中残存的错误数目与该程序中已发现的错误数目成( d )。
A.未知 B.反比
C.相等 D.正比
20、针对是否对无效数据进行测试,可以将等价类测试分为(b )
1)标准(一般)等价类测试
2)健壮等价类测试
3)弱等价类测试
4)强等价类测试
A.3)4) B.1)2)
C.1)3) D.2)4)

二、判断题(每空 1 分,共 20 分) 、

1、一个程序中所含有的路径数与程序的复杂程度有着直接的关系。( ∨ )
2、结构性测试是根据软件的规格说明来设计测试用例。( x )
3、错误推测法是根据输出对输入的依赖关系来设计测试用例的。(x )
4、软件缺陷属性包括缺陷标识、缺陷类型、缺陷严重程度、缺陷产生可能性、缺陷优先级、缺陷状态、缺陷起源、缺陷来源、缺陷原因。(∨ )
5、对于一个含有n个变量的程序,采用边界值健壮性测试方法来测试程序会产生6n+1个测试用例。(∨)
6、数据流测试是主要用作路径测试的真实性检查。两种形式分别为定义/使用测试、基于程序片的测试。(∨ )
7、软件只要经过严格严谨的内部测试之后,可以做到没有缺陷。(x )
8、测试用例应由测试输入数据和对应的实际输出结果这两部分组成。( x )
9、测试是可以穷尽的。( x )
10、测试自动化是万能的。( x )
11、软件缺陷可能会被修复,可能会被保留或者标识出来。( ∨ )
12、每一个软件项目都有一个最优的测试量。( ∨ )
13、黑盒测试往往会造成测试用例之间可能存在严重的冗余和未测试的功能漏洞。(∨ )
14、代码审查工作属于静态测试。( ∨ )
15、软件测试是一个过程,包含若干活动,运行软件进行测试只是活动之一。(∨ )
16、回归测试是在软件修改后再次运行以前为查找错误而执行程序曾用过的测试用例. ∨
17、集成测试是为确定软件系统是否满足验收标准以及使客户决定是否接受而进行的正式测试. ( x )
18、测试按照测试层次可以划分成为单元测试、集成测试和系统测试。( ∨ )
19、只要能够达到100%的逻辑覆盖率,就可以保证程序的正确性。( x )
20、永远有缺陷类型会在测试的一个层次上被发现,并且能够在另一个层次上逃避检测。(∨ )

三、简答题(每空 5 分,共 20 分) 得 分 评阅人

1、优秀的软件测试工程师应具备哪些素质?
答:具有探索精神、具有良好的计算机编程基础、故障排除能手、坚持不懈的精神、具有创新精神和超前意识、追求完美、判断准确、具有整体观念,对细节敏感、团队合作精神,沟通能力

2、有二元函数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> }

3、黑盒测试与白盒测试各有哪些优缺点,应该如何结合才能解决漏洞和冗余问题?
答:功能性测试具有两大优点:功能性测试与软件如何实现无关;测试用例开发可以与实现并行进行,因此可以压缩总的项目开发时间。缺点:测试用例之间可能存在严重的冗余,还会有位测试的软件漏洞。结构性测试局限于已经完成的代码行为当中,离代码太近。因此可以结构性测试指标去解决冗余和漏洞问题。如果发现同一条程序路径被多个功能性测试用例遍历,就可以怀疑这种冗余不会发生新的缺陷,如果没有达到一定的DD—路径覆盖,则可知在功能性测试用力中存在漏洞。因此路径测试可以提供作为功能性测试交叉检查的一组指标。

4、有一段程序如下,请设计测试用例以满足语句覆盖要求。

void  DoWork (int x,int y,int z)
{
   int  k=0,j=0;
   if ( (x>3)&&(z<10) )
   {   k=x*y-1;  
       j=sqrt(k);  
   }               //语句块1 
   if ( (x==4)||(y>5) )d
   {  j=x*y+10;   } //语句块2 
   j=j%3;          //语句块3
}

答:要实现DoWork函数的语句覆盖,只需设计一个测试用例就可以覆盖程序中的所有可执行语句。测试用例输入为:{ x=4、y=5、z=5 }

四、综合题(每空 10 分,共 20 分) 得 分 评阅人

1、使用基本路径测试方法,为以下程序段设计测试用例。
(1)画出程序的控制流图,编号已经给出。
(2)计算程序的循环复杂度,导出程序基本路径集中的独立路径条数。
(3)导出基本路径集,确定程序的独立路径。
(4)根据(3)中的独立路径,设计测试用例(确保基本路径集中的每一条路径的执行)的输入数据和预期输出。

       void Do (int X,int A,int B)
       {
 1       if ( (A>1)&&(B=0) )
 2           X = X/A;
 3       if ( (A=2)||(X>1) )
 4           X = X+1;
 5    }

由于控制流图假设的是单条件,因此对于复合条件,可将其分解为多个单个条件,并映射成控制流图。
1: A>1;2: B=0 ;3: X = X/A ;4: A=2 ;5:X>1 ;6: X = X+1;7: }

解答:
1、画出控制流图: 如下图所示
在这里插入图片描述

2、计算环形复杂度:
10(条边)- 7(个节点)+ 2 = 5
3、导出独立路径(用语句编号表示)
独立路径是指从程序的入口到出口的多次执行中,每次至少有一个语句是新的,未被重复的,也即每次至少要经历一条从未走过的弧。
路径1:1→2→3→4→5→6→7
路径2:1→4→5→6→7
路径3:1→2→4→6→7
路径4:1→2→4→5→7
路径5:1→2→3→4→5→7
4、测试用例
在这里插入图片描述

2、场景要求:”……对功率大于50马力的机器、维修记录不全或已运行10年以上的机器,应给予优先的维修处理……” 。这里假定,“维修记录不全”和“优先维修处理”均已在别处有更严格的定义 。请建立决策表。
(1) 确定规则的个数。
(2) 列出所有的条件桩和动作桩。
(3) 填入条件项。
(4) 填入动作项,得到初始决策表。
(5) 简化决策表,合并相似规则。
解答:
(A && B)|| C
①确定规则的个数:这里有3个条件,每个条件有两个取值,故应有222=8种规则。
②列出所有的条件桩和动作桩:
在这里插入图片描述

③填入条件项。可从最后1行条件项开始,逐行向上填满。
如第三行是: Y N Y N Y N Y N
第二行是: Y Y N N Y Y N N
等等。
④填入动作项。这样便得到形如图的初始判定表。

在这里插入图片描述

⑤化简。合并相似规则后得到结果图。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/125852.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Axure绘制流程图

相信大家在日常的工作中经常会绘制流程图&#xff0c;基本常见的绘制流程图的工具有Visio、亿图等。但是如果大家使用的是axure制作的产品prd的话&#xff0c;这些流程图的源文件全部需要进行存储&#xff0c;一旦丢失就需要重新画一遍&#xff0c;这样是很不方便。那么有没有一…

JDBC API详解

文章目录入门案例DriverManagerConnectionStatementResultSetPreparedStatement数据库连接池完整代码入门案例 package jdbc;import java.sql.*;public class connectionTest {public static void main(String[] args) throws ClassNotFoundException, SQLException {//1.注册…

Revit二次开发小技巧(十六)寻找最短路径

最近遇到一个需求&#xff0c;指定两个配电箱&#xff0c;然后找到两个配电箱之间最短的桥架路径。运用了Dijkstra算法去计算最短路径&#xff0c;以配电箱实体、三通、四通为节点&#xff0c;简化中间弯头计算的方式。 背景 选择起点和终点的配电箱&#xff0c;找到最短的桥架…

RingUI + JCEF开发IDEA插件

文章目录RingUI知识储备示例插件实现逻辑开发环境开发流程新建一个IDEA插件项目新建一个前端项目验证前端项目丰富前端项目丰富插件内容RingUI This collection of UI components aims to provide all the necessary building blocks for web-based products built inside JetB…

向 Windows 高级用户进阶,这 5 款效率工具帮你开路

工欲善其事&#xff0c;必先利其器。作为全球最多人使用的桌面操作系统&#xff0c;Windows 的使用效率与我们的工作学习息息相关。今天&#xff0c;小编就为大家整理了 10 款提高效率的利器&#xff0c;让你的 Windows 更具生产力。 1.文件预览——Seer MacOS 有一个非常方便…

优雅草YYC松鼠短视频2022年12月28日更新v5.1.6版本更新·修复因为消息提醒二开导致菜单栏无法显示·进一步完善推送

优雅草YYC松鼠短视频2022年12月28日更新v5.1.6版本更新修复因为消息提醒二开导致菜单栏无法显示进一步完善推送 更新日志 修复因为消息提醒二开导致菜单栏无法显示 继续进一步开发消息推送 目前消息推送登录以及推送判断返回刷新仍存在问题在开发中 目前goeasy官方也在更新关…

数据劫持基础

数据劫持数据劫持原理。属性描述符Object.defineProperty官网响应式原理![在这里插入图片描述](https://img-blog.csdnimg.cn/b9f900484f314334a0dc6139428b397c.png)getter和setterObject.defineProperty的不足proxy工作原理总结数据劫持原理。 数据劫持&#xff0c;指的是在…

Find My资讯|苹果 Find My 找到因交通事故坠崖的一名女子

美国加州圣贝纳迪诺县消防局在其官方 Facebook 更新动态&#xff0c;表示在接到家属报警&#xff0c;通过苹果 Find My 功能追踪家人的 iPhone&#xff0c;成功营救出在圣贝纳迪诺山区的 18 号高速公路上坠崖的一名妇女。 圣贝纳迪诺县消防局在帖子中表示这名妇女在圣诞节那天…

多线程与高并发(三)

【 day3课前复习 】&#xff1a; 【AtomicInteger】&#xff1a; 原子性——都是用CAS机制来实现。 【 expected , update 】: //有时候也会写三个值——你要修改的那个对象。 expected——期望值。&#xff08;旧值&#xff09; update——更新值。&#xff08;新值&#…

LeetCode刷题复盘笔记—一文搞懂动态规划之剑指 Offer 46. 把数字翻译成字符串问题(动态规划系列第三十四篇)

今日主要总结一下动态规划的一道题目&#xff0c;剑指 Offer 46. 把数字翻译成字符串 题目&#xff1a;剑指 Offer 46. 把数字翻译成字符串 Leetcode题目地址 题目描述&#xff1a; 给定一个数字&#xff0c;我们按照如下规则把它翻译为字符串&#xff1a;0 翻译成 “a” &am…

小型云台机械手的制作

1. 运动功能说明 小型云台机械手&#xff0c;下方的云台可以提供左右旋转和上下摆动的动作&#xff0c;与舵机夹爪配合可以完成简单的抓取和搬运。 2.结构说明 该样机由一个 R207小型舵机云台 上串联了一个 舵机夹爪模组 构成。 3. 运动功能实现 3.1 电子硬件 在这个示例中&a…

Redis集群系列五 —— 分区/片概念

什么是分区 分区就是将所存储的数据按照一定的规则存储在不同的存储服务或介质上&#xff0c;通过降低单服务或介质的数据量级来提升数据处理能力&#xff0c;从而达到拥有数据处理横向扩容的能力的目的。 还可简单的理解为分区就是将数据拆分到多个 Redis 实例的过程&#xf…

21. 合并两个有序链表播报文章

题目描述 这是一道难度为简单的题目&#xff0c;同时&#xff0c;这道题也是Leetcode148题中&#xff0c;链表归并排序中重要的组成部分。 题目描述 题目分析 本题的题目简单易懂&#xff0c;输入为两个有序链表&#xff0c;要求将链表合并为一个有序的链表。在此不在再赘述…

【消息中间件】RocketMQ如何实现Producer的负载均衡

目录 一、前言 二、实现Producer的负载均衡 1、负载均衡选取一条消息队列并且高可用 1.1、模拟随机递增取模消息队列数为5 1.2、模拟随机递增取模消息队列数为6 1.3、判断Broker代理是否可用 2、更新故障项维护startTimestamp字段 2.1、退避运算 2.2、更新故障项维护st…

干货 | 数字经济创新创业——数字经济下的商业模式与解决方案

下文整理自清华大学大数据能力提升项目能力提升模块课程“Innovation & Entrepreneurship for Digital Economy”&#xff08;数字经济创新创业课程)的精彩内容。主讲嘉宾&#xff1a;Kris Singh: CEO at SRII, Palo Alto, CaliforniaVisiting Professor of Tsinghua Unive…

卷积、转置卷积、膨胀卷积学习记录

Conv计算&#xff1a; 计算公示 1、pytorch中默认参数&#xff0c;以conv1d为例 torch.nn.Conv1d(in_channels, out_channels, kernel_size, stride1, padding0, dilation1, groups1, biasTrue, padding_mode‘zeros’, deviceNone, dtypeNone&#xff09; 2、输出卷积尺寸&am…

MySQL常见内置函数及其使用

目录 1、聚合函数 2、日期函数 3、字符串函数 4、数学函数 5、其它函数 1、聚合函数 函数说明 COUNT([DISTINCT] expr) 返回查询到的数据的 数量SUM([DISTINCT] expr)返回查询到的数据的 总和&#xff0c;不是数字没有意义AVG([DISTINCT] expr)返回查询到的数据的 平均值…

数据蛙恢复软件替代产品有哪些?15款顶尖数据恢复软件清单

数据蛙恢复软件是一款国内数据恢复软件&#xff0c;可以在很多品牌的电脑上使用。但是你可能会遇到数据蛙恢复软件扫描不到需要恢复文件的情况。那么有没有更专业的数据恢复软件可以找到更多误删数据&#xff1f;本文将为你介绍最值的推荐的15个数据蛙恢复软件替代产品。 丢失…

Web兼容性测试的要点

对于网页的兼容性我们主要考虑的是各种浏览器对前台页面的兼容性&#xff0c;因为浏览器对页面的影响是最大的。 现在浏览器的种类越来越多&#xff0c;网页中展现出来的内容也越来越丰富&#xff0c;这些内容包括网页中的字体、图片、动画等&#xff0c;而且有些内容需要网页…

AlexNet学习笔记(2)

里面 有些东西 对于现在来说都是错误的 而且由大量的细节对于现在来说没有必要 而且是过度的enginnering 一篇论文的第一段通常是讲一则故事 我们在做什么研究 哪个方向 有什么东西然后为什么很重要 正则化 regularization好像没有那么重要&#xff0c;并不是最关键的 最关键…