软件测试 例题分析

软件测试 例题分析
软件测试 例题分析

例题分析

【例1】为了把握软件开发各个环节的正确性和协调性,人们需要进行( A )和( B )工作。( A )的目的是想证实在一给定的外部环境中软件的逻辑正确性。它包括( C )和( D ),( B )则试图证明在软件生存期各个阶段,以及阶段间的逻辑( E )、( F )和正确性。

供选择的答案:

A, B. ①操作②确认③验证④测试⑤调试

C, D.①用户的确认②需求规格说明的确认

③程序的确认④测试的确认

E, F. ①可靠性②独立性③协调性④完备性⑤扩充性答案:A.② B. ③ C. ② D. ③ E. ③ F. ④

分析:到程序的测试为止,软件开发工作已经经历了许多环节,每个环节都可能发生问题。为了把握各个环节的正确性,人们需要进行各种确认和验证工作。

所谓确认,是一系列的活动和过程,其目的是想证实在一个给定的外部环境中软件的逻辑正确性。它包括需求规格说明的确认和程序的确认,而程序的确认又分为静态确认与动态确认。静态确认一般不在计算机上实际执行程序,而是通过人工分析或者程序正确性证明来确认程序的正确性;动态确认主要通过动态分析和程序测试来检查程序的执行状态,以确认程序是否有问题。

所谓验证,则试图证明在软件生存期各个阶段,以及阶段间的逻辑协调性、完备性和正确性。下图中所示的就是软件生存期各个重要阶段之间所要保持的正确性。它们就是验证工作的主要对象。

确认与验证工作都属于软件测试。在对需求理解与表达的正确性、设计与表达的正确性、实

现的正确性以及运行的正确性的验证中,任何一个环节上发生了问题都可能在软件测试中表现出来。

【例2】测试过程需要三类输入:( A )、( B )和( C )。请选择正确的答案填入下图中以完成测试信息处理的全过程。

供选择的答案:

A ~ C. ① 接口选择 ② 软件配置 ③ 硬件配置 ④ 测试配置 ⑤ 测试环境 ⑥ 测试工具

D ~ F. ① 排错 ② 可靠性分析 ③ 结果分析 ④ 数据分类 答案:A. ② B. ④ C. ⑥ D. ③ E. ① F. ②

分析:测试信息流如图所示。测试过程需要三类输入:

(1)软件配置:包括软件需求规格说明、软件设计规格说明、源代码等;

(2)测试配置:包括表明测试工作如何进行的测试计划、给出测试数据的测试用例、控制测试进行的测试程序等;实际上,测试配置是软件配置的一个子集。

(3)测试工具:为提高软件测试效率,测试工作需要有测试工具的支持,它们的工作就是为测试的实施提供某种服务。例如,测试数据自动生成程序、

静态分析程序、动态分析程序、测试结果分析程序、以及驱动测试的测试数据库等等。

测试之后,要对所有测试结果进行分析,即将实测的结果与预期的结果进行比较。如果发现出错的数据,就意味着软件有错误,然后就需要开始排错(调试)。即对已经发现的错误进行错误定位和确定出错性质,并改正这些错误,同时修改相关的文档。修正后的文档一般都要经过再次测试,直到通过测试为止。通过收集和分析测试结果数据,开始对软件建立可靠性模型。

测试信息流

A B

C

D

E

F

最后,如果测试发现不了错误,那么几乎可以肯定,测试配置考虑得不够细致充分,错误仍然潜伏在软件中。这些错误最终不得不由用户在使用中发现,并在维护时由开发者去改正。但那时改正错误的费用将比在开发阶段改正错误的费用要高出40倍到60倍。

【例3】软件测试是软件质量保证的主要手段之一,测试的费用已超过( A )的30%以上。因此,提高测试的有效性十分重要。“高产”的测试是指( B )。根据国家标准GB 8566–88《计算机软件开发规范》的规定,软件的开发和维护划分为8个阶段,其中,单元测试是在( C )阶段完成的,集成测试的计划是在( D )阶段制定的,确认测试的计划是在( E )阶段制定的。

供选择的答案:

A. ①软件开发费用②软件维护费用③软件开发和维护费用

④软件研制费用⑤软件生存期全部

B. ①用适量的测试用例运行程序,证明被测程序正确无误

②用适量的测试用例运行程序,证明被测程序符合相应的要求

③用少量的测试用例运行程序,发现被测程序尽可能多的错误

④用少量的测试用例运行程序,纠正被测程序尽可能多的错误

C E. ①可行性研究和计划②需求分析③概要设计

④详细设计⑤实现⑥集成测试

⑦确认测试⑧使用和维护

答案:A. ① B. ③ C. ⑤ D. ③ E. ②

分析:由于原始问题的复杂性,软件本身的复杂性和抽象性,软件开发各个阶段工作的多样性,以及参加开发各种层次人员之间工作的配合关系等因素,使得开发的每个环节都可能产生错误。这些错误和缺陷如果在软件交付投入生产性运行之前不能加以排除的话,在运行中迟早会暴露出来。但到那时,不仅改正这些错误的代价更高,而且往往造成很恶劣的后果。因此,为了保证所开发软件的质量,测试是不可少的。测试的任务就是设计出测试用例,运行被测程序,发现软件中隐藏的的各种错误。目前在大中型软件项目的开发中。测试占据着重要的地位,测试所花费费用已超过软件开发费用的70%以上。

如何组织好测试,特别是如何选择好的测试用例,对于降低测试费用,保障测试质量有着重要的意义。一个高效的、或“高产”的测试,是指设计少量的测试用例,用它们来运行程序,发现被测程序的尽可能多的问题。

测试按照测试的内容可分为三种:单元测试(对程序单元或模块单独进行测试)、集成测试(把已通过单元测试的模块按照设计的要求组装起来,测试模块间的接口以及设计中的问题)和确认测试(对软件的有效性做全面测试,以确定开发的软件是否符合验收标准)。

根据国标GB 8566–88《计算机软件开发规范》的规定,软件的开发和维护划分为8个阶段:可行性研究及计划、需求分析、概要设计、详细设计、实现、集成测试、确认测试、使用维护,并且规定,单元测试是在实现阶段完成的,集成测试的计划应当在概要设计阶段制定的,确认测试的计划应当在需求分析阶段制定的。

【例4】集成测试也叫做( A )或( B )。通常,在( C )的基础上,将所有模块按照设计要求组装成为系统。子系统的集成测试特别称为( D ),它所做的工作是要找出子系统和系统需求规

格说明之间的( E )。需要考虑的问题是:在把各个模块连接起来

的时侯,穿越模块接口的数据是否会( F );一个模块的功能是

否会对另一个模块的功能产生不利的影响;各个(G )组合起来,

能否达到预期要求的(H );(I )是否有问题;单个模块的误

差累积起来是否会放大。

供选择的答案:

A ~ D. ①单元测试②部件测试③组装测试

④系统测试⑤确认测试⑥联合测试

E ~ I. ①子功能②丢失③父功能④局部数据结构

⑤全局数据结构⑥不一致⑦一致

答案:A. ③ B. ⑥ C. ① D. ② E. ⑥ F. ②G. ①H. ③I. ⑤

A、B的答案可互换

分析:集成测试也叫做组装测试或联合测试。通常,在单元测试的基础上,将所有模块按照设计要求组装成为系统。子系统的集成测试特别称为部件测试,它所做的工作是要找出子系统和系统需求规格说明之间的不一致。这时需要考虑的问题是:

