当前位置:文档之家› 软件测试考试复习题

软件测试考试复习题

1.软件开发模式的特点(优缺点)。

瀑布模型:优点:易于理解,开发具有阶段性、强调早期的计划及需求分析、基本可能
2.简述测试与调试及其区别。

1、目的不同
软件测试的目的是发现错误,至于找出错误的原因和错误发生的地方不是软件测试的任务,
而是调试的任务.调试的目的是为了证明程序的正确,因此它必须不断地排除错误.
它们的出发点不一样。

前者是挑错,是一种挑剔过程,属于质盘保证活动。

后者是排错,是一种排除过程,是编码活动的一部分.
2、任务不同
既然软件测试属于质量保证活动,因此它贯穿于整个开发过程.从需求分析开始,
就要制订软件测试计划,软件设计时要设计系统软件测试、集成侧试用例,
编码阶段要设计单元软件测试用例并进行单元软件测试,
软件测试阶段要进行集成软件测试、系统软件测试等,直到产品交付。

只要有修改就有软件测试,产品交付后同样。

它是比较有规律的活动,有系统的方法、原则作指导。

而调试是编码活动的一部分,因此有编码就有调试.它的任务主要就是排错。

调试的方法经常与使用的开发工具有关,例如:解释型的开发工具可以交互式调试,编译型开发工具就很难较好地查错。

当然它有一些启发式的方法,它是一种比较依赖开发人员经验的活动。

3、指导原则和方法不同
软件侧试是一种有规律的活动,
有一系列软件软件测试的原则.其中主要是制订侧试计划,
然后严格执行.其次是一种挑剔性行为,因此它不但要侧试软件应该做的,
还需要侧试软件不应该做的事情。

调试所遵循的规律主要是一些启发式规则,
是一个推理过程。

例如使用归纳法、演绎法、回溯法等。

软件测试的输出是预知的,其软件测试用例必须包括预期的结果,
而调试的输出大多是不可预见的,需要调试者去解释、去发现产生的原因。

4、操作者
因为心理状态是软件测试程序的障碍,所以执行软件测试的人一般不是开发人员,
以使软件测试更客观、更有效,而调试人员一般都是开发人员.
3.非增量式测试。

非增量式测试(No-Incremental Integration)也称做大爆炸集成。

分别对系统中每个模块进行集成测试,然后将所有模块按层次结构图组装到一起进行测试,最终得到所要求的软件。

4.自顶向下增量式测试(广度、深度)。

表示逐步测试是按照结构图自上而下进行的,即模块集成顺序是,首先集成主控模块,然后依照控制层次结构自下进行集成。

从属于主控模块的按深度优先方式或者广度优先方式集成到结构中去。

5.自底向上增量式测试。

表示逐步集成是按结构图自下而上进行的。

由于从底层集成,所以不再需要使用桩模块进行辅助测试。

6.输入三个整数a、b、c分别作为三角形的三条边,现通过程序判断由三条边构成的三角形类型为等边三角形、等腰三角形、一般三角形以及构不成三角形。

请写出三边需要满足的条件并用边界值分析测试用例设计。

7.用等价类划分方法找出有效等价类和无效等价类,并作出测试用例。

某城市电话号码由三部分组成,内容如下:第一部分是地区码,地区码可以是空白或三位数字;第二部分是前缀为非零和非一开头的三位数;第三部分是后缀为四位数。

输入条件有效等价类编号无效等价类编号地区码空白或三位数 1 非空,不是三位数, 2
不是数字
前缀非零和
非一开头三位数 3 零,一开头三位数, 4
非一开头的非三位数
后缀四位数 5 非四位数 6 8.设有一个档案管理系统,要求用户输入以年月表示的日期。

假设日期限定在1990年1月~2049年12月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月。

现用等价类划分法设计测试用例,来测试程序的"日期检查功能"。

9.输入:用户密码
要求:
1)用户密码为6到8位。

2)必须含有字母和数的组合。

输出:如正确,输出正确的信息。

否则,输出相应的错误信息。

请结合等价类划分法设计出相应的测试用例。

10.有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。

其规格说明如下:若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。

若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。

11.NextDate函数的边界值分析测试用例
在NextDate函数中,隐含规定了变量mouth和变量day的取值范围为1≤mouth≤12和1≤day≤31,并设定变量year的取值范围为1912≤year≤2050 。

(6n+1)
12.画出程序的程序流程图(用题中给出的语句编号表示),分别以语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖设计测试用例,并写出每个测试用例的执行路径。

void DoWork (int x,int y,int z)
{
1 int k=0,j=0;
2 if ( (x>3)&&(z<10) )
3 {
4 k=x*y-1;
5 j=sqrt(k);
6 }
7 if ( (x==4)||(y>5) )
{
8 j=x*y+10;
}
9 j=j%3;
}
13.画出程序的程序流程图(用题中给出的语句编号表示),分别以语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖设计测试用例,并写出每个测试用例的执行路径。

void Do (intX,int A,int B)
{
1if ((A>1)&&(B=0))
2X=X/A;
3If ((A=2)||(X>1))
4X=X+1;
5}
14.测试用例应表述的信息有哪些?15.什么是自动化测试及其优点?。

相关主题