当前位置:文档之家› 1黑盒测试是从(

1黑盒测试是从(

1黑盒测试是从(
1黑盒测试是从(

选择题

1.黑盒测试是从( )观点出发的测试,白盒测试是从( )观点出发的测试。

A.开发人员、管理人员 B.用户、管理人员

C.用户、开发人员 D.开发人员、用户

2.因果图方法是根据( )之间的因果关系来设计测试用例的。

A。输入与输出 B.设计与实现

C.条件与结果 D.主程序与子程序

3.为了提高测试的效率,应该( )。

A.随机地选取测试数据

B.取一切可能的输入数据作为测试数据

C.在完成编码以后制定软件的测试计划

D.选择发现错误可能性大的数据作为测试数据

4.在结构测试用例设计中,有语句覆盖、条件覆盖、判定覆盖(即分支覆盖)、路径覆盖等,其中( )是最强的覆盖准则。

A.语句覆盖 B.条件覆盖 C.判定覆盖 D.路径覆盖

5.使用白盒测试方法时,确定测试数据应根据( )和指定的覆盖标准。

A.程序的内部逻辑 B.程序的复杂结构

c.使用说明书 D.程序的功能

6. ( )就是简化模拟较低层次模块功能的虚拟子程序。

A.过程 B.函数 c.仿真 D.桩

7.在程序设计过程中,要为程序调试做好准备,主要体现在( )。

A.采用模块化、结构化的设计方法设计程序

B.编写程序时要为调试提供足够的灵活性

c.根据程序调试的需要,选择并安排适当的中间结果输出和必要的断点

D.以上全是

8.软件测试可能发现软件中的( ),但不能证明软件( )。

A.所有错误、没有错误 B.错误、没有错误

c.逻辑错误、没有错误 D.设计错误、没有错误

9.调用算法是解决问题的关键步骤之一。算法的计算工作量大小和实现算法所需的存储单元多少,分别称为计算的(A)和(B)。编写程序时,(C)和(D)是应采纳的原则之一。(E)是调试程序的主要工作之一。

供选择的答案:

A、B:

①可实现性②时间复杂度

③空间复杂度④闲难度

⑤计算有效性

c:①程序的结构化②程序越短越好

③尽可能节省存储单元④尽可能减少注释行

D:①使用有实际意义的名字②使用长度短而无实际意义的名字

③表达式中尽量少用括号④尽量使用简化了的逻辑表达式

E:①调度②证明程序正确

⑧人员安排④排错

10.软件测试是为了榆查出并改正尽可能多的错误,不断提高软件的(A),一个成功的测试则是发现了至今未被发现的(B)的测试。至于软件维护则是指(C)。

A:①功能和效率②设计和技巧

③质量和可靠性④质量和效能

B:①因素②错误

③规律④问题

c:①对软件的改进、适应、完善②维护正常运行

③配置新软件④软件开发期的一个阶段

11.软件测试的目的是( )。

A.证明软件的正确性 B.找出软件系统中存在的所有错误

c.证明软件系统中存在错误 D.尽可能多的发现软件系统中的错误

12.从已经发现故障的存在到找到准确的故障位置并确定故障的性质,这一过程称为( )。

A.错误检测 B.故障排除

C.调试 D.测试

13.软件测试是软件质量保证的主要手段之一,测试的费用已超过( )的30%以上,因此提高测试的有效性非常重要。

A.软件开发费用 B.软件维护费用

C.软件开发和维护费用 D.软件研制费用

14.选择正确答案。

(1)在软件生存期中,(A)阶段所占的工作量最大。

(2)结构化分析方法产生的系统说明书由一套分层的(B)图、一本数据字典、一组说明及补充材料组成。

(3)软件的(c)一般由两次故障时间和故障平均恢复时间来度量。

(4)采用(D)编写程序,可提高程序的可移植性。

(5)仅根据规格说明书描述的程序功能来设计测试用例的方法称为(E)。

供选择的答案:

A:①分析②设计

③编码④维护

B:①因果图②数据流图

③PAD图④流程图

C:①易维护性②可靠性

③效率④易理解性

D:①机器语言②宏指令

③汇编语言④高级语言

E:①白盒法②静态分析法

③黑盒法④人工分析法

15.软件测试的目的是(A)。为了提高测试的效率,应该(B)。使用白盒测试方法时,确定测试数据应根据(C)和指定的覆盖标准。一般来说,与设计测试数据无关的文档是(D)。软件的组装工作最好由(E)承担,以提高组装测试的效果。

供选择的答案:

A:①评价软件的质量②发现软件的错误

③找出软件中的所有错误④证明软件是正确的

B:①随机地选取测试数据

②取一切可能的输入数据作为测试数据

③在完成编码以后制定软件的测试计划

④选择发现错误的可能性大的数据作为测试数据

c:①程序的内部逻辑②程序的复杂程度

③使用说明书④程序的功能

D:①需求规格说明书②程序的复杂程度

③源程序④项目开发计划

E:①该软件的设计人员②该软件开发组的负责人

③该软件的编程人员④不属于该软件开发组的软件设计人员

16。程序的3种基本结构是(A)。它们共同的特点是(B)。结构化程序设计的一种基本方法是(c)。软件测试的目的是(D)。软件调试的目的是(E)。

供选择的答案:

A:①过程、子程序、分程序②顺序、条件、循环

③递归、堆栈、队列④调用、返回、转移

B:①不能嵌套使用②只能用来写简单的程序

③已经用硬件实现④只有一个入口和一个出口

c:①筛选法②递归法

③归纳法④逐步求精法

D:①证明程序中没有错误②发现程序中的错误

③测量程序的动态特性④检查程序中的语法错误

E:①找出错误所在并改正②排除存在错误的可能性

③对错误性质进行分类④统计出错的次数

17.一般来说,投入运行的软件系统中有错误( )。

A.不是不可以理解的 B.是不能容忍的

c.是要求退货的理由 D.是必然的

18.软件测试是软件开发过程中重要和不可缺少的阶段,其包含的内容和步骤甚多,而测试过程的多种环节中基础的是( )。

A.集成测试 B.单元测试 C.系统测试 D.验收测试

19.Which of the following statements testing software with data is(are)true?( )

①The primary purpose of such testing is to find errors

②Such testing can demonstrate the existence of errors but cannot demonstrate the absence of errors

A. Neither B.①Only C.②Only D. Both

20.软件测试方法中,黑盒测试方法和白盒测试方法是常用的方法,其中黑盒测试方法主要用于测试( )。

A.结构合理性 B.软件外部功能

c.程序正确性 D.程序内部逻辑

21.软件测试是软件开发过程的重要阶段,是软件质量保证的重要手段,下列( )是软件测试的任务。

①预防软件发生错误

②发现改正程序错误

③提供诊断错误信息

A.只有① B.只有② c.只有③ D.全部

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

供选择的答案:

A—B:

①操作②确认

③测试④验证

⑤调试

C—D:

①用户的确认②需求规格说明的确认

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

E~F:

①可靠性②独立性

③协调性④完备性

⑤扩充性

23.为了提高测试效率,应该( )。

A.随机地选取测试数据

B.取一切可能的数据作为测试数据

C.在完成编码以后制定软件的测试计划

D.选择发现错误可能性大的数据作为测试数据

24.软件文档是软件工程实施中的重要成分,它不仅是软件开发各阶段的重要依据而且也影响软件的( )。

A.可理解性 B.可维护性

C.可测试性 D.可扩展性

25.回归测试是( )维护中最常用的方法。

A.校正性维护. B.适应性维护

C.完善性维护 D.预防性维护

26.使用白盒测试方法时确定测试数据应根据( )和指定的覆盖标准。

A.程序的内部逻辑 B.程序的复杂程度

C.使用说明书 D.程序的功能

27.在模块测试的过程中,采用自底向上的测试比自顶向下的测试( )。

A.好 B.差

C.一样 D.未知

28.在程序测试中,目前要为成功的测试设计数据,产生这些测试用例主要依赖于( )。

A·黑盒方法 B.测试人员的经验

C.白盒测试 D.猜错

29.“高产”的测试是指( )。

A.用适量的测试用例,说明测试程序正确无误

B.用适量的测试用例,说明测试程序符号相应的要求

C.用适量的测试用例,发现被测试程序尽可能多的错误

D.用适量的测试用例,纠正被测试程序尽可能多的错误

30.软件测试是软件质量保证的主要手段之一,测试的费用已超过( )的30%以上。一次提高测试的有效性非常重要。

A.软件开发费用 B.软件维护费用

C.软件开发和软件维护费用 D.软件研制费用

31.在测试中,下列说法错误的是( )。

A.测试是为了发现程序中的错误而执行程序的过程

B.测试是为了表明程序是正确的

C.好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案

D.成功的测试是发现了迄今为止尚未发现的错误的方案

32.增量式测试可以对模块( )。

A.减少工作量 B.组合测试

C.验收 D.评估

33. 在进行软件测试时,首先应当进行单元测试,然后再进行( ),最后再进行有效性测试。

A.组合测试 B.集成测试

C.有效性测试 D.确认测试

34. ( )是指查明程序错误时可能采用的工具和手段。

A.纠错技术 B.测试纠错

C.跟踪法 D.动态测试

35.白盒测试方法重视( )的度量。

A.测试覆盖率 B.测试数据多少

c.测试费用 D.测试周期

36.软件测试是保证软件质量的重要措施,它的实施应该在( )。

A.程序编程阶段 B.软件开发全过程

C.软件允许阶段 D.软件设计阶段

37.对软件是否能达到用户所期望的要求的测试称为( )。

A.集成测试 B.有效性测试

C.系统测试 D.验收测试

38.黑盒测试方法根据( )设计测试用例。

A.程序调用规则 B.模块间的逻辑关系

C.软件要完成的功能 D.数据结构

39.从下列叙述中选出能够与软件开发需求分析、设计、编码相对应的软件测试( )。 A.组装测试、确认测试、单元测试

B.单元测试、组装测试、确认测试

c.单元测试、确认测试、组装测试

D.确认测试、组装测试、单元测试

40.软件的开发与维护划分为8个阶段,其中单元测试是在( )阶段完成的。

A.概要设计 B.详细设计

C.编码 D.测试

41.一般说来与设计测试数据无关的文档是( )。

A.需求规格说明书 B.设计说明书

C.源程序 D.项目开发计划

42.在进行软件测试时,首先应当进行( ),然后再进行组装测试,最后再进行有效性测试。

A.单元测试 B.集成测试

c.确认测试 D.组合测试

43.在软件工程中,白盒测试方法可用于测试程序的内部结构。此方法将程序作为( )。

A.路径的集合 B.循环的集合

c.目标的集合 D.地址的集合

44.在软件测试中,逻辑覆盖标准主要用于( )。

A.黑盒测试方法 B.白盒测试方法

C.灰盒测试方法 D.软件验收方法

45.确认测试计划是在( )阶段制定的。

A.可行性研究和计划 B.需求分析

C.概要设计 D.详细设计

46.下面的逻辑测试覆盖中,测试覆盖最弱的是( )。

A.条件覆盖 B.条件组合覆盖

C.语句覆盖 D.条件及判定覆盖

47. Black-Box and White-Box testing method are Often used in software testing phase,in which,the white—Box is mainly used to test software’s( ).

A. reasonableness Of structure

B. correctness Of a program

C. external function Of a program

D. internal 1ogic Of a program

48.调试的目的是为了( )。

A.证明软件符合设计要求 B.发现软件中的错误和缺陷

c.改善软件的功能和性能 D.发掘软件的潜在能力

49.Which is not a concept of White.Box Testing? ( )

A.You should execute all loops at their boundary conditions

B.You should execute all interface at their boundary conditions

C.You should execute all logical decisions On their true and false sides D.You should execute all independent paths within a module at least Once 50.一般来说,与测试数据无关的文档是( )。

A.需求规格说明书 B.设计说明书

C.源程序 D.项目开发计划

51.在黑盒测试中,着重检查输人条件的组合是( )。

A.等价类划分法 B.边界值分析法

C.错误推测法 D.因果图法

52.软件的集成测试工作最好由( )承担,以提高集成测试的效果。

A.该软件的设计人员

B.该软件开发组的负责人

C.该软件的编程人员

D.不属于该软件开发组的软件设计人员

53.以下说法错误的是( )。

A.判定覆盖包含了语句覆盖,但它可能会使一些条件得不到测试

B.条件覆盖的检错能力较判定覆盖强,但有时达不到判定覆盖的要求

c.判定/条件覆盖包含了判定覆盖和条件覆盖的要求,实际上不一定达到覆盖的标准 D.凡满足条件组合覆盖标准的测试用例,也必然满足其他所有覆盖种类的覆盖标准

E.路径覆盖可能使测试用例达不到条件组合覆盖的要求

54.集成测试的主要方法有两个,一个是( ),一个是( )。

A.白盒测试方法、黑盒测试方法

B.渐增式测试方法、非渐增式测试方法

C.等价分类方法、边缘值分析方法

D.因果图方法、错误推测方法

55.验收测试的任务是验证软件的( )。

A.完整性

B.正确性

C.有效性

D.移植性

56.检查软件产品是否符合需求定义的过程为( )。

A.确认测试 B.集成测试

C.验证测试 D.验收测试

57.根据国家标准GB8566—8计算机软件开发的规定,软件的开发和维护划分为八个阶段,其中单元测试是在( )阶段完成的。

A.可行性研究和计划 B.需求分析

软件工程习题与解答

C.编码 D.详细设计

58.软件测试中,白盒法是通过分析程序的( )来设计测试用例的。

A.应用范围 B.内部逻辑 C.功能 D.输人数据

59.黑盒法是根据程序的( )来设计测试用例的。

A.应用范围 B.内部逻辑 C.功能 D.输人数据

60.软件测试的目的是尽可能发现软件中的错误,通常( )是代码编写阶段可进行的测试,它是整个测试工作的基础。

A.系统分析 B.安装测试 C.验收测试 D.单元测试

61.软件测试通常可分为单元测试、集成测试、确认测试和系统测试、其中确认测试主要用于发现(A)阶段的错误。在集成测试时,通常可采用自顶向下增值式集成和自底向上增值式集成。在自底向上增值式集成时,对每个被集成的模块(B)。对那些为众多用户开发的软件(如操作系统,编译程序),通常还要进行仅测试和B测试,以发现可能只有最终用户才能发现的错误,其中,d测试是指最终用户在(C)的情况下所进行的测试,B测试是指最终用户在(D)的情况下所进行的测试。在软件维护阶段,当修改软件后,除了进行常规的测试外,还应进行(E)测试。

供选择的答案:

A:①需求分析②概要设计

③详细设计④编码

B:①不必设计驱动模块和桩(stub)模块

②不必设计驱动模块,但要设计桩模块

③要设计驱动模块,但不必设计桩模块

④要设计驱动模块和桩模块

C—D:

①开发环境下,开发人员不在场

②开发环境下,开发人员在场

③用户的实际使用环境下,开发人员不在场

④用户的实际使用环境下,开发人员在场

E:①恢复②强度

③安装④回归

62.确认测试以( )文档作为测试的基础。

A.需求规格说明书 B.设计说明书

C.源程序 D.开发计划

63.单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是( )。 A.系统功能 B.局部数据结构

C.重要的执行路径 D.错误处理

64.The type of testing done software implementation and before module integration is called( ).

A.unit testing B.beta testing

C.system testing D.acceptance testing

65.集成测试也叫做(A)和(B)。通常,在(c)的基础上,将所有模块按照设计要求组装成为系统。子系统的集成测试称为(D),它所做的工作是要找出子系统和系统需求规格说明之间的(E)。需要考虑的问题是在各个模块连接起来的时候,穿越模块接口的数据是否会(F);一个模块的功能是否会对另一个模块的功能产生不利的影响;各个(G)组合起来,能否达到预期要求的(H);(I)是否有问题;单个模块的误差积累起来是否会放大。

供选择的答案:

A~D:

①单元测试②部件测试

③组装测试④系统测试

⑤确认测试⑥联合测试

E~I:

①子功能②丢失

③父功能④局部数据结构

⑤全局数据结构⑥不一致

⑦一致

66. 在结构测试用例设计中,有语句覆盖、条件覆盖、判定覆盖(即分支覆盖)、路径覆盖等,其中(A)是最强的覆盖标准,为了对如图14—1所示的程序段进行覆盖测试,必须适当地选取测试数据集,如x,Y是两个变量,可供选择的测试数据集有1、2、3、4四组(表7-1),则实现判定覆盖至少采用的测试数据集是(B),实现条件覆盖至少采用的测试数据集是(c),实现路径覆盖至少应采用的测试数据集是(D)或(E)。

图7一l

表7.1可供选择的测试数据集

供选择的答案:

A:①语句覆盖②条件覆盖

③判定覆盖④路径覆盖

B—E:

①l、2 ②2、3、

③3、4 ④1、4

⑤1、2、3 ⑥2、3、4

⑦1、3、4 ⑧1、2、4

67.软件测试过程中的集成测试主要是为了发现( )阶段的错误。

A.需求分析 B.概要设计

C.详细设计 D.编码

68.不属于白盒测试的技术是( )。

A.语句覆盖 B.判定覆盖

c.条件覆盖 D.边界值分析

69.集成测试时,能较早发现高层模块接口错误的测试方法为( )。

A.自顶向下渐增式测试 B.自底向上渐增式测试

C.非渐增式测试 D.系统测试

70.测试的关键问题是( )。

A.如何组织软件评审 B.如何选择测试用例

C.如何验证程序的正确性 D.如何采用综合策略

71.下列几种逻辑覆盖标准中,查错能力最强的是( )。

A.语句覆盖 B.判定覆盖

C.条件覆盖 D.条件组合覆盖

72.在设计测试用例时,(A)是用得最多的一种黑盒测试方法。在黑盒测试方法中,等价类划分方法设计测试用例的步骤是:

(1)根据输入条件把数目极多的输人数据划分成若干个有效等价类和若干个无效等价类。

(2)设计一个测试用例,使其覆盖(B)尚未被覆盖的有效等价类,重复这一步,直至所有有效等价均被覆盖。

(3)设计一个测试用例,使其覆盖(c)尚未被覆盖的无效等价类,重复这一步,直至所有无效等价均被覆盖。

因果图方法是根据(D)之间的因果关系来设计测试用例的。

在实际应用中,一旦纠正了程序中的错误后,还应选择部分或全部原先已测试过的测试用例,对修改后的程序重新测试,这种测试称为(E)。

供选择的答案:

A:①等价类划分②边值分析

③因果图④判定表

B~C:

①1WH ②7个左右

③一半④尽可能少的

⑤尽可能多的⑥全部

D:①输入与输出②设计与实现

③条件与结果④主程序与子程序

E:①验收测试②强试测试

③系统测试④回归测试

73.以下说法正确的是( )。

A.语句覆盖使每个判定的每个分支至少执行一次

B.判定覆盖使每条语句至少执行一次

C.条件覆盖使每个判定每个条件应取到各种可能的值

D.条件组合覆盖使程序中每一条可能的路径至少执行一次

E.路径覆盖使每个判定中各条件的每一种组合至少出现一次

74.以下说法错误的是( )。

A.自底向上测试的优点是随着上移,驱动模块逐步减少,测试开销小一些

B.自底向上测试的优点是比较容易设计测试用例

C.自顶向下测试的优点是较早地发现高层模块接口、控制等方面的问题

D.自顶向下测试的优点是使低层模块的错误能较早发现

75. (A)实现阶段进行,它所依据的功能模块描述和内部细节及测试方案应在(B)阶段完成,目的是发现编程错误。(C)所依据的模块说明书和测试方案应在(D)阶段完成,它能发现设计错误。(E)应在模拟的环境中进行强度测试的基础上进行,测试计划应在需求分析阶段完成。

A:①用户界面测试②输入输出测试

③集成测试④单元测试

B:①需求分析②概要设计

③详细设计④结构设计

C:①集成测试②可靠性测试

③系统性能测试④强度测试

D:①编程②概要设计

③维护④详细设计

E:①过程测试②函数测试

③确认测试④逻辑路径测试

76.评审是对软件进行静态测试的一种方法,下述结论中,( )是与软件评审无关的内容。

A.尽量发现错误 B.检查软件文档

c.根据评审标准 D.依靠测试信息

77.以下说法正确的是( )。

A.单元测试涉及编码和详细设计的文档

B.集成测试涉及其他系统元素

C.确认测试涉及编码的需求规格说明书

D.系统测试涉及概要设计信息

78.以下说法错误的是( )。

A.满足条件覆盖并不一定满足判定覆盖

B.判定/条件覆盖同时满足判定覆盖和条件覆盖

79.软件测试中常用的静态测试方法是(A)和(B)。(B)用来检查模块或子程序间的调用是否正确。分析方法(白盒方法)中常用的方法是(C)方法。非分析方法(黑盒方法)中常用

的方法是(D)方法和(E)方法。(E)方法根据输出对输入的依赖关系设计测试用例。

供诜择的答案:

A—B:

①引用分析②算法分析

③可靠性分析④效率分析

⑤接口分析⑥操作性分析

C、D、E:

①路径测试②等价类

③因果图④归纳测试

⑤综合测试⑥追踪

⑦深度优先⑧排错

⑨相对图

80.对于软件测试时需要的三类信息,以下完全正确的解释是( )o

A.软件配置:指需求规格说明书、设计说明书、测试用例等

B.测试配置:指测试方案、测试驱动程序、源程序等

c.测试工具:指计算机辅助测试的有关工具

81.以下说法错误的是( )。

A.语句覆盖是比较弱的覆盖标准

B.对于多分支的判定,判定覆盖要使每一个判定表达式获得每一种可能的值来测试

C.语句覆盖较判定覆盖严格,但该测试仍不充分

D.条件组合覆盖是比较强的覆盖标准

82.以下说法错误的是( )。

A.自底向上的缺点是系统整体功能最后才能看到

B.自底向上的缺点是上层模块错误发现得晚,影响范围大

c.自顶向下的缺点是把许多测试推迟到用实际模块代替桩模块之后

D.自顶向下的缺点是设计较多的桩模块,测试开销大

E.自顶向下的缺点是早期不能并行工作,不能充分利用人力

83.软件测试方法可以分为测试的分析方法和测试的非分析方法两种。测试的分析方法是通过分析程序的(A)来设计测试用例的方法。除了测试程序外,它还适合对于(B)阶段的软件文档进行测试。测试的非分析方法是根据程序的(C)来设计测试用例的方法。除了测试程序外,它也适用于对(D)阶段的软件文档进行测试。白盒法测试程序时常按照给定的覆盖条件选取测试用例。(E)覆盖比(F)覆盖严格,它使得每一个判定获得每一种可能的结果。(G)覆盖既是判定覆盖,又是条件覆盖,但它并不能保证使各种条件都能取到所有可能的值。(H)覆盖比其他条件都要严格,但它不能保证覆盖程序中的每一条路径。单元测试一般以(I)为主,测试的依据是(J)。

供选择的答案:

A、C:

①应用范围②内部逻辑

③功能④输人数据

B、D:

①编码②软件详细设计

③软件总体设计④需求分析

E—H:

①语句②判定

③条件④判定/条件

⑤条件组合⑥路径

I:①白盒法②黑盒法

J:①模块功能说明书②系统模块结构图

③系统需求规格说明书

84.软件测试是软件工程方法的重要环节,是保证软件质量的重要措施,软件测试的准确含义为( )。

A.发现程序代码中的错误 B.进行程序代码的调试

c.保证软件开发的正确 D.证明软件错误的存在

85.软件测试是满足软件功能和性能要求,保证软件正确性的措施,一般软件测试计划的制定应开始于软件开发的( )阶段。

A.需求分析 B.软件设计 C.程序编码 D.软件计划

86.软件的集成测试最好由( )承担,以提高集成测试的效果。

A.该软件的设计人员 B.该软件开发组的负责人

C.该软件编程人员 D.不属于该软件开发组的软件设计人员

87.组装测试计划是在( )阶段制定的。

A.可行性研究和计划 B.需求分析

C.概要设计 D.详细设计

88.以下说法错误的是( )。

A.穷举地输入测试数据进行黑盒测试是不可能的

B.白盒法也不可能进行穷举测试

C.黑盒法和白盒法都不可能使测试达到彻底

D.人工检测不能发现计算机不易发现的错误

89.以下说法错误的是( )。

A.单元测试指对源程序中每一个程序单元进行测试

B.集成测试各模块组装起来,检查各个模块是否正确实现规定的功能

C.确认测试主要检查已实现的软件是否满足需求规格说明书中确定了的各种需求

D.系统测试指把已确认的软件与其他系统元素结合在一起进行测试

90.一个程序如果把它作为一个整体,它也是只有一个人口、一个出口的单个顺序结构,这是一种( )。

A.结构程序 B.组合的过程

C.自顶向下设计 D.分解过程

91.下面的叙述( )是正确的。

①在软件开发过程中,编程作业的代价最高

②良好的程序设计风格应以缩小程序占用的存储空间和提高程序的运行速度为原则

③为了提高程序的运行速度,有时采用以存储空间换取运行速度的办法

④对同一算法,用高级语言编写的程序比用低级语言编写的程序运行速度快

⑤Cobol语言是一种非过程型语言

⑥LISP语言是一种逻辑型程序设计语言

A.①③⑤ B.②③④

C.③ D.④⑥

92.与选择编程语言无关的因素是( )。

A.软件开发的方法 B.软件执行的环境

C.程序设计风格 D.软件开发人员的知识

93.在高级语言中,子程序调用语句中的(A)在个数、类型、顺序方面都要与子程序说明中给出的(B)相一致。用高级语言编写的程序经编译后产生的程序叫(C)。用不同语言编写的程序产生(D)后,可用(E)连接在一起生成机器可执行的程序。

供选择的答案:

A、B:

①实际参数②条件参数

③形式参数④局部参数

⑤全局参数

C、D、E:

①源程序②目标程序

③函数④过程

⑤机器指令代码⑥模块

⑦连接程序⑧程序库

94.程序控制一般分为( )、分支、循环三种基本结构。

A.分块 B.顺序

C.循环 D.分支

95.在解决人工智能上使用最多的有非常强的表处理功能的函数程序设计语言是( )。 A.Prolog B.Snobol

C Cobol D.Lisp

96.以谓词逻辑为基础的,核心是事实、规则和推理机制度实用逻辑程序设计语言是( )。

A. Java B.Lisp

C. Prolog D.Smalltalk

97.软件语言是指用于书写计算机软件的语言。它主要包括需求定义语言、功能性语言、设计性语言、程序设计语言和文档语言等,下列语言中,( )是一种典型的设计性语言,常用于详细设计。

A.PSL B.PDL

C.EIFFEL D.MODULA

98.在结构化程序设计思想提出之前,在程序设计中曾强调程序的效率,现在人们更重视程序的( )。

A.技巧性 B.保密性

C.一致性 D.可理解性

99.不适合作为数据处理的语言是( )。

A.Prolog B.C语言

C.4GL D.SQL语言

100.各种程序设计语言中都有多种数据类型,纯量数据类型和结构数据类型是两大基本数据类型。例如,(A)等都是前者,而(B)都是后者。子程序通常分为两类:(c)和(D),前者是命令的抽象,后者是为了求值。一些重要的程序语言(如c和Pascal)允许过程的递归调用。通常用(E)来实现递归调用中的存储分配。

供选择的答案:

A、B:

①双精度型、枚举和数组②数组、记录和联合

③指针、数组和记录④实型、布尔型和指针

⑤复型、指针和记录⑥实型、整型和联合

C、D:

①标准子程序②进程

③过程④用户定义子程序

⑤函数⑥分程序

⑦模块

E:①栈②堆

③数组④链表

101.在编制程序时,应采纳的原则之一是( )。

A.不限制goto语句的使用 B.减少或取消注释行

C.程序越短越好 D.程序结构应有助于读者理解

102.程序语言的语言处理程序是一种(A)。(B)是两类程序语言处理程序,它们的主要区别之一在于(c)。常用的中间代码表示有前缀表示、后缀表示(逆波兰表示)、多元组等,它们都比中缀表示更有利于机器的机械性处理。算术表达式为:

x+a*(y-b)-z/f

其中的算术运算符遵守先乘除后加减的运算规则。则上述表达式的前缀表示为(D),后缀表达式为(E)。

A:①系统软件②应用软件

③实时软件④分布式系统

B:①高级语言程序和低级语言程序②解释程序和编译程序

③编译程序和操作系统④系统程序和应用程序

C:①单用户与多用户的差别②对用户程序的查错能力

③机器执行的效率④是否生成目标程序

D、E:

①+-x*a-yb/zf ②-+x*a-yb/zf

③-+a*x-ybz/f ④xay b-*+zf/-

⑤abxy+*-zf/- ⑥xayb-*+z/f-

103.为了提高易读性,源程序内部应加功能性注释,用于说明( )。

A.模块总的功能 B.程序段或语句的功能

c.模块参数的用途 D.数据的用途

104.项目的应用领域是选择编程语言关键的因素之一,不适合作为项目应用领域的类型是( )。

A.系统软件 B.数据处理与数据库应用

C.实时处理 D.UNIX操作系统

105.用高级语言编写程序时,子程序调用语句中的实参必须与子程序说明中的形式参数在(A)上保持一致,在允许子程序递归调用的高级语言环境中,需用动态存储管理方法,它通常使用一个(B)存人子程序的调用记录,调用记录可包括:

①全局变量存储区域的(c)

②调用点所在子程序的(D)

③调用点的(E)

④形式参数和实参的通信区域

⑤返回值

⑥本子程序的局部变量和临时变量存储区域等

A:①个数、类型②个数、顺序

③个数和、格式、顺序④个数、类型、顺序

B:①线性表②队列

③堆④下堆栈

C、D、E:

①子程序首地址②调用记录首地址

③参数地址④寄存器地址

⑤返回地址⑥开始地址

106.以下说法错误的是( )。

A.适用于实时处理的语言有:汇编语言、Ada语言

B.编写系统软件时,可选用汇编语言、C语言、Pascal语言和Ada语言

C.如果要完成人工智能领域内的系统,应选择Prolog、Lisp、c语言和Ada语言

D.适用于数据处理与数据库应用的语言有:Cobol、SQL、4GL语言

107.以下说法正确的是( )。

A.Fortran语言具有汇编语言的某些特性,使程序运行效率高

B.Pascal语言是世界上第一个被正式推广应用的计算机语言

c.c语言应用是第一个体现结构化编程思想的语言

D.PL/1能够适用于多种不同的应用领域,因太庞大,难以推广使用

108.以下说法正确的是( )。

A.Fortran、Cobol语言是第三代语言

B.Pascal、C语言是第二代语言

C.4GL语言是第四代语言

D.Fortran、c语言是第三代语言

109.在商业系统的开发中应用最广泛的语言是( )。

A.SQL语言 B.Fortran语言

C.Smalltalk语言 D.Cobol语言

110.程序设计语言一般来说,可划分为低级语言和高级语言两大类,与高级语言相比,用低级语言开发的程序,具有( )特点。

A.运行效率低,开发考虑低 B.运行效率低,开发效率高

c.运行效率高,开发效率低 D.运行效率高,开发效率高

111.程序设计语言的心理特性在语言中表现不应包括( )。

A.歧义性 B.简洁性

C.保密性 D.传统性

112.在结构化程序思想提出之前,在程序设计中曾强调程序的( ),现在人们更重视程序的( )。

A.效率 B.安全性

C.一致性 D.可理解性

113.最早用于科学计算的程序设计语言是( )。

A.PROLOG语言 B.SMALLTALK语言

C.Fortran语言 D.Cobol语言

114.下列( )语言提供指针且不存在布尔类型,并且它广泛应用于系统程序设计。

A.Pascal B.Delphi

C.Ada D.C

115.程序设计语言的工程特性其中之一表现在( )。

A.软件的可重用性 B.数据结构的描述性

c.抽象类型的描述性 D.数据库的易操作性

116.在下列计算机语言中,属计算机的低级程序语言有(A),计算机的高级程序语言有(B),第四代程序语言(4GL)有(c)。称一种语言为低级语言是由于它(D),而高级程序语言(E)。

供选择的答案:

A:①Basic语言②Pascal语言

③汇编语言④sQL语言

B:④WPS ②Windows

③DBMS ④Pascal

C:①C++ ②SQL

③VisualBasic ④LOTUS

D:①离机器特性近②离自然语言近

③编程难度低④通用性强

E:①不必经过解释能直接执行②必须经过解释才能执行

③必须经过编译才能执行④必须经过编译或解释才能执行

117.程序设计语言的技术特性不应包括( )。

A.数据结构的描述性 B.抽象类型的描述性

c.数据库的易操作性 D.软件的可移植性

118. 适合在互联网上编写程序可供不同平台上运行的面向对象的程序设计语言是( )。

A. Algol B. Java

C.Smalltalk D.Lisp

119.程序设计语言用于书写计算机程序,它包含语法、语义和( )三方面。

A.语境 B.语调

C.语用 D.词语

120.将非结构化程序转换为结构程序的过程中,下列( )方法不适用具有循环结构的程序。

A.重复编码法 B.状态变量法

C.布尔标记法 D.以上全部

121.源程序文档化要求在每个模块之前加序言性注释。该注释内容不应有( )。

A.模块的功能 B.语句的功能

C.模块的接口 D.开发历史

122.提高程序效率的根本途径并非在于( )。

A.选择良好的设计方法 B.选择良好的数据结构

c.选择良好的算法 D.对程序语句作调整

123.人们在使用高级程序设计语言编程时,首先可通过编译程序发现源程序中的全部(A)及部分(B),然后可采用(C)来发现程序中的运行错误和采用(D)来确定错误的位置,(E)是泛指用户在验收中发现的结果与需求不符的错误。

供选择的答案:

A、B、E:

①符号错误②逻辑错误

③语法错误④通路错误

⑤语义错误⑥溢出错误

⑦设计错误

C、D:

①诊断②测试

③校验④排错

⑤普查⑥试探

124. 在C++语言中引进了类的概念。类的定义包括类名、类的说明和类的实现。(A)

是类的外部接口,(B)是类的内部表示,类具有(c)、(D)、和(E)。有了(c)可以隐藏类对象内部实现的复杂细节,有效地保护内部所有数据不受外部破坏;(D)增强了类的共享机制,实现了软件的可重用性,简化系统的开发工作;(E)可实现函数重载和运算符重载。

供选择的答案:

A、B:

①类的引用②类的说明

③类的实现④类的标识

⑤类的构造⑥类的成员说明

C—E:

①开放性②封装性

③兼容性④继承性

⑤多态性⑥可扩充性

125.在高级程序设计语言中,使用参数是子程序之间传递信息的一种手段。子程序说明中的参数称为形式参数,调用语句中的参数称为实参。调用时,实参的个数、类型和顺序要和形式参数保持一致。

知道一种语言(或编译器)使用哪种参数传递方法是很重要的,因为程序的运行依赖于所用的方法。参数传递方法有传值调用(call by value)、引用调用(call by reference)、传名调用(call by name)和宏扩展(macro expansion)。

传值调用是指把实参的(A)传递给相应的形式参数,子程序通过这种传递形式参数(B);引用调用是指把实参的(c)传递给相应的形式参数,此时,子程序形式参数的一次引用或赋值被处理成对形式参数的(D)访问。c语言中的函数,以(E)方式进行参数传递。

供选择的答案:

A、C:

①地址②名

③值④地址和值

⑤值和名⑥名和地址

B:①可传回结果的值

②可传回存放结果的地址

③可传回结果的值和存放结果的地址

④不可传回任何结果(值或地址)

D:①直接②间接

③变址④引用或赋值

E:①传值调用②引用调用

③传名调用④宏扩展

126.软件语言主要包括需求定义语言、功能性语言、设计性语言、程序设计性语言和文档语言等。功能性语言用来书写软件的功能规约,如(A)语言。函数式程序设计语言和逻辑式程序设计语言都属于(B)语言。逻辑式语言的基础是(c),如PROLOG是逻辑式程序设计语言,它的基本运算单位是(D)。函数式语言是一种面向(E)的语言。

供选择的答案:

A:①PDL ②z

③JAVA ④PSL

B:①申述式②命令式

③过程④第四代

C:①λ演算②异调代数

③谓词逻辑④范畴论

D:①Horn子句②函数

③子程序④模块

E:①对象②谓词

③表达式④值

127.软件语言是指用于书写计算机软件的语言。它主要包括需求定义语言、功能性语言、设计性语言、程序设计语言和文档语言等。(A)就是一种典型的设计性语言,常用于详细设计。(B)语言是一种功能性语言,它是以(C)理论为基础的一种规约语言。程序设计语言用于书写计算机程序,它包含语法、语义和(D)三个方面。程序设计语言又可分为过程式语言和非过程式语言,如(E)就是典型的非过程式语言。

供选择的答案:

A:①PSL ②PDL

③Eiffel ④Modula

B:①Prolog ②OBJ

③Java ④z

C:①一阶谓词演算②λ演算

③异调代数④范畴论

D:①语境②语调

③语用④词语

E:①Prolog和RPG ②Java和c++

③Lisp和Ada ④Java和Ada

第四章 黑盒测试

第四章黑盒测试 一、判断分析题 1.软件测试员可以对产品说明书进行白盒测试。( ) 2.静态白盒测试可以找出遗漏之处的问题。( ) 3.总是首先设计白盒测试用例。() 4.用黑盒法测试时,测试用例是根据程序内部逻辑设计的。() 5.黑盒测试方法中最有效的是因果图法。( ) 6.软件测试按照测试过程分类为黑盒、白盒测试。() 7.白盒测试又称结构测试、逻辑驱动测试或基于程序的测试。() 8.白盒测试时一般由开发人员兼任测试人员的角色。() 9.黑盒测试是从用户观点出发的测试。() 10.白盒测试是从用户观点出发的测试。() 11.白盒测试根据程序外部特征进行测试,黑盒测试根据程序内部逻辑结构进行测试。() 12.程序通过了全面的白盒测试,就不需要再进行黑盒测试了。() 13.代码评审是检查源代码是否达到模块设计的要求。() 14.代码评审员一般由测试员担任。() 15.对于同一个测试对象,等价类的测试用例数多于边界值的测试用例数。() 16.如果输入条件规定了取值范围,则可定义一个有效等价类和两个无效等价类。() 17.不能对输出值域进行健壮性测试。() 18.有n个变量的函数的健壮最坏情况测试用例的个数为:5的n次方。() 19.有n个变量的函数的健壮最坏情况测试用例的个数为:7的n次方。() 20.有n个变量的函数的健壮性测试用例的个数为:5n+1。() 21.有n个变量的函数的最坏情况测试会产生5的n次方个测试用例。() 22.有n个变量的函数的边界值分析会产生4n+1个测试用例() 23.边界值分析的假设是“多缺陷”假设。() 24.健壮性测试的主要价值是观察例外情况的处理。() 25.在设计测试用例时,应包括合理的输入条件和不合理的输入条件。( ) 26.弱健壮等价类测试基于多缺陷假设。() 27.强健壮等价类测试是基于多缺陷假设,并考虑了无效值。()

黑盒测试实验报告

实验报告书 课程名称:软件测试 实验题目:黑盒测试报告 专业:教育技术学 班级:教技142 学生姓名:安卓 指导老师:郭小雪 所属学期:2017-2018学年第二学期

一、引言 1.1目的 测试报告为三角形问题和找零钱最佳组合问题项目的黑盒测试报告,目的在于总结测试阶段的测试以及分析测试结果。 实验环境 在Windows 2000(SP2) 或Windows XP 操作系统上,使用C++语言,工具作为开发环境(IDE) 实验要求 1.根据给出的程序分别使用等价类划分法、边界值分析法、判定表 方法、因果图法、正交试验法、功能图法、错误推测法来设计相应的测试用例。 2.输入数据进行测试,填写测试用例。 二、实验原理 黑盒测试原理:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看作一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试。 从理论上讲,黑盒测试只有采用穷举输入测试,把所有可能的输入都

作为测试情况考虑,才能查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但可能的输入进行测试。这样看来,完全测试是不可能的,所以我们要进行有针对性的测试,通过制定测试案例指导测试的实施,保证软件测试有组织、按步骤,以及有计划地进行。黑盒测试行为必须能够加以量化,才能真正保证软件质量,而测试用例就是将测试行为具体量化的方法之一。具体的黑盒测试用例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法等。 等价类划分的办法是把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值。该方法是一种重要的,常用的黑盒测试用例设计方法。 1 划分等价类 划分等价类:等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试。因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据。取得较好的测试结果。等价类划分可有两种不同的情况:有效等价类和无效等价类。 有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中

黑盒测试流程及方法

测试流程依次如下: 1.需求:阅读需求,理解需求,与客户、开发、架构多方交流,深入了解需求。--testing team 2.测试计划: 根据需求估算测试所需资源(人力、设备等)、所需时间、功能点划分、如 何合理分配安排资源等。---testing leader or testing manager 3.用例设计:根据测试计划、任务分配、功能点划分,设计合理的测试用例。---testing leader, senior tester 4.执行测试:根据测试用例的详细步骤,执行测试用例。--every tester(主要是初级测试人员) 5.执行结果记录和bug记录:对每个case记录测试的结果,有bug的在测试管理工具中编写bug记录。--every tester(主要是初级测试人员) 6.defect tracking:追踪leader分配给你追踪的bug.直到 bug fixed。--every tester 7.测试报告:通过不断测试、追踪,直到被测软件达到测试需求要求,并没有重大bug. 8.用户体验、软件发布等…… 详细测试步骤: 1. 书写测试计划 2. 审核测试计划,未通过返回第一步 3. 书写测试用例; 4. 审核测试用例,未通过返回第三步 5. 测试人员按照测试用例逐项进行测试活动,并且将测试结果填写在测试报告上;(测试 报告必须覆盖所有测试用例) 6. 测试过程中发现bug,将bug填写在bugzilla上发给集成部经理;(bug状态NEW) 7. 集成部经理接到bugzilla发过来的bug 7.1 对于明显的并且可以立刻解决的bug,将bug发给开发人员;(bug状态ASSIGNED); 7.2 对于不是bug的提交,集成部经理通知测试设计人员和测试人员,对相应文档进行修改; (bug状态RESOLVED,决定设置为INVALID); 7.3 对于目前无法修改的,将这个bug放到下一轮次进行修改;(bug状态RESOLVED,决定设置为REMIND) 8. 开发人员接到发过来的bug立刻修改;(bug状态RESOLVED,决定设置为FIXED) 9. 测试人员接到bugzilla发过来的错误更改信息,应该逐项复测,填写新的测试报告 (测试报告必须覆盖上一次中所有REOPENED的测试用例); 10. 如果复测有问题返回第六步(bug状态REOPENED) 11. 否则关闭这项BUG(bug状态CLOSED)

黑盒测试方法实例

黑盒测试方法实例分析 一:三角形问题(等价类划分法) 例:输入三个整数为三角形的三条边的长度值,程序打印输出这个三角形为不等边的,等腰的,或是等边三角形。 分析: 设三边分别为A,B,C,如能构成三角形的三边,须: ●A>O,B>0,C>0,且A+B>C,B+C>A,A+C>B; ●如是等腰三角形,则要判断A=B||A=C; ●如是等边三角形,须判断是否A=B,且B=C,且A=C; 由此可得三角形等价类设计表:

设计测试用例,输入顺序为A,B,C 二:找零钱最佳组合(边界值分析法) 例:假设商店货品价格(R)皆不大于100元(且为整数),若顾客付款在100元内(P),求找给顾客最少货币个(张)数?(货币面值50元(N50),10元(N10),5元(N5),1元(N1)四种); 1:分析输入的情形 R:商店货品价格(R=<100且R为整数) P:顾客付款金额(0 100 (无效输出)(1) ●R <= 0 (无效输出)(2)

(1)(2)为R的无效输入 ●P > 100(多付)(无效输出)(3) ●0 < R < = 100 P < R (少给)(无效输出)(4) (3)(4)为P的无效输入 ●R<= P <= 100 (5) 0 < R < = 100 (6) (5)(6)同时满足,交易才能进行2:分析输出情形 设PR=P-R(即PR为找给顾客的余额) ●N50 N50 = 1 (PR>=50)(7) N50 = 0 (PR<50)(8) ●N10 4>=N10>=1 (40>=PR>=10) (9) N10 = 0 (PR<10) (10) ●N5 N5=1 (11) N5 = 0 (PR减去个位上钱数能被10整除)(如14-4=10)(12)●N1 4>=N1>=1 (13) N1 = 0 (PR为5的倍数)(14) 3:由上述输入/输出条件组合出可能的情形。 ●R > 100 (1) ●R <= 0 (2) ●0 < R <= 100, P > 100 (3) ●0 < R <= 100, P < R (4) ●0 < R <= 100, R <= P <= 100, RR = 50 (5)(6)(7) ●0 < R <= 100, R <= P <= 100, RR = 49 (5)(6)(8)(9)(11)

黑盒测试举例

软件测试分类及介绍: 软件测试是一项复杂的系统工程,从不同的角度考虑可以有不同的划分方法,对测试进行分类是为了更好的明确测试的过程,了解测试究竟要完成哪些工作,尽量做到全面测试。 1,按是否需要执行被测软件的角度 按是否需要执行被测软件的角度,可分为静态测试和动态测试,前者不利用计算机运行待测程序而应用其他手段实现测试目的,如代码审核。(我认为主要是让测试人员对编译器发现不了的潜在错误进行分析,如无效的死循环,多余的变量等),而动态测试则通过运行被测试软件来达到目的。 2、按阶段划分: 1 单元测试 单元测试是对软件中的基本组成单位进行的测试,如一个模块、一个过程等等。它是软件动态测试的最基本的部分,也是最重要的部分之一,其目的是检验软件基本组成单位的正确性。因为单元测试需要知道内部程序设计和编码的细节知识,一般应由程序员而非测试员来完成,往往需要开发测试驱动模块和桩模块来辅助完成单元测试。因此应用系统有一个设计很好的体系结构就显得尤为重要。 一个软件单元的正确性是相对于该单元的规约而言的。因此,单元测试以被测试单位的规约为基准。单元测试的主要方法有控制流测试、数据流测试、排错测试、分域测试等等。

2 集成测试 集成测试是在软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接口是否正确。它根据集成测试计划,一边将模块或其他软件单位组合成越来越大的系统,一边运行该系统,以分析所组成的系统是否正确,各组成部分是否合拍。集成测试的策略主要有自顶向下和自底向上两种。 3 系统测试 系统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正确并非一项简单的任务,它被称为测试的“先知者问题”。因此,系统测试应该按照测试计划进行,其输入、输出和其他动态运行行为应该与软件规约进行对比。软件系统测试方法很多,主要有功能测试、性能测试、随机测试等等。 4 验收测试 验收测试旨在向软件的购买者展示该软件系统满足其用户的需求。它的测试数据通常是系统测试的测试数据的子集。所不同的是,验收测试常常有软件系统的购买者代表在现场,甚至是在软件安装使用的现场。这是软件在投入使用之前的最后测试。 5 回归测试 回归测试是在软件维护阶段,对软件进行修改之后进行的测试。其目的是检验对软件进行的修改是否正确。这里,修改的正确性有两重含义:一是所作的修改达到了预定目的,如错误得到改正,能够适应新的运行环境等等;二是不影响软件的其他功能的正确性。

软件测试实验报告(测试计划+黑盒测试+白盒测试)

河北民族师范学院 软件测试课程设计报告 题目:NextDate函数 姓名: 班级: 学号: 指导老师: 2014.10.9 目录 第1章软件测试的概念和设计要求 (3) 1.1 测试目的 (3) 1.2 测试选题 (4) 1.3测试人员 (4) 1.4测试方法 (4) 1.5 测试资料及参考书 (4) 1.6关于黑盒测试 (4) 1.7 关于白盒测试 (5) 1.8、黑盒测试与白盒测试的比较 (6) 1.9 软件测试过程 (6) 1.10数据整理 (7) 第2章NextDate函数问题 (8) 2.1NextDate函数的黑盒测试 (8) 2.1.1.问题描述: (8) 2.1.2.程序代码(开发环境:Windowsxp xp、java): (8) 2.1.3.测试方法 (9) 2.1.4.测试用例设计 (9)

2-2NextDate函数的白盒测试 (11) 2.2.1核心程序代码 (11) 2.2.2程序流程图 (12) 2.2.3 测试用例 (12) 2.2.4程序控制流图 (14) 设计心得与体会 (14) 第1章软件测试的概念和设计要求 1.1 测试目的 1.练习和掌握软件测试管理的一般过程与步骤; 2.掌握测试管理的人工过程和能够通过相关管理软件实现以下工作: a)配置软件资产信息、软件需求、软件模型和缺陷数据库; b)创建和管理多个测试组和用户; c)配置测试环境、编写详细测试计划、安排测试进度; d)设计测试脚本、测试用例; e)实施测试、执行测试和评估测试。 1.2 测试选题 NextDate函数; 1.3测试人员 张@@:软件测试计划及相关资料的编写与收集。 李@@:对特定问题编写程序代码,并对其进行黑盒测试。 王@@:对特定问题编写程序代码,并对其进行白盒测试。 1.4测试方法 对于选题,使用黑盒测试技术,测试内容包括等价类划分测试、边界值分析测试、决策表方法使用。 使用白盒测试技术,测试内容包括语句覆盖测试、分支覆盖测试、条件覆盖测试、分支/条件覆盖测试、条件组合覆盖测试及基本路径测试。