(1) 在把各个模块连接起来的时侯,穿越模块接口的数据是否会丢失;

(2) 一个模块的功能是否会对另一个模块的功能产生不利的影响;

(3) 各个子功能组合起来,能否达到预期要求的父功能;

(4) 全局数据结构是否有问题;

(5) 单个模块的误差累积起来是否会放大。

【例5】如图所示的程序有四条不同的路径。分别表示为L1(a→c→e)、L2(a→b→d)、L3(a→b→e) 和L4(a→c→d),或简写为ace、abd、abe 及acd。由于覆盖测试的目标不同,逻辑覆盖方法可以分为语句覆盖、

判定覆盖、条件覆盖、判定–条件覆盖、条件组合覆盖和路径覆盖。

从备选的答案中选择适当的测试用Array例与之匹配。( A )属于语句覆

盖;( B )、( C )属于判定覆

盖;( D )、( E )属于条件覆

盖;( F )、(G )属于判定–

条件覆盖;(H )属于条件组合

覆盖;(I )属于路径覆盖。

供选择的答案:

A. ~ I. ①【(2,0,4),(2,0,3)】覆盖ace;

【(1,1,1),(1,1,1)】覆盖abd;

②【(1,0,3),(1,0,4)】覆盖abe;

【(2,1,1),(2,1,2)】覆盖abe;

③【(2,0,4),(2,0,3)】覆盖ace;

④【(2,1,1),(2,1,2)】覆盖abe;

【(3,0,3),(3,1,1)】覆盖acd;

⑤【(2,0,4),(2,0,3)】覆盖ace;

【(1,0,1),(1,0,1)】覆盖abd;

【(2,1,1),(2,1,2)】覆盖abe;

⑥【(2,0,4),(2,0,3)】覆盖ace

【(1,1,1),(1,1,1)】覆盖abd;路径覆盖

【(1,1,2),(1,1,3)】覆盖abe;

【(3,0,3),(3,0,1)】覆盖acd;

⑦【(2,0,4),(2,0,3)】覆盖ace;

【(1,1,1),(1,1,1)】覆盖abd;条件组合

【(1,0,3),(1,0,4)】覆盖abe;

【(2,1,1),(2,1,2)】覆盖abe;

答案:A. ③ B. ① C. ④ D. ② E. ⑤ F. ①G. ⑤H. ⑦I. ⑥

B、C的答案可互换。D、E的答案可互换。F、G的答案可互换。

分析:(1) 语句覆盖

所谓语句覆盖就是设计若干个测试用例,运行被测程序,使得每一可执行语句至少执行一次。例如在本题所给出的例子中,正好所有的可执行语句都在路径L1上,所以选择路径L1设计测试用例,就可以覆盖所有的可执行语句。

测试用例的设计格式如下

【输入的(A, B, x),输出的(A, B, x)】

本题满足语句覆盖的测试用例是:

【(2, 0, 4),(2, 0, 3)】覆盖ace【L1】(答案③)

从程序中每个可执行语句都得到执行这一点来看,语句覆盖的方法似乎能够比较全面地检验每一个可执行语句。但需要注意的是,这种覆盖也绝不是完美无缺的。假设图中两个判断的逻辑运算有问题,例如,第一个判断中的逻辑运算符“∧”错写成了“∨”,或者第二个判断中的逻辑运算符“∨”错写成了“∧”,利用上面的测试用例,仍可覆盖所有4个可执行语句。这说明虽然做到了语句覆盖,但可能发现不了判断中逻辑运算中出现的错误。与后面所介绍的其它覆盖相比,语句覆盖是最弱的逻辑覆盖准则。

(2) 判定覆盖

所谓判定覆盖就是设计若干个测试用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次。判定覆盖又称为分支覆盖。对于本题所给出的例子,如果选择路径L1和L2,就可得满足要求的测试用例:

【(2, 0, 4),(2, 0, 3)】覆盖ace【L1】(答案①)

【(1, 1, 1),(1, 1, 1)】覆盖abd【L2】

如果选择路径L3和L4,还可得另一组可用的测试用例:

【(2, 1, 1),(2, 1, 2)】覆盖abe【L3】(答案④)

【(3, 0, 3),(3, 1, 1)】覆盖acd【L4】

所以,测试用例的取法不唯一。注意有例外情形,例如,若把图例中第二个判断中的条件x>1错写成x<1,那么利用上面两组测试用例,仍能得到同样结果。这表明,只是判定覆盖,还不能保证一定能查出在判断的条件中存在的错误。因此,还需要更强的逻辑覆盖准则去检验判断内部条件。

(3) 条件覆盖

所谓条件覆盖就是设计若干个测试用例,运行被测程序,使得程序中每个判断的每个条件的可能取值至少执行一次。例如在本题所给出的例子中,我们事先可对所有条件的取值加以标记。例如,

对于第一个判断:条件A>1 取真值为T1,取假值为T1

条件B=0 取真值为T2,取假值为T2

对于第二个判断:条件A=2 取真值为T3,取假值为

条件x>1 取真值为T4,取假值为T4

则可选取测试用例如下:

测试用例(答案⑤)通过路径条件取值覆盖分支

【(2, 0, 4),(2, 0, 3)】【(1, 0, 1),(1, 0, 1)】【(2, 1, 1),(2, 1, 2)】ace (L1)

abd (L2)

abe (L3)

T1T2T3T4

T1T2T3T4

T1T2T3T4

c,e

b,d

b,e

测试用例(答案②)通过路径条件取值覆盖分支

【(1, 0, 3),(1, 0, 4)】abe (L3) T1T2T3T4b,e

【(2, 1, 1),(2, 1, 2)】abe (L3) T1T2T3T4b,e

注意,前一组测试用例不但覆盖了所有判断的取真分支和取假分支,而且覆盖了判断中所有条件的可能取值。但是后一组测试用例虽满足了条件覆盖,但只覆盖了第一个判断的取假分支和第二个判断的取真分支,不满足判定覆盖的要求。为解决这一矛盾,需要对条件和分支兼顾,有必要考虑以下的判定-条件覆盖。

(4) 判定-条件覆盖

所谓判定-条件覆盖就是设计足够的测试用例,使得判断中每个条件的所有可能取值至少执行一次,同时每个判断本身的所有可能判断结果至少执行一次。换言之,即是要求各个判断的所有可能的条件取值组合至少执行一次。例如,对于本题所给例子中的各判断,若T1、T2、T3、T4及T1、T2、T3、T4的含意如前所述,则只需设计以下两个测试用例便可覆盖图中的8个条件取值以及4个判断分支。

测试用例(答案①)通过路径条件取值覆盖分支

【(2, 0, 4),(2, 0, 3)】ace (L1) T1T2T3T4c,e

【(1, 1, 1),(1, 1, 1)】abd (L2) T1T2T3T4b,d

判定-条件覆盖也有缺陷。从表面上来看,它测试了所有条件的取值。但是事实并非如此。因为往往某些条件掩盖了另一些条件。对于条件表达式(A>1)and(B=0)来说,若(A>1)的测试结果为真,则还要测试(B=0),才能决定表达式的值;而若(A>1)的测试结果为假,可以立刻确定表达式的结果为假。这时,往往就不再测试(B=0)的取值了。因此,条件(B=0)就没有检查。同样,对于条件表达式(A=2)or(X>1)来说,若(A =2)的测试结果为真,就可以立即确定表达式的结果为真。这时,条件(X>1)就没有检查。因此,采用判定-条件覆盖,逻辑表达式中的错误不一定能够查得出来。

