文章目录
- 试卷
- 答案
试卷
一、选择题(每题 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 分)
答案