黑盒测试基本方法状态迁移法

状态迁移法 一、概念 1.什么是状态迁移法 在定义状态迁移法之前,先介绍一下程序的功能说明。一个程序的功能说明通常由动态说明和静态说明组成。动态说明描述了输入数据的次序或转移的次序。静态说明描述了输入条件与输出条件之间的对应关系。对于较复杂的程序,由于存在大量的组合情况,因此,仅用静态说明组成的规格说明对于测试来说往往是不够的,必须用动态说明来补充功能说明。 功能图方法是用功能图形式化地表示程序的功能说明,并机械地生成功能图的测试用例。功能图模型由状态迁移图和逻辑功能模型构成: (1)状态迁移图用于表示输入数据序列以及相应的输出数据。用状态和 迁移来描述一个状态指出数据输入的位置(或时间),而迁移则指明状态 的改变,同时要依靠判定表或因果图表示的逻辑功能。在状态迁移图中,由输入数据和当前状态决定输出数据和后续状态。 (2)逻辑功能模型用于表示在状态中输入条件和输出条件之间的对应关 系。逻辑功能模型只适合于描述静态说明,输出数据仅由输入数据决定。 (3)测试用例则是由测试中经过的一系列状态和在每个状态中必须依靠 输入/输出数据满足的一对条件组成。 如何从状态迁移图中选取用例我们采用节点代替状态,弧线代替迁移,那么状态迁移图就转换成为一个程序的控制流程图,问题也就随之转换为路径测试的问题了。所以,功能图方法其实是是一种黑盒/白盒混合使用的用例设计方法。比如在功能图方法中,用到的逻辑覆盖与路径测试的概念和方法,就是属于白盒测试方法中的内容。(逻辑覆盖是以程序内部的逻辑结构为基础的测试用例设计方法,该方法要求测试人员对程序的逻辑结构有清楚的了解。由于覆盖测试的目标不同,逻辑覆盖可分为:语句覆盖,判定覆盖,判定-条件覆盖,条件组合覆盖及路径覆盖。) 注意:测试人员应当注意区分黑盒测试中系统功能或者系统水平上的逻辑覆