(5) 条件组合覆盖

所谓条件组合覆盖就是设计足够的测试用例,运行被测程序,使得每个判断的所有可能的条件取值组合至少执行一次。现在我们仍来考察本题所给出的例子,先对各个判断的条件取值组合加以标记。例如,

记①A>1,B=0 作T1T2,属第一个判断的取真分支;

②A>1,B≠0 作T1T2,属第一个判断的取假分支;

③A≯1,B=0 作T1T2,属第一个判断的取假分支;

④A≯1,B≠0 作T1T2,属第一个判断的取假分支;

⑤A=2,x>1 作T3T4,属第二个判断的取真分支;

⑥A=2,x≯1 作T3T4,属第二个判断的取真分支;

⑦A≠2,x>1 作T3T4,属第二个判断的取真分支;

⑧A≠2,x≯1 作T3T4,属第二个判断的取假分支;

对于每个判断,要求所有可能的条件取值的组合都必须取到。在图中的每个判断各有两个条件,所以各有4个条件取值的组合。我们取4个测试用例,就可用以覆盖上面8种条件取值的组合。必须明确,这里并未要求第一个判断的4个组合与第二个判断的4个组合再进行组合。要是那样的话,就需要42=16个测试用例了。

测试用例(答案⑦)通过路径覆盖条件覆盖组合号

【(2, 0, 4),(2, 0, 3)】ace (L1) T1T2T3T4①,⑤

【(2, 1, 1),(2, 1, 2)】abe (L3) T1T2T3T4②,⑥

【(1, 0, 3),(1, 0, 4)】abe (L3) T1T2T3T4③,⑦

【(1, 1, 1),(1, 1, 1)】abd (L2) T1④,⑧

这组测试用例覆盖了所有条件的可能取值的组合,覆盖了所有判断的可取分支,但路径漏掉了L4。测试还不完全。

(6) 路径测试

路径测试就是设计足够的测试用例,覆盖程序中所有可能的路径。若还是看本题所给

测试用例(答案⑥)通过路径覆盖条件

【(2, 0, 4),(2, 0, 3)】ace (L1) T1T2T3T4

【(1, 1, 1),(1, 1, 1)】abd (L2) T2T3T4

【(1, 1, 2),(1, 1, 3)】abe (L3) T1T2T3T4

【(3, 0, 3),(3, 0, 1)】acd (L4) T1T2T3T4

【例6】下面是快速排序算法中的一趟划分算法,其中datalist 是数据表,它有两个数据成员:一是元素类型为Element 的数组V ,另一个是数组大小n 。算法中用到两个操作,一是取某数组元素V[i]的关键码操作getKey ( ),一是交换两数组元素内容的操作Swap( ):

int Partition ( datalist &list, int low, int high ) {

//在区间[ low, high ]以第一个对象为基准进行一次划分,k 返回基准对象回放位置。

int k = low ; Element pivot = list.V[low]; //基准对象 for ( int i = low+1; i <= high ; i++ ) //检测整个序列,进行划分 if ( list.V[i].getKey ( ) < pivot.getKey( ) && ++ k != i )

Swap ( list.V[k], list.V[i] );

//小于基准的交换到左侧去

Swap ( list.V[low], list.V[k] ); //将基准对象就位

return k ;

//返回基准对象位置

}

(1) 试画出它的程序流程图;

(2) 试利用路径覆盖方法为它设计足够的测试用例(循环次数限定为0次,1次和2次)。 答案:(1)流程图如下。

(2) 测试用例设计

分析:画程序流程图是设计测试用例的关键。从以往同学解题的经验来看,在画流程图时就出错了。所以首先要把流程图中的逻辑关系搞清楚再画出正确的流程图。考虑测试用例设计需要首先有测试输入数据,还要有预期的输出结果。对于此例,控制循环次数靠循环控制变量i和循环终值high。循环0次时,取low = high,此时一次循环也不做。循环一次时,取low +1 = high,循环二次时,取low+2 = high。

根据BRO策略,条件V[i] < pivot && ++k≠i的约束集合为{ (<, < ), (<, = ), (=, <), (>, < ) },因此,测试用例设计为:

软件测试面精彩试题及问题详解

软件开发——软件测试 1、测试的关键问题是() A.如何组织对软件的评审 B.如何验证程序的正确性 C.如何采用综合策略 D.如何选择测试用例 2、下面不属于软件测试步骤的是 A.集成测试 B.回归测试 C.确认测试 D.单元测试 3、自底向上集成需要测试员编写驱动程序。请判断这句话的正确与否。 A.T B.F 4、测试人员要坚持原则,缺陷未修复完坚决不予通过。请判断这句话的正确与否。 A.T B.F 5、软件测试类型按开发阶段划分是? A.需求测试、单元测试、集成测试、验证测试 B.单元测试、集成测试、确认测试、系统测试、验收测试 C.单元测试、集成测试、验证测试、确认测试、验收测试 D.调试、单元测试、集成测试、用户测试 6、如果我们可以通过覆盖率检测来判断我们是否对所有的路径都进行了测试,但是仍然可能存在未被检测出来的缺陷,原因是() A.全部选项 B.程序可能因为缺某些路径而存在问题 C.穷举路径的测试可能不好暴露数据敏感的错误 D.就算穷举路径测试也不能保证程序符合需求 7、下面哪些属于网游的测试内容? A.客户端性能 B.服务器端性能 C.从运行完 game.exe 打开游戏界面后可进行的各种操作、玩法 D.界面 8、下述有关负载测试,容量测试和强度测试的描述正确的有? A.负载测试:在一定的工作负荷下,系统的负荷及响应时间。 B.强度测试:在一定的负荷条件下,在较长时间跨度内的系统连续运行给系统性能所造成的影响。 C.容量测试:容量测试目的是通过测试预先分析出反映软件系统应用特征的某项指标的极限值(如最大并发用户数、数据库记录数等),系统在其极限值状态下没有出现任何软件故障或还能保持主要功能正常运行。 D.容量测试是面向数据的,并且它的目的是显示系统可以处理目标内确定的数据容量。

《软件测试基础》期末试卷及参考答案

1、判定覆盖设计足够多的测试用例,使得被测试程序中的每个判断的“真”、“假”分支_至少被执行一次。 2、黑盒测试的具体技术方法 ____________、 __________、 __________、____________。 等价类划分法,边界值分析法,决策表法,因果图法 3、黑盒测试又称之为___________测试。 功能 4、等价类划分有两种不同的情况:____________和____________。 有效等价类,无效等价类 5、根据覆盖目标的不同,逻辑覆盖又可分为:________________,_____________,_______________,__________________,条件组合覆盖,判断/条件覆盖。 语句覆盖,判定覆盖,条件覆盖,路径覆盖 6、根据软件生命周期中的定义,可以把自动化测试工具划分3大类____________,____________和 ____________。 白盒测试工具、黑盒测试工具、测试管理工具 7、软件测试是为发现程序中的______________而执行程序的______________。 错误,过程 8、测试用例是由______________和预期的______________两部分组成。 测试输入数据,输出数据 9、白盒测试又称为______________,可以分为______________和______________两大类。 结构测试,静态测试,动态测试 10、软件是包括____________﹑____________﹑____________的完整集合。 程序,数据,相关文档 11、边界值分析法属于____________。 黑盒测试 12、单元测试是以____________说明书为指导,测试源程序代码。 详细设计 13、集成测试以____________说明书指导,测试软件结构。 概要设计 14、确认测试以____________说明书为指导。 需求分析 15、软件开发的基本过程____________,_____________,_______________,_____________, _____________,______________。 需求分析、概要设计、详细设计,编码,测试、维护 16、代码复审属于____________,不实际运行程序。 静态测试 17、集成测试把模块组成成系统的测试方式:_____________和______________。 一次性集成测试,增量式集成测试 18、黑盒测试有两种基本方法,即:_____________和______________。 通过测试,失败测试 二、选择题(每题3分,共10题,分数为30分) 1. 下列哪一项不是白盒测试?(C) A.单元测试 B.集成测试 C.系统测试 D.回归测试 2. 属于黑盒测试的方法?(C) A.基于基本路径 B.控制流 C.基于用户需求测试 D.逻辑覆盖 3.在Assert类中断言对象为NULL是_____。(C) A.assertEquals B.assertTrue C.assertNull D.fail 4.___________的目的是对最终软件系统进行全面的测试确保最终软件系统产品满足需求。(A)

