不定项选择题:
1.下面有关软件缺陷的说法中错误的是( )。
A.缺陷就是软件产品在开发中存在的问题
B.缺陷就是软件维护过程中存在的错误、毛病等各种问题
C.缺陷就是导致系统程序崩溃的错误
D.缺陷就是系统所需实现的某种功能的失效或违背
参考答案 ABC
缺陷的产生伴随着软件整个生命周期,从软件的需求一直到软件的下线、停止使用
ABC三个选项从某一方面说是有道理的,但不全面,有以偏概全的错误
2.功能或特性没有实现,主要功能部分丧失,次要功能完全丧失,或致命的错误声明,这属于软件缺陷级别中的( )。
A.致命缺陷
B.严重缺陷
C.一般缺陷
D.微小缺陷
参考答案 B
致命的:致命的错误,造成系统或应用程序崩溃、死机、系统悬挂,或造成数据丢失、主要功能完全丧失等
严重的:严重错误,指功能或特性没有实现,主要功能部分丧失,次要功能完全丧失,或致命的错误声明
一般的:不太严重的错误,这样的软件缺陷虽然不影响系统的基本使用,但没有很好地实现功能,没有达到预期效果。如次要功能丧失,提示信息不太准确,或用户界面差,操作 时间长等
微小的:一些小问题,对功能几乎没有影响,产品及属性仍可使用,如有个别错别字、文字排列不整齐等
3.下面说法正确的是( )。
A.软件测试仅是在编程之后进行的测试。
B.需求规格说明、概要设计规格说明、详细设计规格说明、源程序这些并不全是软件测试的对象。
C.测试配置是软件配置的一个子集。
D.错误发现的越晚,改正的代价就越大,这个代价是呈现接近线性增长的趋势。
参考答案 C
选项D看上去好像是正确的,但实际上研究表明:错误发现的越晚,改正的代价就越大,这个代价是呈现接近对数增长的趋势(出自Ron Patton 出版的 Software Testing 第一 章的The Cost of Bugs/FIGURE1.2/Page 18)
4.下列关于软件测试策略的叙述中不正确的是( )。
A.增量测试的主要问题在于需要额外编写很多特殊的测试程序
B.静态测试与动态测试都要执行程序
C.Myers认为自底向上测试方法要优于自顶向下测试的方法
D.软件性能测试的目标之一是为了提高性能
参考答案 B
B选项的错误很明显,静态测试是不需要执行测试程序的
简答题:
5.有函数f(x,y,z),其中x∈[1900,2100],y∈[1,12],z∈[1,31]的。请写出该函数采用基本边界值分析法设计的测试用例?
首先要了解测试用例的设计原则:
一是需要设计正常的测试用例和异常测试用例
二是在设计正常测试用例时尽可能多的包括正确的情况(减少测试用例)
三是在设计异常测试用例时,一次只可覆盖一个异常情况
了解了如上情况之后呢,接下来就是要找出各个参数的边界值(默认取值为整数)
下面的边界值中,中间两个是有效的边界,两边的是无效的边界
X:1899,1900,2100,2101
Y:0,1,12,13
Z:0,1,31,32
下面开始设计测试用例
正常测试用例:
f(1900,1,1) f(2100,12,31)
按照测试用例的设计理论,有上面的两个已经可以完成测试
当然,如果时间充分,我们也可以把各个有效的边界值进行一个排列组合 2*2*2=8 个
f(1900,1,1) f(1900,1,31) f(1900,12,1) f(1900,12,31)
f(2100,1,1) f(2100,1,31) f(2100,12,1) f(2100,12,31)
异常测试用例:
针对x的取值进行测试
f(1899,1,1) f(2101,12,31)
针对y的取值进行测试
f(2100,0,31) f(2100,13,31)
针对z的取值进行测试
f(1900,12,0) f(1900,12,32)
异常的测试用例我们还可以执行更多,但上面的6个测试用例是最少的,不能更少了
所以,最少的测试用例至少为8个,完整的测试用例数量为14个
因为题中只说到使用边界值进行测试,所以其他的测试用例设计就不在此赘述
此题的设计方式与51Testing网站上公布的答案存在一定的差异
题目及部分解释来自:51testing测试知识大闯关第二期