黑盒测试

黑盒测试设计--有图 一、等价类法(三角形) 1,划分等价类(略) 2,写等价类表 3,写测试用例 二、因果图法(一) 程序的规格说明要求:输入的第一个字符必须是#或*,第二个字符必须是一个数字,此情况下进行文件的修改;如果第一个字符不是#或*,则给出信息N,如果第二个字符不是数字,则给出信息M。 一:写出所有的输入输出条件 原因结果 c1:第一个字符是# e1:给出信息N c2:第一个字符是* e2:修改文件 c3:第二个字符是一个数字e3:给出信息M 二:画出因果图 三,将因果图转换为判定表: 四,写用例 因果图法(二) 有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。 一,写出所有的输入输出条件 原因: 1.售货机有零钱找 2.投入1元硬币 3.投入5角硬币 4.押下橙汁按钮 5.押下啤酒按钮 结果: 21.售货机〖零钱找完〗灯亮 22.退还1元硬币 23.退还5角硬币 24.送出橙汁饮料 25.送出啤酒饮料 二,画出因果图 三、将因果图转换为判定表 四、写用例(略) 基本路径测试方法 voidSort(intiRecordNum,intiType) 1{ 2intx=0; 3inty=0; 4while(iRecordNum-->0)

5{ 6 If(iType==0) 7 x=y+2; 8else 9 If(iType==1) 10x=y+10; 11else 12x=y+20; 13} 14}