最新软件测试期末考试试题及答案

一,判断 1 √ 2.× 3.√ 4.× 5. × 6. ×7. ×8. ×9.√10. ×二,选择 1. D 2. D 3. B 4. B 5. B 6. A 7. D 8. B 9. C 10. A 三填空 1. 测试计划、测试用例 2. 稳定性测试、负载测试、压力测试 3. 非增量是集成测试自顶向下增量式测试、自底向上增量式测试 4. 回归 5. 软件需求 四简答题(30分) 1.试描述软件测试的定义?(3分) 答:利用手工或者自动化的方式,按照测试方案对系统执行测试用例的过程叫做软件测试。 2.什么是软件缺陷?(4分) 答:满足以下条件的问题都叫缺陷: 软件未达到产品说明书中已标明的功能 软件出现了产品说明书中指明不会出现的错误 软件功能超出了产品说明书指明的范围 软件未达到产品说明书虽未指出但应达到的目标 软件测试员认为软件难以理解,不易使用,运行速度缓慢,或者最终用户认为该软件使用效果不好。 3.常见的黑盒测试用例的设计方法?并分别简单介绍一下各自的思想。(8分)答:等价类划分:等价类划分法是一种重要的、常用的黑盒测试方法,它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。 边界值分析:对输入输出的边界值进行测试的一种黑盒测试方法。 决策表法:决策表是分析和表达多逻辑条件下执行不同操作的情况的工具 因果图分析法:是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。 错误推测法:基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对

性的设计测试用例的方法。 4. 列举常见的系统测试方法。答出来5个即可。(5分) 答:恢复测试 安全测试 强度测试 性能测试 正确性测试 可靠性测试 兼容性测试 Web测试 5.文档测试主要测试哪些内容?答出来5点即可(5分) 答:(1)检查产品说明书属性 (2)检查是否完整 (3)检查是否准确 (4)检查是否精确 (5)检查是否一致 (6)检查是否贴切 (7)检查是否合理 (8)检查代码无关 (9)检查可测试性 6. 单元测试主要测试那几方面的问题?(5分) 答:模块接口、局部数据结构、边界条件、独立的路径和错误处理。五,设计题

软件测试试题实例

1.什么是软件测试 使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差异 2.软件测试的目的是什么 软件测试的目的在于发现错误;一个好的测试用例在于发现从前未发现的错误;一个成功的测试是发现了从前未发现的错误的测试。 3.软件测试的目标 软件测试以检验是否满足需求为目标。 4.什么是软件缺陷 满足下列五个规则之一才称为软件缺陷: 1)软件未达到产品说明书标明的功能。 2)软件出现了产品说明书指明不会出现的错误。 3)软件功能超出产品说明书指明的范围。 4)软件未达到产品说明书虽未指出但应该达到的目标。 5)软件测试人员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户认为不好。 5.什么黑盒测试 黑盒测试是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。 6.黑盒测试方法都包括哪些 等价类划分、边界值分析、决策分析法、因果图分析、错误推测法等。 7.什么是等价类划分 把所有可能的输入数据(有效的和无效的)划分成若干个等价的子集(称为等价类),使得每个子集中的一个典型值在测试中的作用与这一子集中所有其它值的作用相同. 可从每个子集中选取一组数据来测试程序 8.什么是边界值分析法 边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法.通常边界值分析法是作为对等价类划分法的补充 9.什么情况下使用决策分析法 在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即:针对不同逻辑条件的组合值,分别执行不同的操作。决策表很适合于处理这类问题 10.你是如何利用决策分析法设计用例 (1)确定规则的个数。 有n个条件的决策表有2n个规则(每个条件取真、假值)。 (2)列出所有的条件桩和动作桩。

软件测试考试题目答案

注意:判断题第六题不用做。 测试题目 试题(一),满分120分 一、判断题(每题1分,正确的在括号内打T,错误的打F,输入其它任何符号或者不输入都视为0分,总共21分) 1.软件测试的目的是尽可能多的找出软件的缺陷。(T) 2.Beta 测试是验收测试的一种。(T) 3.验收测试是由最终用户来实施的。(F) 4.项目立项前测试人员不需要提交任何工件。(F) 5.单元测试能发现约80%的软件缺陷。(T) 6.代码评审是检查源代码是否达到模块设计的要求。(F) 7.自底向上集成需要测试员编写驱动程序。(T) 8.负载测试是验证要检验的系统的能力最高能达到什么程度。(T?) 9.测试人员要坚持原则,缺陷未修复完坚决不予通过。(F) 10.代码评审员一般由测试员担任。(F)开发人员 11.我们可以人为的使得软件不存在配置问题。(F) 12.集成测试计划在需求分析阶段末提交。(F)项目计划 13、好的测试员不懈追求完美。( T) 14、测试程序仅仅按预期方式运行就行了。(F ) 15、静态检查就是看代码。( F) 16、软件测试员可以对产品说明书进行白盒测试。( F) 17、静态白盒测试可以找出遗漏之处和问题。( T) 18、理论上白盒测试可以发现软件所有的缺陷。(F) 19、可以发布具有配置缺陷的软件产品。(T) 20、软件必须进行某种程度的兼容性测试。( T) 21、所有软件都有一个用户界面,因此必须测试易用性。(F ) 二、填空题(第五题4分,其它每空1分,共20分) 1、软件=程序+数据+文档+服务。 2.设计系统测试计划需要参考的项目文档有。 3、代码评审主要做_代码审查_工作。 4、软件测试主要分为_单元,集成,系统,验收、四类测试。 5、测试人员A在测试中发现系统20个缺陷,测试人员B在系统中发现了30 缺陷,他们有5个缺陷是一样的,从理论上分析,系统大概存在120个缺陷? 6、网络通讯三个要素,包括协议、IP、端口。 7、在32位的系统中,int a,char b分别占用4、1字节。 三、专业词语解释(每题2 分,16分) 1、β测试: 2、桩模块:

软件测试经典案例

