《软件测试技术》期末复习

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(2)分别以语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖和路径覆盖方
法设计测试用例,并写出每个测试用例的执行路径。
5.以下代码用于判断闰年,由C语言书写。其对应的控制流图如下图所示。
请按要求回答问题。(15分)
int isLeap(int year)
{ int leap;
if (year % 4 = = 0)
(C)是指使用各种硬件来测试软件操作的过程 (D) 检查缺陷是否有效改正
19.下列各项中___不是一个测试计划所应包含的内容 ( )
(A)测试资源、进度安排 (B)测试预期输出
(C)测试范围 (D)测试策略
20.下列不属于正式审查的方式是 ( )
(A) 同事审查
(B) 公开陈述
(C) 检验
(D) 编码标准和规范
8.找出的软件缺陷越多,说明剩下的软件缺陷越少。(×)
9.最重要的用户界面要素是软件符合现行标准和规范。(√)
10.测试应从“大规模”开始,逐步转向“小规模”。 (×)
三、填空题
1.软件缺陷产生的原因包括__编写说明书__、设计、___编写代码___以及其他原因。
2.软件开发模型包括__瀑布模型__、原型模型、__快速应用开发模型___、螺旋模型等。
(B)取一切可能的输入数据作为测试数据;
(C)在完成编码以后制定软件的测试计划;
(D)选择发现错误可能性大的数据作为测试数据。
4.侧重于观察资源耗尽情况下的软件表现的系统测试被称为 ( )
(A)可靠性测试(B)压力测试
(C)容量测试(D)性能测试
5.必须要求用户参与的测试阶段是 ( )
(A)单元测试(B)集成测试
(B)发现软件错误征兆的过程
(C)有计划的、可重复的过程
(D)消除软件错误的过程
13.下列说法不正确的是 ( )
(A)测试不能证明软件的正确性;
(B)测试员需要良好的沟通技巧;
(C)QA侧重对过程的管理与控制,testing侧重对过程管理与控制策略进行实施;
(D)成功的测试是发现了错误的测试。
14.对Web网站进行的测试中,属于功能测试的是 ( )
this.lborderB = lborderB;
this.lborderC = lborderC;
}
public boolean isTriangle(Triangle triangle)
{
boolean isTrue = false;
if((triangle.lborderA>0&&triangle.lborderA<200) &&(triangle.lborderB>0&&triangle.lborderB<200) &&(triangle.lborderC>0&&triangle.lborderC<200))
isTrue = true;
}
return isTrue;
}
public String isType(Triangle triangle)
{
String strType = "";
if(this.isTriangle(triangle))
{
if(triangle.lborderA==triangle.lborderB&&triangle.lborderB==triangle.lborderC)
strType = "等边三角形";
else if((triangle.lborderA!=triangle.lborderB)&&
(triangle.lborderB!=triangle.lborderC)&& (triangle.lborderA!=triangle.lborderC))
strType = "不等边三角形";
3.黑盒测试用例设计方法包括___等价类划分___、__边界值分析法____以及因果图法,错误推测法等。
4.测试过程中,___测试计划____描述用于描述测试的整体方案,__缺陷报告___描述依据测试用例找出的问题。
5.传统的等价类划分测试的实现分两步进行,一是_划分等价类表____,二是设计相应的测试用例。
一、单项选择题:
1.在软件生命周期的哪一个阶段,软件缺陷修复费用最低 ( )
(A)需求分析(编制产品说明书) (B)设计
(C)编码(D)产品发布
2.单元测试中用来模拟被测模块调用者的模块是 ( )
(A)父模块(B)子模块
(C)驱动模块(D)桩模块
3.为了提高测试的效率,应该 ( )
(A)随机地选取测试数据;
{
if((triangle.lborderA<(triangle.lborderB+triangle.lborderC))
&&(triangle.lborderB<(triangle.lborderA+triangle.lborderC))
&&(triangle.lborderC<(triangle.lborderA+triangle.lborderB)))
8.不需要修复软件缺陷的原因包括_没有时间__、不能算真正的软件缺陷、_风险太大__、不值得修复。
9.白盒测试又称为_结构测试或逻辑驱动测试_,黑盒测试又称为__功能测试或数据驱动测试或基于规格说明书的测试__。
10.动态测试的两个基本要素是_被测试程序__、__测试数据(测试用例)_。
11.
public class Triangle {
}
public static void main(String[] args){
junit.textui.TestRunner.run(6);
}
1、TestCase 2、Triangle 3、assertTrue 4、isTriangle(triangle)
5、“等腰三角形”6、exampletest.class
6.在兼容性测试中,___向后兼容_是指可以使用软件的以前版本, __向前兼容___是指可以使用软件的未来版本。
7.测试工作就是进行输入、接受输出、检验结果,不深入代码细节,这样的测试方法称为__动态黑盒测试,在不执行代码的条件下有条理地仔细审查软件设计、体系结构和代码,从而找出软件缺陷的测试方法称为__静态白盒测试_。
【问题3】假设输入的取值范围是1000 < year < 2001,请使用基本路径测试法
为变量year设计测试用例,使其满足基本路径覆盖的要求。(8分)
四、名词解释:
1.软件缺陷
2.β测试
3.测试的配置管理
4百度文库测试用例
5.黑盒测试
五、简答题:
1.如何划分等价类?
2. 简述增量式集成测试的自顶向下和自底向上两种测试方法。
3.分析单元测试和代码调试的区别。
六、综合题
1.某公司招聘人员,其要求为:学历:本科及以上;专业:计算机、通信、
自动化;年龄:22-30岁。请划分出各条件的有效等价类和无效等价类。
(C)确认测试(D)验收测试
6.软件测试员究竟做些什么。 ( )
(A)软件测试员的目的是发现软件缺陷
(B)软件测试员的目的是发现软件缺陷,尽可能早一些
(C) 软件测试员的目的是发现软件缺陷,尽可能早一些,并尽量确保其得以修复
(D)软件测试员的目的是发现软件缺陷,尽可能早一些,并将其得以修复
7.软件测试的目的是 ( )
(A)发现程序中的所有错误 (B)尽可能多地发现程序中的错误
(C)证明程序是正确的 (D)调试程序
8.不属于单元测试内容的是 ( )
(A)模块接口测试(B)局部数据结构测试
(C)路径测试(D)用户界面测试
9.划分软件测试属于白盒测试还是黑盒测试的依据是 ( )
(A)是否执行程序代码
(B)是否能看到软件设计文档
(10分)
2使用逻辑覆盖测试方法测试以下程序段。(15分)
void Do (int X,int A,int B)
{
1 if ( (A<4)&&(B=5) )
2 X=X/A;
3 if ( (A=2) || (X>1) )
4 X=X+1;
5 }
说明:程序段中每行开头的数字(1至5)是对每条语句的编号。
(1)画出程序的控制流图(用题中给出的语句编号表示)。
(B)程序的内部逻辑
(C)用户使用说明书
(D)程序的需求说明
17.下列___不是软件自动化测试的优点 ( )
(A)速度快、效率高 (B)准确度和精确度高
(C)能提高测试的质量 (D)能充分测试软件
18. 配置测试 ( )
(A)是指检查软件之间是否正确交互和共享信息 (B) 是交互适应性、实用性和有效性的集中体现
(A)连接速度测试 (B)链接测试
(C)平台测试
(D)安全性测试
15.在进行单元测试时,常用的方法是 ( )
(A)采用黑盒测试,辅之以白盒测试;
(B)采用白盒测试,辅之以黑盒测试;
(C)只使用黑盒测试;
(D)只使用白盒测试。
16.使用白盒测试方法时,确定测试数据的依据是指定的覆盖标准和 ( )
(A)程序的注释
super.setUp();
triangle=new Triangle(12,12,13);
}
public void testIsTriangle() {
____3_____(triangle.__ ___4_____);
}
public void testIsType()
{
assertEquals(triangle.isType(triangle),__ ___5____);
protected long lborderA = 0;
protected long lborderB = 0;
protected long lborderC = 0;
public Triangle(long lborderA,long lborderB,long lborderC)
{
this.lborderA = lborderA;
二、判断题:
1.好的测试员不懈追求完美。(×)
2.软件测试是有效的排除软件缺陷的手段。(√)
3.程序员与测试工作无关。(×)
4.程序员兼任测试员可以提高工作效率。(×)
5.产品说明书(需求文档)的变更应当受到控制。(√)
6.软件测试工具可以代替软件测试员。(×)
7.软件开发全过程的测试工作都可以实现自动化。(×)
else
strType="等腰三角形";
}
return strType;
}
}
测试代码:
import junit.framework.TestCase;
public class exampletest extends1{
public ______2_____ triangle;
protected void setUp() throws Exception {
{
if (year % 100 = = 0)
{
if ( year % 400 = = 0)
leap = 1;
else
leap = 0;
}
else
leap = 1;
}
else
leap = 0;
return leap;
}
【问题1】请计算上述控制流图的圈复杂度V(G)(独立线性路径数)。(3分)
【问题2】找出独立路径。(4分)
(C)是否能看到被测源程序
(D)运行结果是否确定
10.下列项目中不属于测试文档的是 ( )
(A)测试计划(B)测试用例
(C) 程序流程图 (D)测试报告
11._____把黑盒测试和白盒测试的界限打乱了。 ( )
(A) 灰盒测试 (B)动态测试
(C)静态测试 (D)失败测试
12.调试是 ( )
(A)发现与预先定义的规格和标准不符合的问题
相关文档
最新文档