黑盒测试软件测试实验报告2

软件测试与质量课程实验报告实验2:黑盒测试法实验

缺席:扣10分实验报告雷同:扣10分实验结果填写不完整:扣1 – 10分其他情况:扣分<=5分总扣分不能大于10分 参考代码如下: (1)程序参考答案: #include double main() { int hours; double payment,wage; wage=20; cout<<"please input hours:"; cin>>hours; if(hours>=0&&hours<=168){ if (hours<40) payment=hours*wage ; else if ((hours>=40) && (hours<=50)) payment=40*wage+(hours-40)*1.5*wage; else if (hours>50) payment=40*wage+10*1.5*wage+(hours-50)*3*wage; cout<<"The final payment are:"< void main() { int year; int month,maxmonth=12; int day,maxday; printf("请输入年份:(1000~3000)"); scanf("%d",&year); if(year<1000 || year>3000) { printf("输入错误!请从新输入!\n");

什么是黑盒测试

?什么是黑盒测试 –又称功能测试或数据驱动测试,是针对软件的功能需求/实现进行测试 –通过测试来检测每个功能是否符合需求,不考虑程序内部的逻辑结构 –穷举输入测试 ?黑盒测试方法 –功能划分、等价类划分、边界值分析、因果图、错误推测等 ?什么是白盒测试 –白盒测试也称结构测试或逻辑驱动测试 –必须知道软件内部工作过程,通过测试来检测软件内部是否按照需求、设计正常运行 –通过逻辑覆盖、路径覆盖等方式选择测试用例,可以用测试覆盖率评价测试用例 ?白盒测试的主要方法 –对应于程序的一些主要结构:语句、分支、逻辑路径、变量;白盒测试的主要方法是:>语句覆盖方法> 分支覆盖方法>逻辑覆盖方法 ?动态测试 -动态测试需要在开发/测试环境或实际运行环境中运行软件,并使用测试用例去查找软件缺陷 –动态测试包括功能确认与接口测试、覆盖率分析、性能分析、内存分析等 ?静态测试 –静态测试不实际运行软件,主要是对软件的编程格式、结构等方面进行评估 –静态测试包括代码检查、程序结构分析、代码质量度量等。它可以由人工进行,也可以借助软件工具自动进行 在通常情况下,嵌入式软件测试一般采取黑盒测试与白盒测试相结合的方法。其中,白盒测试一般分为静态测试与动态测试。静态测试不实际运行软件,主要是对软件的编程格式、结构等方面进行评估,而动态测试需要在Host环境或Target环境中实际运行软件,并使用设计的测试用例去探测软件漏洞。 ?黑盒测试、白盒测试——测试用例设计阶段采用的方法 ?动态测试、静态测试——测试执行阶段采用的方法 测试方法: ?传统的测试方法: 1.由测试人员手工编写测试用例 2.缺点在于测试工作量大,重复多,回归测试难以实现 ?自动测试: 1.利用软件测试工具自动实现全部或部分测试工作:管理、设计、执行和报告 2.自动测试节省大量的测试开销,并能够完成一些手工测试无法实现的测试 手动测试和自动测试的比较 ?手工完成测试的全部过程无法保证测试的科学性与严密性: –修改的缺陷越多,回归测试越困难 –没有人能向决策层提供精确的数据以度量当前的工作进度及工作效率 –反复测试带来的倦怠情绪及其他人为因素使得测试标准前后不一 –测试花费的时间越长,测试的严格性也就越低 ?自动测试将测试人员从反复、烦杂的测试执行中解放出来,用更多的时间进行测试设计和结果分析 ?软件测试不可能完全自动化 ?不能完成所有手工测试任务 ?无创造性且灵活性差,不能改进测试的有效性