软件测试-测试用例的经典例子 一、等价类划分 问:某程序规定:"输入三个整数 a、 b、 c分别作为三边的边长构成三角形。通过程序判定所构成的三角形的类型,当此三角形为一般三角形、等腰三角形及等边三角形时,分别作计算… "。用等价类划分方法为该程序进行测试用例设计。(三角形问题的复杂之处在于输入与输出之间的关系比较复杂。) 解: 分析题目中给出和隐含的对输入条件的要求: (1)整数 (2)三个数 (3)非零数 (4)正数 (5)两边之和大于第三边 (6)等腰 (7)等边 如果 a、 b 、 c满足条件( 1 ) ~ ( 4 ),则输出下列四种情况之一: 1)如果不满足条件(5),则程序输出为 " 非三角形 " 。 2)如果三条边相等即满足条件(7),则程序输出为 " 等边三角形 " 。 3)如果只有两条边相等、即满足条件(6),则程序输出为 " 等腰三角形 " 。

4)如果三条边都不相等,则程序输出为 " 一般三角形 " 。列出等价类表并编号

覆盖有效等价类的测试用例: a b c覆盖等价类号码 3 4 5(1)--(7) 4 4 5(1)--(7),(8) 4 5 5(1)--(7),(9) 5 4 5(1)--(7),(10) 4 4 4(1)--(7),(11)覆盖无效等价类的测试用例: 二、边界值分析法 NextDate函数的边界值分析测试用例

在NextDate函数中,隐含规定了变量mouth和变量day的取值范围为1≤mouth≤12和1≤day≤31,并设定变量year的取值范围为 1912≤year≤2050 。

三、错误推测法 测试一个对线性表(比如数组)进行排序的程序,可推测列出以下几项需要特别测试的情况: I.输入的线性表为空表; II.表中只含有一个元素; III.输入表中所有元素已排好序; IV.输入表已按逆序排好; V.输入表中部分或全部元素相同。 四、因果图法 有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示〖零

软件测试练习题及答案

、判断 01 )测试是为了验证软件已正确地实现了用户的要求。错 02 )白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。对 03 )白盒测试不仅与程序的内部结构有关,还要考虑程序的功能要求。错 04)程序员兼任测试员可以提高工作效率。错 05 )黑盒测试的测试用例是根据应用程序的功能需求设计的。对 06 )当软件代码开发结束时,软件测试过程才开始。错 07 )据有关数据统计,代码中 60%以上的缺陷可以通过代码审查发现出来。对 08)无效等价类是无效的输入数据构成的集合,因此无需考虑无效的等价类划分。错 09 )软件本地化就是将一个软件产品按特定国家或语言市场的需要翻译过来。错 10)在压力测试中通常采用的是黑盒测试方法。对 11)软件测试员无法对产品说明书进行白盒测试。对 12)功能测试工具主要适合于回归测试。对 13)测试人员说:“没有可运行的程序,我无法进行测试工作” 。错 14)自底向上集成需要测试员编写驱动程序。对 15)测试是可以穷尽的。错 16)自动化测试相比手工测试而言,能发现更多的错误。错 17)软件测试自动化可以提高测试效率,可以代替手工测试。错语句至少被执行一次。对 18)语句覆盖法的基本思想是设计若干测试用例,运行被测程序,使程序中的每个可执行19) Beta 测试是验收测试的一种。对 20 )软件开发全过程的测试工作都可以实现自动化。错 21 )软件只要经过严格严谨的内部测试之后,可以做到没有缺陷。错 22)结构性测试是根据软件的规格说明来设计测试用例。错 23 )软件测试工具可以代替软件测试员。错 24 )通过软件测试,可以证明程序的正确性。错 25)在单元测试中,驱动程序模拟被测模块工作过程中所调用的下层模块。错26)软件缺陷可能会被修复,可能会被保留或者标识出来。对 27)测试用例是由测试输入数据和对应的实际输出结果这两部分组成。错28)单元测试通常由开发人员进行。对 (29 )现在人们普遍认为软件测试不应该贯穿整个软件生命周期,而应在编程完毕之后再进行,这样可以降低成本。错 (30)文档的错误不是软件缺陷。错 31) Junit 只是单元测试工具,并不能进行现回归测试。 (32)判定表法是一种白盒测试方法。

软件测试试卷

2014~2015 学年第一学期 一、单项选择题(本大题共15 小题,每小题2 分,共30 分,答案写在答题页上) 1. 软件测试是软件开发的重要环节,而进行软件测试的目的是()。 A.证明软件错误不存在 B.证明软件错误的存在 C.改正程序所有的错误 D.发现程序所有的错误 2. CMM 模型中共有五个级别,除了()外每一级都设定了一组目标,如果达到了这组目标,则表明达到了这个成熟级别,可 以向上更为成熟的高一级别迈进。 A.初始级 B.可重复级 C.已定义级 D.管理级优化级 3. 导致软件缺陷的最大原因是()。 A.软件需求说明书 B. 设计方案 C.编写程序 D.软件规格说明书 4.软件测试文档不包括以下哪项() A.测试案例 B.软件缺陷报告 C.状态变化示意图 D.归纳、统计和总结 5.有一组测试用例,它使被测程序中的每一个分支 至少执行一次,它满足的覆盖标准是:( ) A.语句覆盖 B. 判定覆盖 C. 条件覆盖 D.路径覆盖 6.在白盒法中,无论 采用那种覆盖标准都不可能达到100%覆盖率。它们的目标都是()。 A.用尽可能少的测试用例发现尽可能多的错误。 B.从 理论上证明100%的覆盖率是不可能达到的。 C.说明测 试的强度是可估量的。 D.说明测试的标准是可比较 的。 7.用户在真实的工作环境中使用软件,用于测试系统的用户友好性等,这种测试是()。 A.集成测试 B.系统测试C.Alpha 测试 D.Beta 测试 8.一个多用户的应用系统通产有用户管理功能, 允许增加新的用户。用户信息一般包括用户名。假设规定用户名必须是以字母开头的、不超过8 个字符的字母数字串, 那么下面那一组值均属于用户名的有效等价类?() A.L, linyifen, A1111111, glenford1 B.a111, L1, Lin-Yie, Lin-feng C.linyifen, A1111111, glendord, 123B123 D.linyifen, A1111111, glenford, G.Myers E.linyifen, A1111111, glenford, Myers 9.请阅读下面这段程序: int func2(int a, b, c) { int k=1; if ((a>0)||(b<0)||(a+c>0)) k=k+a; else k=k+b; if (c>0) k=k+c; return k; } 如果测试时采用这组输入值组合:(a, b, c)=(1, 1, -1)、(1, 1, 1)、(-1, 1, 1)、(0, 1, 1), 那么可以实现下面哪一种覆盖?() A.条件覆盖 B.分支覆盖 C.路径覆盖 D.条件组合覆盖 10.黑盒测试是从观点的测试,白盒测试是从观点的测试。() A.开发人员,管理人员 B.用户,管理人员 C.用户,开发人员 D.开发人员,用户 11.下列关于单元测试的说法中错误的是()。 A.桩模块由被测模块调用,在单元测试中接受测试数据,启动被测模块 B.单元 测试以白盒测试为主 C.桩模块用以模拟被测模块工作过程中所调用的模块 D.驱 动模块用以模拟被测模块的上级模块 12、软件测试的对象包括() A. 目标程序和相关文档 B. 源程序、目标程序、数据及相关文档 C. 目标程序、操作系统和平台软件 D. 源程序和目标程序 13、编码阶段产生的错误由()检查出来。 A. 单元测试 B. 集成测试 C.有效性测试 D.系统测试 14、等价类划分和边界值分析是最常用的两种黑盒方法。采用这两种方法设计测试案例,可以很大幅度的减少测试案例的 数量。那么,这两种方法有什么局限性?() A.在设计一组测试案 例是不能把这两种方法结合在一起同时使用 B.不同输入变量之间可能存在约 束关系,它们不能处理这类约束关系 C.不能用于大型信息系统的测试案例的 设计 D.不能用于单元测试和集成测试 15.在系统测试阶段, 测试人员发现并报告了某个功能的一个缺陷。后来开发人员修复了这个缺陷, 向测试方提交了修改后的新版本。在安装了这个新版本之后, 测试人员运行了一边这个功能的全部测试案例, 发现报告的缺陷确实已经修复了, 并且没有发现新的缺陷。那么, 测试人员所作的回归测试已经足够了吗?为什么?下面的几个答案中哪一个是最好的?() A.是的。因为报告的缺陷确实已经修复, 并且没有发现新的缺陷, 所以没有必要补充其他的测试 B.不够。应 该再运行一遍这个功能的全部测试案例 C.足够了。只需要运行发现此缺陷所用的测试案例 D.不够。应该运行

