当前位置: 首页 > news >正文

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

文章目录

  • 试卷
  • 答案

试卷

一、选择题(每题 2 分,共 20 分)

1、下面关于软件测试的说法,_______是错误的。
A 软件测试就是程序测试
B 软件测试贯穿于软件定义和开发的整个期间
C 需求规格说明、设计规格说明都是软件测试的对象
D 程序是软件测试的对象

2、如果程序的功能说明中含有输入条件的组合情况,则一开始就可以选用______和判定表驱动法。
A 等价类划分    B 因果图法    C 正交试验法   D 场景法

3、根据ISO/IEC9126国际标准将软件的质量划分为6大属性()。
A 功能性、可靠性、安全性、效率、易用性和可移植性
B 功能性、可靠性、易用性、效率、稳定性和可移植性
C 功能性、可靠性、易用性、效率、可维护性和可移植性
D 功能性、可靠性、兼容性、效率、稳定性和可移植性

4、在某大学学籍管理信息系统中,假设学生年龄的输入范围为 16~40,则根据黑盒测试中的等价类划分技术,下面划分正确的是 。
A 可划分为 2 个有效等价类,2 个无效等价类
B 可划分为 1 个有效等价类,2 个无效等价类
C 可划分为 2 个有效等价类,1 个无效等价类
D 可划分为 1 个有效等价类,1 个无效等价类

5、逻辑路径覆盖法是白盒测试用例的重要设计方法,其中语句覆盖法是较为常用的方法,针对下面的语句段,采用语句覆盖法完成测试用例设计,测试用例见下表,对表中的空缺项(True或者False),正确的选择是( )。
语句段:

if (A && (B||C)) x=l;
else x=0

用例表:
在这里插入图片描述

A.①TRUE ②FALSE ③TRUE     B.①TRUE ②FALSE ③FALSE
C.①FALSE ②FALSE ③TRUE    D.①TRUE ②TRUE ③FALSE

6、使用白盒测试方法时,确定测试数据的依据是指定的覆盖标准和 。
A 程序的注释 B 程序的内部逻辑
C 用户使用说明书 D 程序的需求说明

7、下列测试工具中,使用 执行代码静态结构分析。
A SmartBits B Logiscope C QTP D LoadRunner

8、下述关于缺陷处理流程管理的原则, 的说法是不正确的。
A 为了保证正确地定位缺陷,需要有丰富测试经验的测试人员验证发现的缺陷是否是真正的缺陷,并且验证缺陷是否可以再现。
B 每次对缺陷的处理都要保留处理信息,包括处理人姓名、处理时间、处理方法、处理意见以及缺陷状态
C 缺陷修复后应该由报告缺陷的测试人员确认缺陷已经修复,才能关闭缺陷
D 对于无法再现的缺陷,只需项目经理决定拒绝或者延期

9、对于业务流清晰的系统可以利用______贯穿整个测试用例设计过程。在用例中综合使用各种测试方法,对于参数配置类的软件,要用______选择较少的组合方式达到最佳效果,如果程序的功能说明中含有输入条件的组合情况,则一开始就可以选用______和决策法。
 A 场景法、功能图法、正交试验法
 B 场景法、正交试验法、因果图法
 C 场景法、因果图法、边界值法
D 场景法、因果图法、等价类划分

10、 测试模型强调了测试计划等工作的先行和对系统需求和系统设计的测试。
A.V模型 B、W模型 C、H模型 D、螺旋模型

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

1、第三方测试就是由开发人员和测试员以外的人员进行测试。 ( )
2、静态白盒测试可以找出遗漏之处和问题。 ( )
3、验收测试是由最终用户来实施的。 ( )
4、良好的单元测试可以取代集成测试。 ( )
5、自顶向下集成需要测试员编写驱动程序。 ( )
6、面向对象软件中的抽象类由于无法实例化,所以不能测试。 ( )
7、自动化测试一旦引入企业或项目组,可以立即缩短测试的进度。( )
8、测试用例的设计应由专门的人来设计,并且满足自清除性。 ( )
9、缺陷打开关闭曲线是最基本的缺陷分析表,当累积关闭缺陷曲线与累积打开缺陷曲线交于一点,表明测试活动可以结束了。 ( )
10、集成测试也叫做组装测试,通常在编码完成的基础上,将所有的程序模块进行有序的、递增的测试。 ( )

得分 评阅人

三、填空题(每题1分,共10分)
1、Junit的使用。

import java.io.*;
public class MyPoint{
 	private int _x, _y; // position of the point
 	public MyPoint(){
 		System.out.println( "Default construction of MyPoint." );
 		_x = 1;
 		_y = 1;
 		}
 		
 	public MyPoint( int x, int y ){
 		System.out.println( "Construction of MyPoint with positions." );
 		_x = x;
 		_y = y;
 		}
  	public int X(){ return _x; }
 	public int Y(){ return _y; }	
 	
 	}

测试代码:

import junit.framework.TestCase;
import junit.framework.TestResult; 
public class MyPointTest extends      1    {
	public MyPoint pt1, pt2;
	public MyPointTest( String name ){
		super( name );
		}
	protected void setUp(){
		System.out.println( "setUp" );
		pt1 = new MyPoint();
		pt2 = new MyPoint( 9, 10 );
		}
	protected void tearDown(){
		pt1 =     2     ;
		pt2 =     2     ;
		System.out.println( "tearDown" );
		}
	public void testDefaultConstruction(){
 		System.out.println( "\ntestDefaultConstruction:" );
 		    3    ( (pt1.X()==1 && pt1.Y()==1) );
	}
	public void testConstruction(){
		System.out.println( "\ntestConstruction:" );
		     4     ( (pt2.X()9);
    4      ( (pt2.Y()10);
		}
		
	public static void main( String[] args ){
		junit.textui.TestRunner.run(       5         );
		}
}

2、单元测试在实现阶段进行,它所依据的模块功能描述和内部细节以及测试方案应在 _ 6_ 阶段完成,目的是发现编程缺陷。集成测试所依据的模块说明书和测试方案应在 7_ 阶段完成,它能发现设计缺陷。系统测试应在模拟的环境中进行强度测试的基础上进行,测试计划应在 8 阶段完成。
3、测试过程中,__9__用于描述测试的整体方案,__10__描述依据测试用例找出的问题。

四、名词解释题(每题 5 分,共 20 分)   
1、软件缺陷(正式定义)
2、测试和测试
3、测试的配置管理
4、桩模块和驱动模块

五、简答题(14分)   
1、分析单元测试和代码调试的区别。(6分)
2、软件测试是与软件开发密切相关的一系列有计划的活动,在软件测试过程模型“W模型”的指导下,开发过程中应该包括哪些不同类型的测试活动。(8分)

六、综合题 ( 26 分) (无详细步骤不得分)  
1、某城市电话号码由三部分组成,分别是:
地区码—— 空白或 4 位数字;
前缀——为3位数字,但不能以“0”,“1”开头;
后缀——4 位数字。
假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。下表中列举出每个输入条件的有效等价类和无效等价类,请将(a)~(j)填写完整。(10 分)
在这里插入图片描述

2、找出下面程序关于变量flow的高风险路径。(6分)

void comput_flow( int t ){	
1.double a,b,c;
2.double flow=0;
3.double total=0;
4.while( t<6 ){
5.  total=a+b;
6.  if( total<10 )
7.    c=total*0.5;
8.  else
9.    c=total*0.6;
10.  flow=flow+c;
11.  t=t+1;
    }
12.printf("flow=%f\n",flow);
13.}

【问题1】找出变量flow的定义节点和使用节点。(2分)
【问题2】找出变量flow的定义/使用节点对。(2分)
【问题3】找出变量flow的高风险路径并说明原因。(2分)

3、基本路径法设计出的测试用例能够保证在测试中程序的每一条可执行语句至少执行一次。以下代码由C语言书写,其程序流图如右图所示,请按要求回答问题。(10分)
在这里插入图片描述

int sort( int Num, int Type ){
1: int x = 0;
2: int y = 0;
3: while (Num > 0) {
4:   if( Type = = 0 )
5:     x = y + 2;
    else {
6:     if( Type = = 1 )
7:       x = y + 5;
      else
8:       x = y + 10;
    }
9:   Num--;
   }
10: return x;
  }

【问题1】请计算程序流图的圈复杂度V(G)。(2 分)
【问题2】找出独立路径。(4 分)
【问题3】请使用基本路径测试法设计测试用例。(4 分)

答案

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相关文章:

  • 智能家居创意DIY之智能灯泡
  • Linux——磁盘在网络中共享
  • 【Git】一文带你入门Git分布式版本控制系统(创建合并分支、解决冲突)
  • Spring Boot骚操作-多数据源Service层封装
  • 信贷--------
  • Qt编写雷达模拟仿真工具1-背景布局
  • Java中常见的文件操作
  • 强强联合,怿星科技艾拉比携手斩获“铃轩奖”
  • Linux下的目录结构Linux基本命令(程序员必学)
  • Linux系统之源码编译部署Redis数据库
  • 【英语面试】七.计算机研究生面试自我介绍范文5篇(英文)
  • BOSS直聘自动投简历聊天机器人的实现过程
  • 亚马逊---人工智能入门---学习笔记
  • 用纯python脚本玩转UU加速器
  • Python实现FA萤火虫优化算法优化支持向量机分类模型(SVC算法)项目实战
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • Android组件 - 收藏集 - 掘金
  • AngularJS指令开发(1)——参数详解
  • create-react-app做的留言板
  • hadoop集群管理系统搭建规划说明
  • in typeof instanceof ===这些运算符有什么作用
  • JavaScript的使用你知道几种?(上)
  • Just for fun——迅速写完快速排序
  • Linux学习笔记6-使用fdisk进行磁盘管理
  • mysql innodb 索引使用指南
  • PHP CLI应用的调试原理
  • php的插入排序,通过双层for循环
  • React Transition Group -- Transition 组件
  • Sequelize 中文文档 v4 - Getting started - 入门
  • Stream流与Lambda表达式(三) 静态工厂类Collectors
  • vue学习系列(二)vue-cli
  • 代理模式
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • 浅谈Kotlin实战篇之自定义View图片圆角简单应用(一)
  • 浅析微信支付:申请退款、退款回调接口、查询退款
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 十年未变!安全,谁之责?(下)
  • 小程序button引导用户授权
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • # 执行时间 统计mysql_一文说尽 MySQL 优化原理
  • #vue3 实现前端下载excel文件模板功能
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (附表设计)不是我吹!超级全面的权限系统设计方案面世了
  • (附源码)spring boot建达集团公司平台 毕业设计 141538
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122
  • (强烈推荐)移动端音视频从零到上手(下)
  • (十)T检验-第一部分
  • .net core webapi 大文件上传到wwwroot文件夹
  • .Net(C#)常用转换byte转uint32、byte转float等
  • .Net8 Blazor 尝鲜
  • @Documented注解的作用
  • @JSONField或@JsonProperty注解使用
  • [ NOI 2001 ] 食物链
  • [⑧ADRV902x]: Digital Pre-Distortion (DPD)学习笔记
  • [AS3]URLLoader+URLRequest+JPGEncoder实现BitmapData图片数据保存