白盒测试和黑盒测试

白盒测试 白盒测试,又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子部的东西以及里面是如何运作的。"白盒"法全面了解程序部逻辑结构、对所有逻辑路径进行测试。"白盒"法是穷举路径测试。在使用这一方案时,测试者必须检查程序的部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。 采用什么方法对软件进行测试呢?常用的软件测试方法有两大类:静态测试方法和动态测试方法。其中软件的静态测试不要求在计算机上实际执行所测程序,主要以一些人工的模拟技术对软件进行分析和测试;而软件的动态测试是通过输入一组预先按照一定的测试准则构造的实例数据来动态运行程序,而达到发现程序错误的过程。在动态分析技术中,最重要的技术是路径和分支测试。下面要介绍的六种覆盖测试方法属于动态分析方法。 中文名:白盒测试 外文名:white-box testing 别称:结构测试、透明盒测试 白盒测试测试方法 白盒测试的测试方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、路径覆盖和程序变异。 白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。六种覆盖标准发现错误的能力呈由弱到强的变化: 1.语句覆盖每条语句至少执行一次。 2.判定覆盖每个判定的每个分支至少执行一次。 3.条件覆盖每个判定的每个条件应取到各种可能的值。 4.判定/条件覆盖同时满足判定覆盖条件覆盖。 5.条件组合覆盖每个判定中各条件的每一种组合至少出现一次。 6.路径覆盖使程序中每一条可能的路径至少执行一次。 白盒测试要求