软件测试笔试题

软件测试笔试题 01. 为什么要在一个团队中开展软件测试工作? 02. 您是否了解以往所工作的企业的软件测试过程?如果了解,请试述在这个过程中都有哪些工作要做?分别由哪些不同的角色来完成这些工作? 03. 您是否了解以往所工作的企业的软件开发过程?如果了解,请试述一个完整的开发过程需要完成哪些工作?分别由哪些不同的角色来完成这些工作?(对于软件测试部分,可以简述) 04. 您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作?

05. 您所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试) 06. 请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。 07. 测试计划工作的目的是什么?测试计划工作的内容都包括什么?其中哪些是最重要的? 08. 您认为做好测试计划工作的关键是什么? 09. 您所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。 10. 您认为做好测试用例设计工作的关键是什么?

11. 请以您以往的实际工作为例,详细的描述一次测试用例设计的完整的过程。 12. 您以往的工作中是否曾开展过测试用例的评审工作?如果有,请描述测试用例评审的过程和评审的内容。 13. 您以往是否曾经从事过性能测试工作?如果有,请尽可能的详细描述您以往的性能测试工作的完整过程。 14. 您在从事性能测试工作时,是否使用过一些测试工具?如果有,请试述该工具的工作原理,并以一个具体的工作中的例子描述该工具是如何在实际工作中应用的。 15. 您认为性能测试工作的目的是什么?做好性能测试工作的关键是什么?

软件测试案例分析

软件测试案例分析 Document number【980KGB-6898YT-769T8CB-246UT-18GG08】

对软件测试理解 软件测试作为软件质量保证的一种重要方法,近些年来, 软件测试越来越受到产业界、教育界和学术界的重视。软件测试,描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出间的审核或者比较过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。 1软件测试的方法 黑盒测试 在黑盒测试(或称功能测试)中,不考虑程序的内部结构和表现,其目的是确定程序的输入与输出是否与其规格一致,力图发现以下几类错误:是否有不正确或遗漏了的功能在接口上,输入能否正确地接受能否正确地输出结果 是否有数据结构错误或外部信息(例如数据文件)访问错误性能上是否能满足要求 是否有初始化或终止性错误 黑盒测试的主要缺点是依赖于规格的正确性(实际情况并非如此)和需要采用所有可能的输入作为测试用例才能保证模块的正确性。 白盒测试 在该方法对软件的过程性细节做细致检查,对程序所有逻辑进行测试。通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。测试用例从程序的逻辑中产生。确定程序逻辑覆盖有几条原则,其中之一是语句覆盖,要求程序中的每条语句至少执行一次。这条原则是必要的,但不充分,因为部分错误并不能检测出来。

从上至下测试 从上至下测试从程序的顶点模块开始,然后逐步对较低级的模块进行测试。为了模仿被测试模块的低级模块,需要哑模块或桩子模块。从上至下测试的主要好处就是排除了系统测试和集成,它可以让人们看见系统的早期版本并证明系统的正确性。它的效果之一可以提高程序员的士气。从上至下测试的主要缺点是需要桩子模块,并且在桩子模块中的测试数据直到输入输出模块加入之前不能确定。某些模块的测试数据难以创建,因为桩子模块不能模拟数据流使得模块之间的数据流不能组织成有向无环图。 从下至上测试 从下至上测试策略从程序的最低级模块(不调用别的模块)开始。为了模拟高一级的模块需要驱动模块。当对所有的低一级模块测试完毕才对高一级模块进行测试。从下至上测试方法的优点之一是测试数据的建立不存在困难。尽管数据流不在有向无环图中,但驱动模块模拟所有的调用参数,如果关键模块位于调用模块的底部,则从上至下测试方法更优。从下至上测试的主要缺点是系统的早期版本直到最后模块测试完毕才产生,并且设计和测试一个系统不能重叠进行,因为不可在低级模块设计之前进行测试。 测试用例一般描述

软件测试题详解及答案

一、单项选择题(5*9) ●UML中关联的多重度是指__(1)__。 A.一个类有多少个方法被另一个类调用 B.一个类的实例能够与另一个类的多少个实例相关联 C.一个类的某个方法被另一个类调用的次数 D.两个类所具有的相同的方法和属性 ●已知3个类A、B和C,其中类A由类B的一个实例和类C的1个或多个实例构成。 能够正确表示类A、B和C之间关系的UML类图是_(2)A_。 ●采用UML进行软件建模过程中,类图是系统的一种静态视图,用(3)可明确表示两类事物之间存在的整体/部分形式的关联关系。 A. 依赖关系 B. 聚合关系 C. 泛化关系 D. 实现关系 ●在UML语言中,下图中的a、b、c三种图形符号按照顺序分别表示(5)。 a b c A. 边界对象、实体对象、控制对象 B. 实体对象、边界对象、控制对象 C. 控制对象、实体对象、边界对象 D. 边界对象、控制对象、实体对象 ●在下面的用例图中,X1、X2和X3表示(6),已知UC3是抽象用例,那么X1可通过(7)用例与系统进行交互。并且,用例(8)是UC4的可选部分,用例(9)是UC4的必须部分。

(6)A. 人 B. 系统C. 参与者 D. 外部软件(7)A. UC4、UC1 B. UC5、UC1 C. UC5、UC2 D. UC1、UC2 (8)A. UC1 B. UC2 C. UC3 D. UC5 (9)A. UC1 B. UC2 C. UC3 D. UC5

44 A45C 46D 47B 32C 35B 对于右侧的程序流程,当采用语句覆盖法设计测试案例时,至少需要设计个测试案例。 A. 1 B. 2 C. 3 D. 4

软件测试考试题

一、判断正误题(每小题1分,共10分) 1. 测试是证明软件正确的方法。(╳) 2. 负载测试是验证要检验的系统的能力最高能达到什么程度。(√) 3. 测试中应该对有效和无效、期望和不期望的输入都要测试。(√) 4. 对于连锁型分支结构,若有n个判定语句,则有2n条路径。(√) 5. 验收测试是由最终用户来实施的。(√) 6. GOTO语句概念简单,使用方便,在某些情况下,保留GOTO语句反能使写出的程序更加简洁。(√) 7. 测试人员要坚持原则,缺陷未修复完坚决不予通过。(√) 8. 黑盒测试也称为结构测试。(╳) 9. 代码评审员一般由测试员担任。(╳) 10. 集成测试计划在需求分析阶段末提交。(╳) 二、不定项选择题(每题可能有一个或多个选项应选,每题2分,共20分。多选不得分,少选仅得1分。) 1.软件验收测试的合格通过准则是:(AD ) A.软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。 B.所有测试项没有残余一级、二级和三级错误。 C.立项审批表、需求分析文档、设计文档和编码实现一致。 D.验收测试工件齐全。 2.软件测试计划评审会需要哪些人员参加?(ABCD ) A.项目经理 B.SQA 负责人 C.配置负责人 D.测试组 3.下列关于alpha 测试的描述中正确的是:(A D ) A.alpha 测试需要用户代表参加 B.alpha 测试不需要用户代表参加 C.alpha 测试是系统测试的一种 D.alpha 测试是验收测试的一种 4.测试设计员的职责有:(BC ) A.制定测试计划 B.设计测试用例 C.设计测试过程、脚本 D.评估测试活动 5.软件实施活动的进入准则是:(ABC ) A.需求工件已经被基线化 B.详细设计工件已经被基线化 C.构架工件已经被基线化 D.项目阶段成果已经被基线化 6、典型的瀑布模型的四个阶段是:(ABCD ) A、分析 B、设计 C、编码 D、测试 E、需求调研 F、实施 7.下面的哪一项测试步骤中需要进行局部数据结构测试:( A ) A、单元测试

软件测试用例实例(非常详细)汇总

软件测试用例实例(非常详细)汇总

1、兼容性测试 在大多数生产环境中,客户机工作站、网络连接和数据库服务器的具体硬件规格会有所不同。客户机工作站可能会安装不同的软件例如,应用程序、驱动程序等而且在任何时候,都可能运行许多不同的软件组合,从而占用不同的资源。 测试 目的 配置说明操作系 统 系统 软件 外设应用软件结果 服务器Windo w2000( S) Windo wXp Windo w2000( P) Windo w2003 用例编号TestCase_LinkWorks_W orkEvaluate 项目名称LinkWorks

1.1.

1.2. 疲劳强度测试用例 强度测试也是性能测试是的一种,实施和执行此类测试的目的是找出因资源不足或资源争用而导致的错误。如果内存或磁盘空间不足,测试对象就可能会表现出一些在正常条件下并不明显的缺陷。而其他缺陷则可能由于争用共享资源(如数据库锁或网络带宽)而造成的。强度测试还可用于确定测试对象能够处理的最大工作量。测试目的 测试说明 前提条件连续运行8小时,设置添加 10用户并发 测试需求输入/ 动作 输出/响应是否正常运行 功能1 2小时 4小时 6小时 8小时功能1 2小时 4小时 6小时

8小时 一、功能测试用例 此功能测试用例对测试对象的功能测试应侧重于所有可直接追踪到用例或业务功能和业务规则的测试需求。这种测试的目标是核实数据的接受、处理和检索是否正确,以及业务规则的实施是否恰当。主要测试技术方法为用户通过GUI (图形用户界面)与应用程序交互,对交互的输出或接受进行分析,以此来核实需求功能与实现功能是否一致。 用例标识LinkWorks_ WorkEvaluate _02 项目 名称 https://www.360docs.net/doc/c22877775.html, 开发人员模块 名称 WorkEvaluate 用例参考工作考核系统界面设计

软件测试面试(题带答案)

企业面试题试卷测试基础附带答案 软件测试 1. 试述软件的概念和特点?软件复用的含义?构件包括哪些? 2. 瀑布模型和螺旋模型的主要区别是什么? 3. 软件生存周期及其模型是什么? 4. 什么是软件测试?软件测试的目的与原则 5. 净室软件工程的策略是什么? 6. 软件配置管理的作用?软件配置包括什么? 7. 什么是软件质量?软件包是什么? 8. 目前主要的测试用例设计方法是什么? 9. 软件的安全性应从哪几个方面去测试? 1、答案如下: a) 软件是计算机系统中与硬件相互依存的另一部分,它是包括程序、文档的完整集合。 b) 软件复用(Software Reuse)是将已有软件的各种有关知识用于建立新的软件,以缩减软件开发和维护的花费。软件复用是提高软件生产力和质量的一种重要技术。早期的软件复用主要是代码级复用,被复用的知识专指程序,后来扩大到包括领域知识、开发经验、设计决定、体系结构、需求、设计、代码和文档等一切有关方面。 c) 可以被复用的软件成分一般称作可复用构件 2、答案如下: a) 参照TP书上第六章45/46页的讲解,参考一下书上的说法进行对比即可。考虑弹性、风险、成本,等几个方面。 3、答案如下: a) 软件生存周期是软件开发全部过程、活动和任务的结构框架,是从可行性研究到需求分析、软件设计、编码、测试、软件发布维护的过程。 b) 在经历需求、分析、设计、实现、部署后,软件将被使用并进入维护阶段,直到最后由于缺少维护费用而逐渐消亡。这样的一个过程,称为”生命周期模型”(Life Cycle Model)。 4、答案如下: a) 使用人工或自动手段,来运行或测试某个系统的过程。其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。 b) 软件测试的目的: i. 测试是程序的执行过程,目的在于发现错误 ii. 一个成功的测试用例在于发现至今未发现的错误 iii. 一个成功的测试是发现了至今未发现的错误的测试 iv. 确保产品完成了它所承诺或公布的功能,并且用户可以访问到的功能都有明确的书面说明。 v. 确保产品满足性能和效率的要求 vi. 确保产品是健壮的和适应用户环境的

软件测试案例库

软件测试技术 案例库

案例一:错误报告与管理 一、案例目的 1.熟悉错误报告的编写内容 2.熟悉错误管理的工作流程 3.了解测试管理的内容 二、案例内容: 1.测试酒店管理系统,编写有一定质量的错误报告 2.使用TestDirector测试管理软件,熟悉需求管理、测试计划、执行测试、错误管理 三、案例步骤: ?任务一:提交软件测试中发现的错误 1、安装酒店管理系统,测试该系统,针对所发现的错误,记录并提交错误以便开发人员 修改。 ?任务二:寻找软件测试中错误的触发条件,并编写有一定质量的错误报告。 1、1、测试酒店管理系统,根据任务一中提交错误报告存在的问题,重新编写错误报告, 错误报告的内容必须包括如下: 3、测试中需要考虑错误重现 4、错误报告通过TestDirector软件进行管理 ?TestDirector使用: ●●使用前设置 1、断开网络连接。在屏幕底部的工具栏上选择“本地连接”图标,右键点击,选择“禁 用”。 2、把计算机名改为“JF82-55”。控制面板—〉系统—〉网络标识—〉属性,修改计算机 名,重启机器。 3、启动TestDirector的相应服务。在控制面板中选择管理工具—〉组件服务—〉“本地 计算机上的服务”—〉选中“Advanced TestDirector Startstop Servic4e”—〉点右键选“启动”。 4、启动TestDirector。在屏幕底部的工具栏上出现粉红色图标TestDirector,右键选中并 点击,在弹出菜单中选择“Start TestDirector”。 5、从开始菜单中选择程序—〉TestDirector7、6,出现屏幕如图3-1。

软件测试习题集及答案详细版