软件测试黑盒测试实验

实验报告 课程名称软件测试 专业 班级 学号 姓名 指导教师

2018年6 月7日 实验四黑盒测试 等价类划分、边界值分析、决策表方法 一、问题描述:完成一段程序,要求实现这样的功能。输入三个整数a,b,c,分别作为三角形的三条边,取值范围为1-100,判断由三条边构成的三角形类型为等边三角形、等腰三角形、一般三角形以及不构成三角形。判断结果打印输出。 程序代码(开发环境:Windows7、Eclipse): import java.util.Scanner; public class Triangle { public static void main(String[] args) { double a, b, c; Scanner input = new Scanner(System.in); System.out.println("输入三角形的三边:"); a = input.nextDouble(); b = input.nextDouble(); c = input.nextDouble(); input.close(); if (a > 0 && b > 0 && c > 0) { if (a + b > c && a + c > b && b + c > a) { System.out.println("能构成三角形."); if (a * a + b * b == c * c || a * a + c * c == b * b || b * b + c * c == a * a) { if (a == b || a == c || b == c) { System.out.println("为等腰直角三角形."); } else { System.out.println("一般直角三角形."); } } else if (a == b && b == c && a == c) { System.out.println("为等边三角形."); } else if ((a == b && a != c) || (a == c && a != b) || (b == c && a != c)) { System.out.println("为等腰三角形."); } else { System.out.println("为一般三角形."); }

白盒测试和黑盒测试实验报告

软件质量保证与测试 实验指导 计算机工程学院

测试环境配置 1.setting Junit (1) start Eclipse Select windows-preferences-java-build path –class path variables (2) click new, the figure of new variable entry is shown. (3) name JUNIT_LIB

select file-选择JUnit 插件所对应的JAR文件所在地,在Eclipse的安装目录的plugins目录中 2.JUNIT的组成框架 其中,junit.framework 和junit.runner是两个核心包。 junit.framework 负责整个测试对象的框架 junit.runner 负责测试驱动 Junit的框架又可分为: A、被测试的对象。 B、对测试目标进行测试的方法与过程集合,可称为测试用例(TestCase)。

C、测试用例的集合,可容纳多个测试用例(TestCase),将其称作测试包(TestSuite)。 D、测试结果的描述与记录。(TestResult) 。 E、每一个测试方法所发生的与预期不一致状况的描述,称其测试失败元素(TestFailure) F、JUnit Framework中的出错异常(AssertionFailedError)。 JUnit框架是一个典型的Composite模式:TestSuite可以容纳任何派生自Test 的对象;当调用TestSuite对象的run()方法是,会遍历自己容纳的对象,逐个调用它们的run()方法。 3.JUnit中常用的接口和类 Test接口——运行测试和收集测试结果 Test接口使用了Composite设计模式,是单独测试用例(TestCase),聚合测试模式(TestSuite)及测试扩展(TestDecorator)的共同接口。 它的public int countTestCases()方法,它来统计这次测试有多少个TestCase,另外一个方法就是public void run(TestResult ),TestResult是实例接受测试结果,run方法执行本次测试。 TestCase抽象类——定义测试中固定方法 TestCase是Test接口的抽象实现,(不能被实例化,只能被继承)其构造函数TestCase(string name)根据输入的测试名称name创建一个测试实例。由于每一个TestCase在创建时都要有一个名称,若某测试失败了,便可识别出是哪个测试失败。 TestCase类中包含的setUp()、tearDown()方法。setUp()方法集中初始化测试所需的所有变量和实例,并且在依次调用测试类中的每个测试方法之前再次执行setUp()方法。tearDown()方法则是在每个测试方法之后,释放测试程序方法中引用的变量和实例。 开发人员编写测试用例时,只需继承TestCase,来完成run方法即可,然后JUnit获得测试用例,执行它的run方法,把测试结果记录在TestResult之中。 Assert静态类——一系列断言方法的集合 Assert包含了一组静态的测试方法,用于期望值和实际值比对是否正确,即测试失败,Assert类就会抛出一个AssertionFailedError异常,JUnit测试框架将

黑盒测试心得

“黑盒”测“外”不测“内” “黑盒”测的是功能 黑盒测试也称功能测试或数据驱动测试。它在已知产品应具有的功能的条件下,通过测试来检测每个功能是否都能正常使用。在测试时,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。 “黑盒”法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试。“黑盒”法是穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但是可能的输入进行测试。 “黑盒”的两种基本方法 黑盒测试有两种基本方法,即通过测试和失败测试。 在进行通过测试时,实际上是确认软件能做什么,而不会去考验其能力如何。软件测试员只运用最简单,最直观的测试案例。 在设计和执行测试案例时,总是先要进行通过测试。在进行破坏性试验之前,看一看软件基本功能是否能够实现。这一点很重要,否则在正常使用软件时就会奇怪地发现,为什么会有那么多的软件缺陷出现? 在确信了软件正确运行之后,就可以采取各种手段通过搞“垮”软件来找出缺陷。纯粹为了破坏软件而设计和执行的测试案例,被称为失败测试或迫使出错测试。 黑盒测试的设计方法 黑盒测试是以用户的观点,从输入数据与输出数据的对应关系出发进行测试的,它不涉及到程序的内部结构。很明显,如果外部特性本身有问题或规格说明的规定有误,用黑盒测试方法是发现不了的。黑盒测试法注重于测试软件的功能需求,主要试图发现几类错误:功能不对或遗漏、界面错误、数据结构或外部数据库访问错误、性能错误、初始化和终止错误。 具体的黑盒测试方法包括等价类划分、因果图、正交实验设计法、边值分析、判定表驱动法、功能测试等。在使用时,自然要针对开发项目的特点对方法加以适当的选择。 ◆等价类划分 等价类划分是一种典型的黑盒测试方法,用这一方法设计测试用例可以不用考虑程序的内部结构,只以对程序的要求和说明,即需求规格说明书为依据,仔细分析和推敲说明书的各项需求,特别是功能需求,把说明中对输入的要求和输出的要求区别开来并加以分解。 由于穷举测试的数量太大,以致于无法实际完成,促使我们在大量的可能数据中选取其中的一部分作为测试用例。例如,在不了解等价分配技术的前提下,测试了1+1、1+2、1+3和1+4之后,还有必要测试1+5和1+6吗?能否放心地认为它们正确吗?那么1+999…(可以

黑盒测试的五种典型方法

1.等价类划分 等价类划分是一种典型的黑盒测试方法。等价类是指某个输入域的集合。它表示对揭露程序中的错误来说,集合中的每个输入条件是等效的。因此我们只要在一个集合中选取一个测试数据即可。等价类划分的办法是把程序的输入域划分成若干等价类,然后从每个部分中选取少数代表性数据当作测试用例。这样就可使用少数测试用例检验程序在一大类情况下的反映。 在考虑等价类时,应该注意区别以下两种不同的情况: 有效等价类:有效等价类指的是对程序的规范是有意义的、合理的输入数据所构成的集合。在具体问题中,有效等价类可以是一个,也可以是多个。 无效等价类:无效等价类指对程序的规范是不合理的或无意义的输入数据所构成的集合。对于具体的问题,无效等价类至少应有一个,也可能有多个。 确定等价类有以下几条原则: 如果输入条件规定了取值范围或值的个数,则可确定一个有效等价类和两个无效等价类。例如,程序的规范中提到的输入条包括“……项数可以从1 到999……”,则可取有效等价类为“l考项数<999”,无效等价类为“项数<l,,及“项数>999”。 输入条件规定了输入值的集合,或是规定了“必须如何”的条件,则可确定一个有效等价类和一个无效等价类。如某程序涉及标识符,其输入条件规定“标识符应以字母开头……”则“以字母开头者”作为有效等价类,“以非字母开头”作为无效等价类。 如果我们确知,已划分的等价类中各元素在程序中的处理方式是不同的,则应将此等价类进一步划分成更小等价类。 输入条件有效等价类无效等价类 。。。。。。 。。。。。。。。。。。。 。。。。。。。。。。。。 。。。。。。 根据已列出的等价类表,按以下步骤确定测试用例: 为每个等价类规定一个唯一的编号; 设计一个测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类。重复这一步,最后使得所有有效等价类均被测试用例所覆盖; 设计一个新的测试用例,使其只覆盖一个无效等价类。重复这一步,使所有无效等价类均被覆盖。这里强调每次只覆盖一个无效等价类。这是因为一个测试用例中如果含有多个缺陷,有可能在测试中只发现其中的一个,另一些被忽视。等价类划分法能够全面、系统地考虑黑盒测试的测试用例设计问题,但是没有注意选用一些“高效的”、“有针对性的”测试用例。后面介绍的边值分析法可以弥补这一缺点。 2.因果图 等价类划分法并没有考虑到输入情况的各种组合。这样虽然各个输入条件单独可能出错的情况已经看到了,但多个输入情况组合起来可能出错的情况却被忽略。采用因果图方法能帮助我们按一定步骤选择一组高效的测试用例,同时,还能为我们指出程序规范的描述中存在什么问题。

实验1利用黑盒测试技术设计测试用例分析.doc

14级本科《软件测试技术》实验指导书 实验1 利用黑盒测试技术设计测试用例 【实验目的】 1、熟悉并掌握黑盒测试的方法:等价类划分法、边界值分析法、错误推测法、场景法。 2、了解待测的功能,灵活应用黑盒测试方法中的等价类划分法、边界值分析法、错误推测法以及场景法,设计测试用例,掌握正面测试和负面测试。 【实验内容】 【1】应用等价类划分法进行测试。 用户注册功能,要求用户密码必须满足两个条件: ? 长度为6到8位。 ? 必须是字母和数字的组合。 (1)请分析等价类,填写表1-1。 表1-1 等价类表 (2)根据表1-1的等价类设计测试数据,填写表 1-2。 表1-2 根据等价类划分法设计的测试数据 【2】应用等价类划分法和边界值分析法进行测试。 在教务系统中进行课程成绩录入,要求0≤成绩≤100,且成绩为整数。 (1)请分析等价类,填写表1-3。 表1-3 等价类表

(2)根据表1-3的等价类设计测试数据,填写表1-4。 表1-4 根据等价类划分法设计的测试数据 (3)根据边界值分析法设计测试数据,填写表1-5。 表1-5 根据边界值分析法设计的测试数据 阅读附录A.9的功能描述,了解借书功能。设计借书功能的测试用例。(1)首先按照场景法来分析借书功能的基本流和备选流,见表2-12。 表2-12 借书功能的基本流和备选流 (2)设计借书功能的场景,见表2-13。 表2-13 借书功能的场景设计

I(Invalid,无效的)表示无效数据,“n/a”表示这个条件不适用于测试用例。 表2-14 测试用例表 【4】设计修改产品功能的测试用例。 阅读附录A.3、A.4的功能描述,了解添加产品、修改产品功能,分析添加产品功能的测试用例的设计思路,如表2-4所示,参考添加产品功能的测试用例(如表2-5所示),设计修改产品功能的测试用例,填写表2-6。 表2-4 添加产品功能的测试用例的设计思路

软件测试实验报告一

广东*融学院实验报告 课程名称:软件测试 」、实验目的及要求 1、理解测试用例的重要性。 2、熟练掌握等价类划分、边界值方法、决策表和因果图法设计测试用例。 二、实验环境及相关情况(包含使用软件、实验设备、主要仪器及材料等) 1. 使用软件:装有QTP功能测试软件 2 .实验设备:装有Windows的联网的个人计算机 三、实验内容及步骤(包含简要的实验步骤流程) 1、实验题目:登陆框测试 在各种输入条件下,测试程序的登录对话框功能。 用户名和密码的规格说明书如下:(密码规则同用户名规则。) 用户名长度为6至10位(含6位和10 位); 用户名由字符(a-z、A-Z)和数字(0-9)组成; 不能为空、空格和特殊字符。 要求:按照规格说明书,分别用等价类划分和边界值方法设计测试用例。 步骤:(1)分析规格说明书,确定输入条件、输出条件的有效等价类、无效等价类以及各个边界条件;(2)第二步:填表格并编号;(3)第三步:设计测试用例;(4)第四步:执行测试用例。 2、员工薪制冋题。 (1)年薪制员工:严重过失,扣年终风险金的4%,过失,扣年终风险金的2%。 (2)非年薪制员工:严重过失,扣月薪资的8%,过失,扣月薪资的4%。 步骤:(1)分析程序的规格说明,列出原因和结果;(2)找出原因与结果的因果关系、原因与原因之间的约束关系,画出因果图;(3)将因果图转化成决策表;(4)根据决策表,设计测试用例的输入数据和预期输出。

四、实验结果(包括程序或图表、结论陈述、数据记录及分析等,可附页) 等价类划分方法: 五、实验总结(包括心得体会、问题回答及实验改进意见,可附页) 通过本次实验,我理解了测试用例的重要性。熟练掌握了等价类划分、边界值方法、决策表和因果图法设计测试用例。 六、教师评语 1、完成所有规定的实验内容,实验步骤正确,结果正确; 2、完成绝大部分规定的实验内容,实验步骤正确,结果正确; 3、完成大部分规定的实验内容,实验步骤正确,结果正确; 4、基本完成规定的实验内容,实验步骤基本正确,所完成的结果基本正确; 5、未能很好地完成规定的实验内容或实验步骤不正确或结果不正确。 评定等级: 签名:

软件测试黑盒测试代码

实验一黑盒测试 1.实验目的 (1)能熟练应用黑盒测试技术进行测试用例设计; (2)对测试用例进行优化设计 2.实验内容 找零钱最佳组合 假设商店货品价格(R)皆不大于100 元(且为整数),若顾客 付款在100元内(P),求找给顾客最少货币个(张)数?(货 币面值50 元10 元,5 元,1 元四种)。 3.程序代码 #include"stdio.h" #include "conio.h" void main1() {int P; //所收到的钱总数 int R;//商品价格总数 int i=0,k=0,r50=0,r10=0,r5=0,r1=0; printf("请输入商品总价格:"); scanf("%d",&R); printf("请输入所收的钱是多少:");

scanf("%d",&P); k=P-R; if (R>100 || P>100 || R>P||P<=0||R<=) { printf("Wrong:输入大于100元或者商品总价大于所收的钱\n");} else { if (P-R>=50) { P=P-50; r50=r50+1; i++; } while (P-R>=10) { P=P-10; r10=r10+1; i++; } while (P-R>=5) { P=P-5; r5=r5+1; i++; } while (P-R>=1){ P = P-1; r1 = r1 + 1; i++; } printf("应该找:\n %d 张50块的\n %d 张10块的 \n %d 张5块的\n %d 张1块的\n共找钱%d张总共%d元\n",r50,r10,r5,r1,i,k); } } void main() {do {main1(); printf("******************************\n"); printf("请按回车继续:\n");}

黑盒测试方法课程练习题及答案

黑盒测试方法课程练习题 练习1 某城市的电话号码由三部分组成。第一部分为地区码:空白或三位数字;第二部分为前缀:非0或1开头的三位数;第三部分为主要电话号码:八位数字。 请用等价分类法来设计测试用例。 划分等价类: 输入等价类有效等价类无效等价类 地区码空白(1) 三位数字(2)不是空白(3) 有非数字字符(4)少于三位数字(5)多于三位数字(6) 前缀不是0开头(7) 不是1开头(8) 三位数字(9)0开头(10) 1开头(11) 有非数字字符(12)少于三位数字(13)多于三位数字(14) 电话号码八位数字(15)有非数字字符(16) 少于三位数字(17) 多于三位数字(18)设计测试用例: 选取数据覆盖等价类编号 234-12345678 (1)(7)(8)(9)(15) 123-234-12345678 (2)(7)(8)(9)(15) 123-234-12345678 (3) 1we-234-12345678 (4) 12-234-12345678 (5) 1234-234-12345678 (6) 123-012-12345678 (10) 123-123-12345678 (11) 123-a12-12345678 (12) 123-23-12345678 (13) 123-2345-12345678 (14) 123-234-1234567a (16) 123-234-12334 (17) 123-234-123456789 (18)

练习2 某城市的电话号码由三部分组成。第一部分为地区码:空白或三位数字;第二部分为前缀:非0或1开头的三位数;第三部分为主要电话号码:八位数字。 等价类结合边界值法: 选取数据覆盖等价类编号 234-12345678 (1)(7)(8)(9)(15) 123-234-12345678 (2)(7)(8)(9)(15) 123-234-12345678 (3) 1we-234-12345678 (4) 12-234-12345678 (5) 1-234-12345678 (5) 1234-234-12345678 (6) 12345-234-12345678 (6) 123-012-12345678 (10) 123-123-12345678 (11) 123-a12-12345678 (12) 123-23-12345678 (13) 123-2-12345678 (13) 123-2345-12345678 (14) 123-23456-12345678 (14) 123-234-12334 (17) 123-234-123 (17) 123-234-123456789 (18) 123-234-12345678912 (18) 练习3 有一个处理单价为1元5角钱的盒装饮料的自动售货机软件。若投入1元5角硬币,按下“可乐”、“雪碧”、或“红茶”按钮,相应的饮料就送出来。若投入的是2元硬币,在送出饮料的同时退还5角硬币。 请用因果图分析法来设计测试用例。 原因结果 (1)投入1元5角硬币(9)送出“可乐”按钮 (2)投入的是2元硬币(10)送出“雪碧”按钮 (3)按下“可乐”按钮(11)送出“红茶”按钮 (4)按下“雪碧”按钮(12)退还5角硬币 (5)按下“红茶”按钮 中间按钮: (6)按下“可乐”、“雪碧”、或“红茶”按钮 (7)退还5角硬币 (8)钱已付清

相关主题
文本预览
相关文档 最新文档