精品文档 第一章 1.什么是软件测试?软件测试的目的和作用是什么? 答: 软件测试是在受控制的条件下对系统或应用程序进行操作并评价操作的结果。 软件测试的目的是以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷。测试是为了证明程序有错,而不是证明程序无错。一个成功的测试是发现了至今未发现的错误的测试。 软件测试的原则包括:所有的测试都应追溯到用户的需求;尽早地和不断地进行软件测试;不可能完全的测试,因为输入量太大,执行路径太多;注意测试中的群集现象;避免测试自己的程序;设计周密的测试用例。 2.软件缺陷产生的原因? 答:A.软件需求说明书编写的不全面,不完整,不准确,而且经常更改B.软件设计说明书C.软件操作人员的水平D.开发人员不能很好的理解需求明书和沟通不足 3.软件测试的意义? 意义: 1.对产品质量完成全面的评估,为软件产品发布(如验收测试)、软件系统部署(如性能规划测试)、软件产品鉴定(第三方独立测试)委托方和被委托方纠纷仲裁(第三方独立测试)和其它决策提供信息; 2.通过持续的测试(包括需求评审、设计评审、代码评审等)可以对产品质量提供持续的、快速的反馈,从而在整个开发过程中不断地、及时地改进产品的质量,并减少各种返工,降低软件开发的成本; 3.通过测试发现所要交付产品的缺陷,特别是尽可能地发现各种严重的缺陷,降低或消除产品质量风险,提高客户的满意度,扩大市场份额,提高客户的忠诚度。 4.通过对缺陷进行分析,找出缺陷发生的根本原因(软件过程中的问题,包括错误的行为方式)或总结出软件产品的缺陷模式,避免将来犯同样的错误或产生类似的产品问题,达到缺陷预防的目的 4.软件测试与软件开发的关系? 答:软件开发是一个系统的工程。包括需求分析,设计,编码,测试,维护等等几个环节。测试是整个软件开发流程中的一个环节。 5.简述软件测试过程v模型和w模型的主要区别: V模型是软件开发完了之后才开始测试活动。 而W模型则是软件测试活动伴随着软件开发活动。和软件开发同时开展。 W模型更加敏捷,对于软件的交付期和品质的保证能力更强。 精品文档. 精品文档第二章 6.测试计划的目的是什么?答:软件测试计划是指导测试过程的纲领性文件,包含了产品概述、测试策略、测试方法、测试区域、测试配置、测试周期、测试资源、测试交流、风险分析等内容。借助软件测试计划,参与测试的项目成员,尤其是测试管理人员,可以明确测试任务和测试方法,保持测试实施过程的顺畅沟通,跟踪和控制测试进度,应对测试

软件测试面试题

面试题 1、您认为做好测试用例设计工作的关键是什么? 参考答案:测试用例应百分百覆盖需求。 白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果。黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。不可能做到完全测试,以最少的用例在合理的时间内发现最多的问题。 2、您所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。 参考答案:1.等价类划分 划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类. 2.边界值分析法 边界值分析方法是对等价类划分方法的补充。测试工作经验告诉我,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误. 使用边界值分析方法设计测试用例,首先应确定边界情况.通常输入和输出等价类的边界,就是应着重测试的边界情况.应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据. 参考答案:3.错误推测法 基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法. 错误推测方法的基本思想: 列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例. 例如, 在单元测试时曾列出的许多在模块中常见的错误. 以前产品测试中曾经发现的错误等, 这些就是经验的总结. 还有, 输入数据和输出数据为0的情况. 输入表格为空格或输入表格只有一行. 这些都是容易发生错误的情况. 可选择这些情况下的例子作为测试用例. 4.因果图方法 前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系, 相互组合等. 考虑输入条件之间的相互组合,可能会产生一些新的情况. 但要检查输入条件的组合不是一件容易的事情, 即使把所有输入条件划分成等价类,他们之间的组合情况也相当多. 因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例. 这就需要利用因果图(逻辑模型). 因果图方法最终生成的就是判定表. 它适合于检查程序输入条件的各种组合情况. 4、什么是并发?在lordrunner中,如何进行并发的测试?集合点失败了会怎么样? 参考答案: 在同一时间点,支持多个不同的操作。

软件测试笔试题及答案修订

1、TCP是互联网中的(1)协议,使用(2)次握手协议建立连接。当主动发出SYN连接请求后,等待对方回答(3)。这种连接的方法可以防止(4),TCP使用的流量控制协议是(5)。 (1)A.传输层B.网络层C会话层D.应用层 (2)(3),,,,ACK (4)A.出现半连接B.无法连接C.假冒的连接D.产生错误的连接 (5)A.固定大小的滑动窗口协议B.可变大小的滑动窗口协议C.后退N帧ARQ协议D.选择重发ARQ 协议 2、下列叙述中,与提高软件可移植性相关的是。 A.选择时间效率高的算法 B.尽可能减少注释 C.选择空间效率高的算法 D.尽量用高级语言编写系统中对效率要求不高的部分 D软件可移植性是指与软件可从某一环境移植到另一环境的能力有关的一组属性。高级语言具有较好的可移植性,所以可以尽量用高级语言编写系统中对效率要求不高的部分。减少注释、选择时间/空间效率高的算法都不能提高软件的可移植性。 3、用边界值分析法,假定1

软件测试标准和测试用例汇总

软件测试标准 前言 前一版的《软件测试标准》,在测试工作中发挥了很好的指导作用。本次修改在原标准基础上,提出了新的测试理念、工作方法、组织方式,使之更贴近实际工作,真正起到纲领的作用。 一、软件测试 1、软件测试的目的 软件测试是指为了度量和提高被测试对象的质量、对测试对象进行工程设计、使用和维护的与软件开发过程并发的生命周期过程。软件测试的目的为:验证软件产品的实现状态以及实现质量。 2、软件测试相关概念 2.1白盒测试 指基于程序结构的测试,测试目标是检查程序内部逻辑结构和逻辑路径,是代码级的测试。 2.2黑盒测试 基于程序功能的测试,根据输入输出的关系推断程序功能的正确性。 2.3测试用例 测试方案,包括数据输入和相应的期望输出。依据测试用例来执行具体操作。 2.4预防性测试 其原理为:只要测试在生命周期中进行得足够早,就能够提高待测软件的质量。 2.5测试风险分析 其目的为:确定测试对象、测试的优先级、测试的深度。 2.6软件测试模型 公司目前采用V模型,实现测试与软件开发的同步进行。 2.7等价类划分 将测试对象按某种约定划分为有限个组成部分,提高测试的有效性。 2.8边界值分析 分析测试对象的所有边界值及边界附近的临界值。 二、测试工作流程 三、开发—测试流程

程序员 测试员BUG管理 关闭BUG 得到BUG 修改BUG 版本更新新的开发任务 得到新版本 提交新BUG 验证BUG 执行新的测试任务BUG审核 定期检查、审核BUG 定期编译 说明: 1、新版本提供时间,由程序员与测试员按实际情况协调; 2、BUG 审核的范围包括对BUG 的抽查;对标注为不修改或待讨论BUG 的管理; 3、软件涉及到功能性修改时,应该先提供修改设计说明,讨论通过后方可进行修改。 四、测试角色与职责 角色 职责范围 管理 负责测试全过程组织管理 分析 负责进行测试分析、编写测试用例 执行 执行测试任务 文档管理 负责对测试文档、开发文档管理 五、BUG 主要参数 1、当前状态 记录BUG 的状态,包括已修改、未修改、已验证。 2、严重程度 BUG 严重程度分为四个级别 级别一:死机,数据丢失,主要功能完全丧失,系统悬挂 级别二:主要功能丧失,导致严重的问题,或致命的错误声明

相关文档
最新文档