软件测试习题

软件测试习题
软件测试习题

一、选择题

1.软件测试的目的是(B )。

A)试验性运行软件B)发现软件错误C)证明软件正确D)找出软件中全部错误2.软件测试中白盒法是通过分析程序的( B )来设计测试用例的。

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

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

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

4.为了提高软件测试的效率,应该( D )。

A)随机地选取测试数据B)取一切可能的输入数据作为测试数据

C)在完成编码以后制定软件的测试计划D)选择发现错误可能性最大的数据作为测试用例5.与设计测试用例无关的文档是(A )。

A)项目开发计划B)需求规格说明书C)设计说明书D)源程序

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

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

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

7.软件测试用例主要由输入数据和( C )两部分组成。

A)测试计划B)测试规则C)预期输出结果D)以往测试记录分析

8.成功的测试是指运行测试用例后( B )。

A)未发现程序错误B)发现了程序错误C)证明程序正确性D)改正了程序错误9.下列几种逻辑覆盖标准中,查错能力最强的是( D )。

A)语句覆盖B)判定覆盖C)条件覆盖D)条件组合覆盖

10.在黑盒测试中,着重检查输入条件组合的方法是( D )。

A)等价类划分法B)边界值分析法C)错误推测法D)因果图法

11.单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是(A )。A)系统功能B)局部数据结构C)重要的执行路径D)错误处理

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

A)需求分析B)概要设计C)详细设计D)编码

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

A)路径覆盖B)判定覆盖C)循环覆盖D)边界值分析

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

A)自顶向下渐增式测试B)自底向上渐增式测试C)非渐增式测试D)系统测试15.确认测试以( A )文档作为测试的基础。

A)需求规格说明书B)设计说明书C)源程序D)开发计划

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

A)程序内部逻辑B)程序的复杂度C)使用说明书D)程序的功能

17.程序的三种基本结构是(B )。

A)过程子、程序、分程序B)顺序、选择、循环

C)递归、堆栈、队列D)调用、返回、转移

18.结构化程序设计的一种基本方法是(D )

A)筛选法B)递归法C)归纳法D)逐步求精法

19.软件调试的目的是( A )

A)找出错误所在并改正之B)排除存在错误的可能性

C)对错误性质进行分类D)统计出错的次数

20.程序三种基本结构的共同特点是( D )

A)不能嵌套使用B)只能用来写简单程序

C)已经用硬件实现D)只有一个入口和一个出口

21.下面说法正确的是( C )。

A)经过测试没有发现错误说明程序正确B)测试的目标是为了证明程序没有错误C)成功的测试是发现了迄今尚未发现的错误的测试D)成功的测试是没有发现错误的测试22.覆盖准则最强的是( D )。

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

C)条件覆盖D)路径覆盖

23.发现错误能力最弱的是( A )。

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

C)条件覆盖D)路径覆盖

24.实际的逻辑覆盖测试中,一般以( C )为主设计测试用例。

A)条件覆盖B)判定覆盖

C)条件组合覆盖D)路径覆盖

25.下面( D )方法能够有效地检测输入条件的各种组合可能引起的错误。

A)等价类划分B)边界值分析

C)错误推测D)因果图

26.与确认测试阶段有关的文档是( A )。

A)需求规格说明书B)概要设计说明书

C)详细设计说明书D)源程序

27.超出软件工程范围的测试是( D )。

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

C)确认测试D)系统测试

28.软件测试不需要了解软件设计的(D )。

A)功能B)内部结构

C)处理过程D)条件

29.( B )方法需要考察模块间的接口和各模块之间的联系。

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

C)确认测试D)系统测试

30.调试应该由( B )完成。

A)与源程序无关的程序员B)编制该源程序的程序员

C)不了解软件设计的机构D)设计该软件的机构

31.基线是软件生存期中各开发阶段的一个特定点,它可作为一个检查点,当采用的基线发生错误时,我们可以返回到最近和最恰当的(C )上。

A)配置项B)程序C)基线D)过程

32.版本管理是对系统不同版本进行的(A )过程

A)标识与跟踪B)标识变更C)发布变更D)控制变更

33.在变更控制中,管理各个用户存取和修改一个特定软件配置对象的权限是( D )。

A)异步控制B)同步控制

C)存取控制D)基线控制

34. 在配置管理中,“登入”和“检出”处理实现了两个重要的变更控制要素,即同步控制和( B )。

A)异步控制B)同步控制

C)基线控制D)存取控制

35. 按照软件配置管理的原始指导思想,受控制的对象应是( C )。

A)软件元素B)软件配置项

C)软件项目D)软件过程

36. 软件配置项是软件配置管理的对象,指的是软件工程过程中所产生的( B )。

A)接口B)软件环境C)信息项D)版本

37.在变更控制中,可用来确保由不同用户所执行的并发控制是( B )。

A)异步控制B)同步控制C)存取控制D)基线控制

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

A)软件配置管理简称SCI

B)软件配置项是配置管理的基本单位

C)软件配置实际上是一动态的概念

D)软件工程过程中某一阶段的变更均要引起软件配置的变更

39.在设计人机界面时,应主要考虑的因素有(D)。

A)系统响应时间B)错误处理C)用户求助机制D)以上都是

40.人机界面的风格大致经过了( D )代的演变

A)一B)二C)三D)四

二、填空题

1.软件测试的目的是尽可能多地发现软件中存在的错误,将测试测试结果作为纠错的依据。2.测试阶段的基本任务是根据软件开发各阶段的文档资料和程序的内部结构,精心设计一组测试用例,利用这些实例执行程序,找出软件中潜在的各种错误和缺陷。

3.测试用例由输入数据和预期的输出数据两部分组成。

4.软件测试方法一般分为两大类:动态测试方法和静态测试方法。

5.动态测试通过运行程序发现错误。根据测试用例的设计方法不同,动态测试又分为黑盒测试与白盒测试两类。

6.静态测试采用人工检测和计算机辅助静态分析的手段对程序进行检测。

7.人工审查程序偏重于编码质量的检验,而软件审查除了审查编码还要对各阶段软件产品进行检验。

8.计算机辅助静态分析利用静态分析工具对测试程序进行特性分析。

9.黑盒法只在软件的接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求。10.白盒法必须考虑程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试。

11.白盒测试是结构测试,被测对象是源程序,以程序的内部逻辑为基础设计测试用例。

12.逻辑覆盖是对程序内部有判定存在的逻辑结构设计测试用例,根据程序内部的逻辑覆盖程度又可分为语句覆盖判定覆盖条件覆盖判定/条件覆盖条件组合覆盖路径覆盖6种覆盖技术。

13.实际的逻辑覆盖测试中,一般以条件组合覆盖为主设计测试用例,然后再补充部分用例,以达到路径覆盖测试标准。

14.循环覆盖是对程序内部有循环存在的逻辑结构设计测试用例,它通过限制循环次数来测试。

15.基本路径测试是在程序控制流程图基础上,通过分析控制构造的环路复杂性,导出基本路径集合,从而设计测试用例。

16.黑盒测试是功能测试,用黑盒技术设计测试用例有4种方法:等价类划分边界值分析错误推测因果图。

17.等价类划分从程序的功能说明,找出一个输入条件(通常是一句话或一个短语),然后将每个输入条件划分成两个或多个等价类。

18.边界值分析是将测试边界情况作为重点目标,选取正好等于、刚刚大于或刚刚小于边界值的测试数据。如果输入或输出域是一个有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。

19.在测试程序时,根据经验或直觉推测程序中可能存在的各种错误,称为错误推测法。20.因果图的基本原理是通过画因果图,把用自然语言描述的功能说明转换为判定表,最后为判定表每一列设计一个测试用例。

21.测试的综合策略是在测试中,联合使用各种测试方法。通常先用黑盒法设计基本的测试用例,再用白盒法补充一些必要的测试用例。

22.软件测试过程中需要3类信息:软件配置、测试配置和测试工具。

23.软件测试一般经过4个测试:单元测试集成测试确认测试系统测试。

24.单元测试指对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误,它涉及编码和详细设计的文档。

25.单元测试主要测试模块的5个基本特征:模块接口局部数据结构重要的执行路径错误处理边界条件。

26.在单元测试中,需要为被测模块设计驱动模块和桩模块。驱动模块用来模拟被测模块的上级调用模块,桩模块用来代替被测模块所调用的模块。

27.集成测试指在单元测试基础上,将所有模块按照设计要求组装成一个完整的系统进行的

测试。也称组装测试或联合测试。

28.集成测试的方法有两种:非渐增式测试渐增式测试。

29.渐增式测试有两种不同的组装模块的方法:自顶向下结合自底向上结合。

30.自顶向下渐增式测试不需要编写驱动模块,只需要编写桩模块,其步骤是从模块开始,沿着被测程序的顶层的控制路径逐步向下测试,它有两种组合策略:软件结构图和深度优先策略宽度优先策略。

31.自底向上渐增式测试不需要编写桩模块,只需要编写驱动模块。

32.确认测试指检查软件的功能与性能是否与需求规格说明书中确定的指标相符合,又称有效性测试。

33.确认测试在模拟环境下运用黑盒测试方法,由专门测试人员和用户参加的测试。34.确认测试开始前需要制定测试计划,结束后要写出测试分析报告。其测试用例要选用实际运用的数据。

35.软件配置审查的任务是检查软件的所有文档资料的完整性和正确性。

36.调试也称纠错,是在成功的测试之后才开始进行,其目的是确定错误的原因和位置,并改正错误。

37.调试技术包括简单调试归纳法调试演绎法调试回溯法调试

38.回溯法调试是从程序产生错误的地方出发,而归纳法调试是从测试结果发现的线索入手。39.被测试程序不在机器上运行,而是采用人工检测和计算机辅助分析检测的手段称为静态测试。

40.用等价类划分法设计一个测试用例时,使其覆盖尽可能多的尚未被覆盖的合理等价类。

41.用等价类划分法设计一个测试用例时,使其覆盖一个不合理等价类。42.在单元测试时,需要为被测模块设计驱动模块与桩模块。

43.在集成测试时有两种测试方法,它们是渐增式和非渐增式。44.软件测试是为了发现错误而执行程序的过程。

45.运行被测程序的方法称为动态测试。

46.动态测试中,主要测试软件功能的方法称为黑盒法。

47.选择测试用例,使得被测程序中每个判定的每个分支至少执行一次,这种逻辑覆盖标准称为判定覆盖。

48.要覆盖含循环结构的所有路径是不可能的,一般通过限制循环次数来测试。

49.用等价类划分法设计测试用例时,如果被测程序的某个输入条件规定了取值范围,则可确定一个合理的等在和两个不合理的等价类。

50.凭经验或直觉推测程序中可能存在的错误而设计测试用例的方法是错误推测法。

51.集成测试中的具体方法是渐增式和非渐增式测试方法。

52.确认测试阶段的两项工作是进行确认测试和软件配置审查。

53.在单元测试中,测试一个模块时,需要设计驱动模块和桩模块。54.软件配置管理,简称SCM,它用于整个软件工程过程。其主要目标是:标识变更控制变更确保变更正确地实现报告有关变更

55.SCM是一组管理整个软件生存期各阶段中变更的活动。

56.基线的作用是把各阶段的开发工作划分得更加明确,便于检查与确认阶段成果。因此,基线可以作为项目的一个检查点。

三、名词解释

1.软件测试:软件测试指为了发现软件中的错误而执行软件的过程。它的目标是尽可能多地发现软件中存在的错误,将测试结果作为纠错的依据。

2.静态测试:指被测试的程序不在机器上运行,而是采用人工检测和计算机辅助静态分析的手段对程序进行检测。

3.动态测试:指通过运行程序发现错误

4.黑盒测试:指把测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件的接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求,又称为功能测试或数据驱动测试。

5.白盒测试:把测试对象看成一个打开的盒子,测试人员需了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。

6.语句覆盖:设计足够的测试用例,使被测程序中每个语句至少执行一次

7.判定覆盖:指设计足够的测试用例,使被测程序中每个判定表达式至少获得一次“真”值或“假”值,从而使程序的每个分支至少都通过一次,因此判定覆盖又称分支覆盖

8.条件覆盖:指设计足够测试用例,使判定表达式中每个条件的各种可能的值至少出现一次。9.判定/条件覆盖:设计足够的测试用例,使得判定表达式中每个条件的所有可能取值至少出现一次,并使每个判定表达式所有可能的结果也至少出现一次。

10.条件组合覆盖:指设计足够的测试用例,使得每个判定表达式中条件的各种可能的值的组合都至少出现一次。

11.路径覆盖:设计足够的测试用例,覆盖被测程序中所有可能的路径

12.测试用例:指为寻找程序中的错误而精心设计的一组测试数据

13.驱动模块:指用来模拟被测模块的上级调用模块,其功能比真正的上级模块简单得多,它只完成接受测试数据,以上级模块调用被测模块的格式驱动被测模块,接收被测模块的测试结果并输出。

14.桩模块

15.单元测试

16.集成测试

17.确认测试

18.渐增式测试

19.非渐增式测试

20.调试

21.人的因素的含义

22.基线

23.软件配置管理

24.软件配置项

25.软件质量

四、简答题

1.为什么说软件测试是软件开发中不可缺少的重要一环,但不是软件质量保证的安全网?2.软件测试的目的是什么?为什么把软件测试的目的定义为只是发现错误?

3.软件测试应当遵循什么原则?为什么要遵循这些原则?

4.软件测试的步骤是什么?这些测试与软件开发各阶段之间的关系?

5.软件测试的过程是什么?

6.单元测试、集成测试和确认测试各自主要目标是什么?它们之间有什么不同?相互有什么关系?

7.什么是黑盒测试与白盒测试?它们都适应哪些测试?

8.简述软件测试与软件调试的区别。

9.软件配置管理的任务。

10.试述第三代界面的优点。

11.试述人机界面的设计过程。

12、SQA策略主要分哪三个阶段

13、测试计划应包括内容

14、软件测试阶段是如何划分的

15、简述软件测试过程

五、综合题

1.变量的命名规则一般规定如下:变量名的长度不多于40个字符,第一个字符必须为英文字母,其他字母可以英文字母、数字以及下划线的任意组合。请用等价分类法设计测试用例。2.某商场在“五一”期间,顾客购物时收费有4种情况:普通顾客一次购物累计少于100元,按A类标准收费(不打折),一次购物累计多于或等于100元,按B类标准收费(打9折);会员顾客一次购物累计少于1000元,按C类标准收费(打8折),一次购物累计等于或多于1000元,按D类标准收费(打7折)。测试对象是按以上要求计算顾客收费模块,按照路径覆盖法设计测试用例。

3.下面是某程序的流程图:

(1)计算它的环路复杂性。

(2)为了完成基本路径测试,求它的一组独立的路径。

4.分析比较面向对象的软件测试与传统的软件测试的异同

1、传统的单元测试的对象是软件设计的最小单位——模块。当考虑面向对象软件时,单元的概念发生了变化,此时最小的可测试单位是封装的类或对象,而不再是个体的模块。传统单元测试主要关注模块的算法实现和模块接口间数据的传递,而面向对象的单元测试主要考察封装在一个类中的方法和类的状态行为。

面向对象软件没有层次的控制结构,因此传统的自顶向下和自底向上集成策略就不再适合,它主要有以下两种集成策略:基于类间协作关系的横向测试;基于类间继承关系的纵向测试。系统测试一般不考虑内部结构和中间结果,因此面向对象软件系统测试与传统的系统测试差别不大。面向对象软件测试的整体目标和传统软件测试的目标是一致的,即以最小的工作量发现尽可能多的错误,但是面向对象测试的策略和战术有很大不同。测试的视角扩大到包括复审分析和设计模型,此外,测试的焦点从过程构件(模块)移向了类。

1选择题

1.B 2.B 3.C 4.D 5.A 6.B 7.C 8.B 9.D 10.D 11.A 12.B 13.D 14.A 15.A 16.A 17.B 18.D 19.A 20.D 21.C 22.D 23.A 24.C 25.D 26.A 27.D 28.D 29.B 30.B 31.C32.A33.D 34.B 35.C 36.B 37.B38.A39.D40.D

六、填空题

1. 错误测试结果

2. 文档资料内部结构测试用例程序错误缺陷

3. 输入数据输出数据

4. 动态测试静态测试

5. 运行程序测试用例黑盒测试白盒测试

6. 人工检测计算机辅助静态分析

7. 编码质量编码软件产品

8. 静态分析特性

9. 接口需求规格功能

10. 内部结构处理过程处理过程测试

11. 结构源程序内部逻辑

12. 判定语句覆盖判定覆盖条件覆盖判定/条件覆盖条件组合覆盖路径覆盖

13. 条件组合路径

14. 循环循环次数

15. 控制流程图环路基本路径

16. 功能等价类划分边界值分析错误推测因果图

17. 功能一句话一个短语等价类

18. 边界边界值第一个最后一个

19. 错误推测法

20. 因果功能说明判定表判定表

21. 测试黑盒白盒

22. 软件配置测试配置测试工具

23. 单元测试集成测试确认测试系统测试

24. 单元测试编码详细设计

25. 模块模块接口局部数据结构重要的执行路径错误处理边界条件

26. 驱动桩驱动模块桩模块

27. 单元组装联合

28. 非渐增式测试渐增式测试

29. 自顶向下结合自底向上结合

30. 驱动桩顶层软件结构图深度优先策略宽度优先策略

31. 桩驱动

32. 功能性能需求规格有效性

33. 黑盒专门测试人员用户

34. 测试测试分析实际运用

35. 完整性正确性

36. 纠错原因位置

37. 简单调试归纳法调试演绎法调试回溯法调试

38. 程序产生错误的地方测试结果发现的线索

39.静态

40.尽可能多的

41.一个

42.驱动模块与桩模块

43.渐增式和非渐增式

44.发现错误

45.动态测试

46.黑盒法

47.判定覆盖

48.循环次数

49.两个不合理的等价类

50.错误推测法

51.渐增式和非渐增式测试方法

52.进行确认测试和软件配置审查

53.驱动模块和桩模块

54.标识变更控制变更确保变更正确地实现报告有关变更

55.变更

56.检查点

七、名词解释

1. 软件测试指为了发现软件中的错误而执行软件的过程。它的目标是尽可能多地发现软件中存在的错误,将测试结果作为纠错的依据。

2. 静态测试指被测试的程序不在机器上运行,而是采用人工检测和计算机辅助静态分析的手段对程序进行检测。

3. 动态测试指通过运行程序发现错误。

4. 黑盒测试指把测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件的接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求,又称为功能测试或数据驱动测试。

5. 白盒测试指把测试对象看成一个打开的盒子,测试人员需了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。

6. 语句覆盖指设计足够的测试用例,使被测程序中每个语句至少执行一次。

7. 判定覆盖指设计足够的测试用例,使被测程序中每个判定表达式至少获得一次“真”值或“假”值,从而使程序的每个分支至少都通过一次,因此判定覆盖又称分支覆盖。

8. 条件覆盖指设计足够测试用例,使判定表达式中每个条件的各种可能的值至少出现一次。

9. 判定/条件覆盖指设计足够的测试用例,使得判定表达式中每个条件的所有可能取值至少出现一次,并使每个判定表达式所有可能的结果也至少出现一次。

10. 条件组合覆盖指设计足够的测试用例,使得每个判定表达式中条件的各种可能的值的组合都至少出现一次。

11. 路径覆盖指设计足够的测试用例,覆盖被测程序中所有可能的路径。

12. 测试用例指为寻找程序中的错误而精心设计的一组测试数据。

13. 驱动模块指用来模拟被测模块的上级调用模块,其功能比真正的上级模块简单得多,它只完成接受测试数据,以上级模块调用被测模块的格式驱动被测模块,接收被测模块的测试结果并输出。

14. 桩模块指用来代替被测试模块所调用的模块,其作用是返回被测试模块所需的信息。

15. 单元测试指对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。

16. 集成测试指在单元测试基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试。也称组装测试或联合测试。

17. 确认测试指检查软件的功能与性能是否与需求规格说明书中确定的指标相符合,又称有效性测试。

18. 渐增式测试指逐个把未经过测试的模块组装到已经过测试的模块上去,进行集成测试。每加入一个新模块进行一次集成测试,重复此过程直到程序组装完毕。

19. 非渐增式测试指首先对每个模块分别进行单元测试,然后把所有的模块按设计要求组装在一起进行测试。

20. 调试指确定错误的原因和位置,并改正错误的过程,也称纠错。

21. 1)人对感知过程的认识,包括视觉、阅读时的认知心理、记忆、归纳与演绎推理等;

2)用户已有的技能和行为方式;

3)用户所要求的完成的整个任务以及用户对人机交互部分的特殊要求。

22. 已经通过正式复审和批准的某规约或产品,它因此可以作为进一步开发的基础,并且只能遵循正式的变化控制过程得到改变。

23. 软件配置管理,简称SCM,它用于整个软件工程过程。其主要目标是:标识变更、控制变更、确保变更正确地实现、报告有关变更。SCM是一组管理整个软件生存期各阶段中变更的活动。

24. 软件配置项是软件工程中产生的信息项,它是配置管理的基本单位,对已成为基线的SCI,虽然可以修改,但必须按照一个特殊的正确的过程进行评估,确认每一处的修改。

25.软件产品具有满足规定的或隐含要求能力要求有关的特征与特征总和(ISO 8492)。

简答题

1. ①软件测试是软件开发中不可缺少的重要一环,原因是:

·测试的工作量约占整个项目开发工作量的40%左右,几乎一半。如果是关系到人的生命安全的软件,测试的工作量还要成倍增加。

·软件测试代表了需求分析、设计、编码的最终复审。

②软件测试不是软件质量保证的安全网,因为软件测试只能发现错误,不能保证没有错误。

2. 软件测试的目的有:

①软件测试是为了发现错误而执行程序的过程。

②一个好的测试用例能够发现至今尚未发现的错误。

③一个成功的测试是发现了至今尚未发现的错误。

软件测试的目标定义为只是发现错误,原因是软件测试可以有两个目标,一个是预防错误,另一个是发现错误。由于软件开发是人的创造性劳动,人的活动不可能完美无缺,错误可能发生在任何一个阶段,因此预防错误这一目标几乎是不可实现的,所以软件测试的目标定义为只是发现错误。

3. 软件测试应当遵循原则如下:

①用例由输入数据和预期的输出数据两部分组成,因为这样便于对照检查,做到有的放矢。

②用例不仅选用合理的输入数据,还要选择不合理的输入数据。因为当以特殊方式使用程序时,会突然发现程序中有许多错误,故使用预期的不合理的输入数据进行程序测试,比用合理的输入数据收获要大,从而能更多地发现错误,提高程序可靠性。

③除了检查程序是否做了它应该做的事,还应该检查程序是否做了它不应该做的事,因为如果程序做了它不应该做的事,即使程序能做它应该做的事,程序也是错误的。

④应制定测试计划并严格执行,因为这样可以排除随意性。

⑤长期保留测试用例,因为测试用例的设计耗费很大的工作量,而修改后的程序可能有新的错误,需要进行回归测试,故必须将测试用例作为文档保存,使测试具有可重复性,同时测试用例是将来系统维护测试与确认的依据,保存测试用例也为以后的维护提供方便。

⑥对发现错误较多的程序段,应进行更深入的测试,因为发现错误较多的程序段,其质量较差,同时在修改错误过程中又容易引入新的错误。

⑦程序员避免测试自己设计的程序,因为测试目的是找错。从心理学角度讲,程序员大多对自己的程序存有偏见,总认为没有错误或错误不大,另外程序员对需求规格说明的理解而引入的错误则更难发现,应该由别人或另外的机构来测试会更客观、更有效。

4. ①软件测试的步骤如图7-3所示。

图7-3 软件测试的步骤

②这些测试与软件开发各阶段之间的关系如图7-2所示。因为系统测试已经超出了软件工程的范围,所以图7-2中的系统测试不包括在内。

5. 软件测试是一个规则的过程,包括测试设计、测试执行以及测试结果比较等。

①测试设计:根据软件开发各阶段的文档资料和程序的内部结构,利用各种设计测试用例技术精心设计测试用例。

②测试执行:利用这些测试用例执行程序,得到测试结果。

③测试结果比较:将预期的结果与实际测试结果进行比较,如果二者不符合,对于出现的错误进行纠错,并修改相应文档。修改后的程序还要进行再次测试,直到满意为止。如果测试发现不了错误,可能由于测试配置考虑不周到,应考虑重新制定测试方案,设计测试用例。

6. 单元测试、集成测试和确认测试各自主要目标是:

①单元测试的主要目标是检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。

②集成测试的主要目标是检查与设计相关的软件体系结构的有关问题。

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

单元测试、集成测试和确认测试之间的不同如下:

①测试内容不同:单元测试集中于单个模块的功能和结构检验,其测试内容主要包括模块接口、局部数据结构、重要的执行路径、错误处理和边界测试;集成测试集中于模块组合的功能和软件结构检验,其测试内容主要包括模块组装中可能出现的问题,即数据穿过接口可能丢失、一个模块可能破坏另一个模块的内容、子功能组装可能不等于主功能、全程数据结构问题、误差累积问题;确认测试集中于论证软件需求的可追溯性,主要包括测试软件功能和性能是否与软件需求一致、测试软件配置的所有程序与文档是否正确完整而且一致。

②测试的方法不同:单元测试总是使用白盒测试法,为被测模块设计驱动模块和桩模块;集成测试使用渐增式测试和非渐增式测试,渐增式测试又有分为自顶向下结合法和自底向上结合法;确认测试总是使用黑盒测试法。

③发现的错误不同:单元测试发现的错误主要是在编码阶段产生的错误,集成测试发现的错误主要是在设计阶段产生的错误,确认测试发现的错误主要是在需求分析阶段产生的错误。

④涉及的文档不同:单元测试涉及编码和详细设计文档,集成测试涉及详细设计文档和概要设计文档,确认测试涉及软件需求规格说明书和用户手册。

三者相互关系是:单元测试、集成测试和确认测试是顺序实现的。首先单元测试对各个模块进行测试,然后集成测试以单元测试为基础,将所有已测模块按照设计要求组装成一个完整的系统,对模块组合的功能和软件结构检验进行测试,最后确认测试是以集成测试为基础,测试集成的软件是否满足需求规格说明书中确定的各种需求。

7. ①黑盒测试指把测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件的接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求,又称为功能测试或数据驱动测试。

②白盒测试指把测试对象看成一个打开的盒子,测试人员需了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。

③白盒测试适应的测试有单元测试、逻辑覆盖(按逻辑覆盖程度不同,有语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。)、循环覆盖(限制循环次数,有单循环和嵌套循环)和基本路径测试。

④黑盒测试适应的测试有:确认测试、等价类划分、边界值分析、错误推测和因果图。

8. 软件测试与软件调试在目的、技术和方法等方面存在很大的区别,主要表现在:

①测试从一个侧面证明程序员的失败,而调试是为了证明程序员的正确。

②测试从已知条件开始,使用预先定义的程序,且有预知的结果,不可预见的只是程序是否通过测试。调试一般以不可知的内部条件开始,除统计性调试外,结果是不可预见的。

③测试是有计划的,并要进行测试设计,而调试是不受时间约束的。

④测试是一个发现错误、改正错误、重新测试的过程,而调试是一个推理过程。

⑤测试的执行是有规程的,而调试的执行往往要求程序员进行必要的推理及知觉的飞跃。

⑥测试经常由独立的测试组在不了解软件设计的前提下完成,而调试必须由了解详细设计的程序员完成。

⑦大多数测试的执行和设计可由工具支持,而调试时,程序员能利用的工具主要是调试器。

12、以检测为重:产品制成之后进行检测,只能判断产品质量,不能提高产品质量。以过程管理为重:把质量的保证工作重点放在过程管理上,对制造过程中的每一道工序都要进行质量控制。以新产品开发为重:在新产品的开发设计阶段,采取强有力的措施来消灭由于设计原因而产生的质量隐患。

13、一个测试计划应包括:产品基本情况、测试需求说明、测试策略和记录、测试资源配置计划表、问题跟踪报告、测试计划的评审、结果等。

14、软件测试的阶段划分为:规格说明书审查;系统和程序设计审查;单元测试;集成测试;确认测试;系统测试;验收测试。

15、软件测试过程主要包括如下6个活动:测试计划;测试需求分析;测试设计;测试规程实现;测试执行;总结生成报告。

八、综合题

1.①划分等价类下表。

②设计测试用例下表。

测试用例表

2.①被测模块的程序流程图如图所示。

被测模块的程序流程图②按照路径覆盖法设计测试用例如下:

是会员,累计消费900元,覆盖路径127

是会员,累计消费2000元,覆盖路径128

不是会员,累计消费80元,覆盖路径134

不是会员,累计消费300元,覆盖路径135

3.(a) 环路复杂性=判断数+1=6+1=7(个)

(b) 路径1:0 —①—13 —19

路径2:0 —②—③—14 —19

路径3:0 —②—④—⑤—15 —19

路径4:0 —②—④—⑥—⑦—16 —19

路径5:0 —②—④—⑥—⑧—⑨—17 —19

路径6:0 —②—④—⑥—⑧—⑩—18 —19

路径7:0 —②—④—⑥—⑧—⑩—12 —19

4.(1) 划分等价类见表1。

表1 等价类划分表

(2)

5.等价划分法

①划分等价类并编号,如下表所示。

十六进制整型常量输入条件的等价类表

③为每个不合理等价类至少设计一个测试用例。

6.(1) 被测模块的程序流程图如下图所示。

(2) 按照路径覆盖法设计测试用例如下:

是会员,累计消费900元,覆盖路径127

是会员,累计消费2000元,覆盖路径128

不是会员,累计消费80元,覆盖路径134

不是会员,累计消费300元,覆盖路径135

2.

4.变量的命名规则一般规定如下:变量名的长度不多于40个字符,第一个字符必须为英文字母,其他字母可以是英文字母、数字以及下划线的任意组合。请用等价分类法设计测试用例。

5.根据下列条件使用等价划分法设计测试用例。

某8位微机,其十六进制常数定义为:以0x或0X开头的数是十六进制整数,其值的范围是-7f~7f(表示十六进制的大小写字母不加区别),如0X13,0X6A,-0X3c。

6.某商场在“五一”期间,顾客购物时收费有4种情况:普通顾客一次购物累计少于100元,按A类标准收费(不打折),一次购物累计多于或等于100元,按B类标准收费(打9折);会员顾客一次购物累计少于1000元,按C类标准收费(打8折),一次购物累计等于或多于1000元,按D类标准收费(打7折)。测试对象是按以上要求计算顾客收费的模块,按照路径覆盖法设计测试用例。

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

一,判断 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分) 答:模块接口、局部数据结构、边界条件、独立的路径和错误处理。五,设计题

软件测试练习题及答案

、判断 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)判定表法是一种白盒测试方法。

一套比较完整的软件测试人员面试题

人力资源问题 你为什么选择软件测试行业 因为之前有了解软件测试这个行业,觉得他的发展前景很好。也对 根据你以前的工作经验描述一下软件开发、测试过程,由那些角色负责,你做什么 要有架构师、开发经理、测试经理、程序员、测试员 我在里面主要是负责所分到的模块执行测试用例。 结合你以前的学习和工作经验,你认为如何做好测试。 根据我以前的工作经验,我认为做好工作首先要有一个好的沟通,只有沟通无障碍了,才会有好的协作,才会有跟好的效率,再一个就是技术一定要过关,做测试要有足够的耐心,和一个良好的工作习惯,不懂的就问,实时与同事沟通这样的话才能做好测试工作。 你觉得测试最重要的是什么 尽可能的找出软件的错误 怎样看待加班问题 加班的话我没有太多的意见,但是我还是觉得如果能够合理的安排时间的话,不会有太多时候会加班的。如果一个很有个性的程序员认为自己的BUG不是BUG,怎么解决? 首先我要确定我所提的在我认为是不是bug,如果我认为是的话我会在他面前重现这个bug和他讲这是个bug,和他沟通,或者我会找到我的直系领导让他解决。 为什么在团队中要有测试 因为软件有错误,如果没有专业的测试人员很难发现软件的一些错误。 在测试时代学习自己最大的收获是什么? 在测试时代我除了学习了测试的知识外,还看到了老师们对待测试的一种态度,明白了做任何工作都要有沟通,做测试的也要有很好的沟通才可以做好。知道自己在项目组中的位置,和开发的关系。 你对未来的规划 我想在工作中慢慢的积累经验,使自己强大起来,能够担任更重要的职务。 自己优势及缺点 我的优点是有足够的耐心对待每一件事情,善于观察事物,承受压力的能力很强。缺点可能就是我不是很爱说话,习惯做不习惯说,但是和人沟通还是没有问题的。 你为什么选择测试时代不选择51testing 因为相对比来看测试时代价钱相对公道,师资也不错,还有一个原因就是在网上查了一下测试时代的口碑不错,也是网放心过来的原因。 13.请谈谈您对测试工作的理解 我认为测试工作是找出软件产品的错误, 14.你认为测试人员需要具备哪些素质? 我认为做测试的应该要有一定的协调能力,因为测试人员要经常与开发接触处理一些问题,如果处理不好的话会引起一些冲突这样的话工作上就会做不好。还有测试人员要有一定的耐心,有的时候做的测试很枯燥乏味的。除了要有耐心之外还要细心,不放过每一个可能的错误。 15.你为什么能够做测试这一行。 虽然说我的测试技术还不是很纯熟,但是我觉得我还是可以胜任软件测试这个工作的,因为做软件测试不仅是要求技术好,还要有一定的沟通能力,耐心、细心等外在的因素。综合起来看我认为我是胜任这个工作的。 1测试的目的是什么? 测试的目的是找出软件产品中的错误,是软件尽可能的符合用户的要求。

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

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) 4.___________的目的是对最终软件系统进行全面的测试确保最终软件系统产品满足需求。(A)

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

期末试卷先锋学院2011-2012学年第二学期 《软件测试技术》试题库答案 一、填空题(每空2分,共15空,分数为30分) 1、判定覆盖设计足够多的测试用例,使得被测试程序中的每个判断的“真”、“假”分支至少被执行一次。 2、黑盒测试的具体技术方法等价类划分法、边界值分析法、决策表法、因果图法。 3、黑盒测试又称之为功能测试。 4、等价类划分有两种不同的情况:有效等价类和无效等价类。 5、根据覆盖目标的不同,逻辑覆盖又可分为:语句覆盖,判定覆盖,条件覆盖,路径覆盖条件组合覆盖,判断/条件覆盖。 6、根据软件生命周期中的定义,可以把自动化测试工具划分3大类白盒 测试工具、黑盒测试工具和测试管理工具。 7、软件测试是为发现程序中的错误而执行程序的过程。 8、测试用例是由测试输入数据和预期的输出数据两部分组成。 9、白盒测试又称为结构测试,可以分为静态测试和动态测试两大类。 10、软件是包括程序、数据、相关文档的完整集合。 11、边界值分析法属于黑盒测试。 12、单元测试是以详细设计说明书为指导,测试源程序代码。 13、集成测试以概要设计说明书指导,测试软件结构。 14、确认测试以需求分析说明书为指导。 15、软件开发的基本过程需求分析、概要设计、详细设计、编码、测试、 维护。

16、代码复审属于静态测试,不实际运行程序。 17、集成测试把模块组成成系统的测试方式:一次性集成测试和。 18、黑盒测试有两种基本方法,即:通过测试和失败测试。增量式集成测试 20、Junit是一个开放源代码的 java 测试框架,用于编写和运行可重复的测试。 21、在Junit中3.8中testXXX()测试方法必须满足几个条件:public , void 和无方法参数。 二、选择题(每题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) A.系统测试B.集成测试 C.单元测试D.功能测试 5.在Assert类中断言两个对象相等是_____。(A) A.assertEquals B.assertTrue C.assertSame D.fail 6.有一组测试用例使得每一个被测试用例的分支覆盖至少被执行一次,它满足的覆盖标准___________。(B)

软件测试复习题_带答案

软件测试复习题 一、判断 (01)测试是为了验证软件已正确地实现了用户的要求。错 (02)白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。对(03)白盒测试不仅与程序的内部结构有关,还要考虑程序的功能要求。错 (04)黑盒测试的测试用例是根据程序内部逻辑设计的。错 (05)黑盒测试的测试用例是根据应用程序的功能需求设计的。对 (06)为了快速完成集成测试,采用一次性集成方式是适宜的。错 (07)在软件开发过程中,若能推迟暴露其中的错误,则为修复和改进错误所花费的代价就会降低。错 (05)在软件开发过程中,若能尽早暴露其中的错误,则为修复和改进错误所花费的代价就会降低。对 (09)单元测试通常由开发人员进行。对 (10)压力测试通常需要辅助工具的支持。对 (11)压力测试不需要辅助工具的支持。错 (12)测试人员说:“没有可运行的程序,我无法进行测试工作”。错 (13)软件测试员可以对产品说明书进行白盒测试。错 (14)软件测试员无法对产品说明书进行白盒测试。对 (15)在设计测试用例时,应包括合理的输入条件和不合理的输入条件。对 二、选择 1、用黑盒技术设计测试用例的方法之一为( a ) A)因果图 B)逻辑覆盖 C)循环覆盖 D)基本路径测试 2、软件测试的目的是( b) A)避免软件开发中出现的错误 B)发现软件开发中出现的错误 C)尽可能发现并排除软件中潜藏的错误,提高软件的可靠性 D)修改软件中出现的错误 3、下列软件属性中,软件产品首要满足的应该是( a ) A)功能需求B)性能需求C)可扩展性和灵活性D)容错纠错能力 4、坚持在软件的各个阶段实施下列哪种质量保障措施,才能在开发过程中尽早发现和预防错误,把出现的错误克服在早期( a)。 A)技术评审 B)程序测试 C)改正程序错误D)管理评审 5、以程序的内部结构为基础的测试用例技术属于( d )。

软件测试方法和技术重点和试题与答案

太原理工大学软件测试技术 适用专业:软件工程2011级考试日期:2014.1 时间:120 分钟 一、判断题 1. 测试是调试的一个部分(╳) 2. 软件测试的目的是尽可能多的找出软件的缺陷。(√ ) 3. 程序中隐藏错误的概率与其已发现的错误数成正比(√ ) 4. Beta 测试是验收测试的一种。(√ ) 5. 测试人员要坚持原则,缺陷未修复完坚决不予通过。(√ ) 6. 项目立项前测试人员不需要提交任何工件。(╳) 7. 单元测试能发现约80%的软件缺陷。(√ ) 8. 测试的目的是发现软件中的错误。(√ ) 9. 代码评审是检查源代码是否达到模块设计的要求。(√ ) 10. 自底向上集成需要测试员编写驱动程序。(√ ) 11. 测试是证明软件正确的方法。(╳) 12. 负载测试是验证要检验的系统的能力最高能达到什么程度。(√ ) 13. 测试中应该对有效和无效、期望和不期望的输入都要测试。(√ )验收测试是由最终用户来实施的。(√ ) 14. 测试人员要坚持原则,缺陷未修复完坚决不予通过。(√ )黑盒测试也称为结构测试。(╳)集成测试计划在需求分析阶段末提交。(╳) 15. 软件测试的目的是尽可能多的找出软件的缺陷。(√) 16. 自底向上集成需要测试员编写驱动程序。(√) 17. 负载测试是验证要检验的系统的能力最高能达到什么程度。(╳) 18. 测试程序仅仅按预期方式运行就行了。(╳) 19. 不存在质量很高但可靠性很差的产品。(╳) 20. 软件测试员可以对产品说明书进行白盒测试。(╳) 21. 静态白盒测试可以找出遗漏之处和问题。(√) 22. 总是首先设计白盒测试用例。(╳) 23. 可以发布具有配置缺陷的软件产品。(√) 24. 所有软件必须进行某种程度的兼容性测试。(√) 25. 所有软件都有一个用户界面,因此必须测试易用性。(╳) 26. 测试组负责软件质量。(╳) 27. 按照测试实施组织划分,可将软件测试分为开发方测试、用户测试和第三方测试。(√) 28. 好的测试员不懈追求完美。(×) 29. 测试程序仅仅按预期方式运行就行了。( ×) 30. 在没有产品说明书和需求文档的条件下可以进行动态黑盒测试。( √) 31. 静态白盒测试可以找出遗漏之处和问题。( √) 32. 测试错误提示信息不属于文档测试范围。( ×)

软件测试练习题及答案

练习题 一、判断 (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)判定表法是一种白盒测试方法。错 (33)白盒测试不考虑程序内部结构。错 (34)在单元测试中,桩程序模拟被测模块工作过程中所调用的下层模块。对

软件测试综合题目(附答案)-上

一、选择题: 1.模块的耦合度描述了___D___。 A.模块内各种元素结合的程度B.模块内多个功能之间的接口 C.模块之间公共数据的数量D.模块之间相互关联的程度 2.内聚是一种指标,表示一个模块_B_____。 A.代码优化的程度B.代码功能的集中程度 C.完成任务时及时程度D.为了与其他模块连接所要完成的工作量3.在UNIX操作系统中,把输入/输出设备看作是__D____。 A.普通文件B.目录文件C.索引文件D.特殊文件4.“science”是一个XML 元素的定义,其 中元素标记的属性值是__C____。 A.title B.style C.italic D.science 5. ___C___描述数据的局部逻辑视图,是数据库用户的数据视图,它是与某一 应用有关的数据逻辑表示。 A.模式B.逻辑模式C.外模式D.内模式解析:三级模式结构:外模式、模式和内模式 一、模式(Schema) 定义:也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。 理解: ①一个数据库只有一个模式; ②是数据库数据在逻辑级上的视图; ③数据库模式以某一种数据模型为基础; ④定义模式时不仅要定义数据的逻辑结构(如数据记录由哪些数据项构成,数据项的名字、类型、取值范围等),而且要定义与数据有关的安全性、完整性要求,定义这些数据之间的联系。 二、外模式(External Schema) 定义:也称子模式(Subschema)或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。 理解: ①一个数据库可以有多个外模式; ②外模式就是用户视图; ③外模式是保证数据安全性的一个有力措施。 三、内模式(Internal Schema) 定义:也称存储模式(Storage Schema),它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式(例如,记录的存储方式是顺序存储、按照

软件测试试题及答案分析

单选 1. 属于黑盒测试的方法?( C) A.基于基本路径 B.控制流 C.基于用户需求测试 D.逻辑覆盖 2.在Assert类中断言对象为NULL是_____。(D) A.assertEquals B.assertTrue C.fail D.assertNull 3.___________的目的是对最终软件系统进行全面的测试确保最终软件系统产品满足需求(A) A.系统测试B.集成测试 C.单元测试D.功能测试 4.有一组测试用例使得每一个被测试用例的分支覆盖至少被执行一次,它满足的覆盖标准___________。(B) A. 语句覆盖 B.判定覆盖 C.条件覆盖 D.路径覆盖 5.软件测试的目的是___________。(C) A.表明软件的正确性B.评价软件质量 C.尽可能发现软件中的错误D.判定软件是否合格 6.关于白盒测试与黑盒测试的最主要区别,正确的是___________。(A) A.白盒测试侧重于程序结构,黑盒测试侧重于功能 B.白盒测试可以使用测试工具,黑盒测试不能使用工具 C.白盒测试需要程序参与,黑盒测试不需要 D.黑盒测试比白盒测试应用更广泛 7.软件测试类型按开发阶段划分___________。(B) A.需要测试﹑单元测试﹑集成测试 B.单元测试﹑集成测试﹑确认测试﹑系统测试﹑验收测试 C.单元测试﹑集成测试﹑确认测试 D.调试﹑单元测试﹑功能测试 8.在Junit中,testXXX()方法就是一个测试用例,测试方法是______。(B) A.private void testXXX() B.public void testXXX() C.public float testXXX() D.public int testXXX() 9.软件测试是软件质量保证的重要手段,下述哪种测试是软件测试的最基础环节?(A)A.单元测试B.集成测试 C.目的测试D.确认测试 10.增量式集成测试有3种方式:自顶向下增量测试方法,和混合增量测试方式。(D ) A.自中向下增量测试方法B.多次性测试 C.维护D.自底向上增量测试方法 1)以下不属于软件测试的原则有(D )。 A.程序最好别让由编写该程序的程序员自己来测试

(完整word版)期末题库-软件测试答案

选择题 10×2分 1、软件是程序和(A)的集合。 A、文档 B、代码 C、测试用例 D、测试 2、软件工程中描述生存周期的瀑布模型一般包括计划、( A)、设计、编码、测试、维护等几个阶段。 A、需求分析 B、需求调查 C、可行性分析 D、问题定义 3、严重的软件缺陷的产生主要源自(A)。 A、需求 B、设计 C、编码 D、测试 4、以下不属于应用系统中的缺陷类型的是:(B) A、不恰当的需求解释 B、用户指定的错误需求 C、设计人员的习惯不好 D、不正确的程序规格说明 5、降低缺陷费用最有效的方法是(B)。 A、测试尽可能全面 B、尽可能早的开始测试 C、测试尽可能深入 D、让用户进行测试 6、测试环境中不包括的内容是(A) A、测试所需文档资料 B、测试所需硬件环境 C、测试所需软件环境 D、测试所需网络环境 7、软件调试的目的是(B) A、发现软件中隐藏的错误 B、解决测试中发现的错误 C、尽量不发现错误以便早日提交软件 D、证明软件的正确性 8、软件测试的目的是(A)难易度:2 A、发现软件中隐藏的错误 B、解决软件中隐藏的错误 C、尽量不发现错误以便早日提交软件 D、证明软件的正确性 9、下列关于测试和调试的说法中正确的是(B) A、测试和调试没有本质区别。目的都是为了发现软件系统中的错误。 B、测试是测试人员的职责,在整个测试活动中可以不需要开发人员的参与。

C、调试主要在软件的开发阶段进行。 D、调试一般不能确定程序中潜在错误发生的原因 10、从测试的要求来讲,如果想让测试完成的效果更好,测试部门与开发部门的关系最好是下面四种中的(D)。难易度:3 A、测试组织与开发组织为同一公司同一部门同一小组,并且测试人员与开发人员为同一组人员,即开发人员测试自己的程序。 B、测试组织与开发组织为同一公司同一部门同一小组,但测试人员与开发人员为不同人员。 C、测试组织与开发组织为同一公司,但不在同一部门。 D、测试组织与开发组织为不同公司。 11、某软件公司在招聘软件测试工程师时,应聘者甲向公司做如下保证: (1)经过自己测试的软件今后不会再出现问题 (2)在工作中对所有程序员一视同仁,不会因为某个程序编写的程序发现的问题多,就重点审查该程序,以免不利于团结 (3)承诺不需要其他人员,自己就可以独立进行测试工作 (4)发扬咬定青山不放松的精神,不把所有问题都找出来,绝不罢休根据自己所学的软件测试知识,应聘者甲的保证(D)难易度:3 A、(1)(4)是正确的 B、(2)是正确的 C、都是正确的 D、都是错误的 12、用不同的方法可将软件测试分为白盒法和黑盒法,或者(C)和静态测试。 A、白盒法 B、黑盒法 C、动态测试 D、灰盒法 13、黑盒测试法是根据程序的(C)来设计测试用例的。 A、应用范围 B、内部逻辑 C、功能 D、输入数据 14、验收测试的测试用例主要根据(A)的结果来设计。 A、需求分析 B、源程序 C、概要设计 D、详细设计 15、软件测试中白盒测试法是通过分析程序的(B)来设计测试用例的。 A、应用范围 B、内部逻辑 C、功能 D、输入数据 16、下列关于白盒测试与黑盒测试的说法中错误的是(C)。 A、用白盒测试来验证单元的基本功能时,经常要用黑盒测试的思考方法来设计测试用例

软件测试技术习题参考答案

第1章软件测试概述 1、简述软件缺陷的含义。 答:软件缺陷是软件开发过程中潜在的缺陷,这些缺陷可能在软件运行后出现,因而使软件的性能和可靠性等方面与系统的设计需求不符。 2、说明软件缺陷、软件错误和软件失败的关系。 答:缺陷、缺点、偏差统称为缺陷,是软件故障的根源;错误、谬误、问题、异常、矛盾等统称为错误,软件错误出现的原因是软件缺陷所致;失败、事故、灾难统称失败,失败的直接原因是软件系统存在软件错误。 14、“软件测试是有风险的工作”,试解释这种说法的含义。 答:软件不测试,就会有风险;软件测试,同样也会有风险。因为,软件是个复杂的系统,其复杂性体现在软件实现的内容复杂性、开发过程的复杂性和组织工作的复杂性等方面。而软件测试的目的是为了发现故障,并加以排除。对一个复杂的软件系统来说,故障的排除往往可能又带来新的软件缺陷。所以,软件测试又会带来一定的风险。 第2章软件测试基础 2、条件覆盖是否高于判断覆盖的逻辑覆盖程度如果不是,请给出反例加以说明。 答:条件覆盖是高于判断覆盖的逻辑覆盖程度。 a 、用条件覆盖所设计的测试用例可使得程序中的每一个判断的每一个条件的可能 取值至少执行一次。 b、用判断覆盖所设计的测试用例可使被测程序中的每个判断的真分支和假分支至少经历 一次。 每个判断语句可能包含多个条件(比如,if (A>3&&B<7……)。条件覆盖针对判断语句的每一个条件的所有可能取值编写测试用例;判断覆盖只针对每一个判断语句整体的所有可能取值编写测试用例。所以,条件覆盖的逻辑覆盖程度高于判断覆盖。 4、已知某种计算机程序设计语言的标识符语法规则规定“标示符是由非数字开头的,有效 字符数为32个,最大字符数为128个的任意符号串”。试用等价类划分法设计测试用例。

期末题库-软件测试答案

选择题10×2分 1、软件就是程序与( A )的集合。 A、文档 B、代码 C、测试用例 D、测试 2、软件工程中描述生存周期的瀑布模型一般包括计划、( A)、设计、编码、测试、维护等几个阶段。 A、需求分析 B、需求调查 C、可行性分析 D、问题定义 3、严重的软件缺陷的产生主要源自( A)。 A、需求 B、设计 C、编码 D、测试 4、以下不属于应用系统中的缺陷类型的就是:( B) A、不恰当的需求解释 B、用户指定的错误需求 C、设计人员的习惯不好 D、不正确的程序规格说明 5、降低缺陷费用最有效的方法就是( B )。 A、测试尽可能全面 B、尽可能早的开始测试 C、测试尽可能深入 D、让用户进行测试 6、测试环境中不包括的内容就是( A ) A、测试所需文档资料 B、测试所需硬件环境 C、测试所需软件环境 D、测试所需网络环境 7、软件调试的目的就是( B) A、发现软件中隐藏的错误

B、解决测试中发现的错误 C、尽量不发现错误以便早日提交软件 D、证明软件的正确性 8、软件测试的目的就是( A ) 难易度:2 A、发现软件中隐藏的错误 B、解决软件中隐藏的错误 C、尽量不发现错误以便早日提交软件 D、证明软件的正确性 9、下列关于测试与调试的说法中正确的就是( B ) A、测试与调试没有本质区别。目的都就是为了发现软件系统中的错误。 B、测试就是测试人员的职责,在整个测试活动中可以不需要开发人员的参与。 C、调试主要在软件的开发阶段进行。 D、调试一般不能确定程序中潜在错误发生的原因 10、从测试的要求来讲,如果想让测试完成的效果更好,测试部门与开发部门的关系最好就是下面四种中的( D )。难易度:3 A、测试组织与开发组织为同一公司同一部门同一小组,并且测试人员与开发人员为同一组人员,即开发人员测试自己的程序。 B、测试组织与开发组织为同一公司同一部门同一小组,但测试人员与开发人员为不同人员。 C、测试组织与开发组织为同一公司,但不在同一部门。 D、测试组织与开发组织为不同公司。 11、某软件公司在招聘软件测试工程师时,应聘者甲向公司做如下保证:

软件测试试题及答案

一、判断题 1.测试是调试的一个部分(╳) 2.软件测试的目的是尽可能多的找出软件的缺陷。(√) 3.程序中隐藏错误的概率与其已发现的错误数成正比(√) 4.Beta测试是验收测试的一种。(√) 5.测试人员要坚持原则,缺陷未修复完坚决不予通过。(√) 6.项目立项前测试人员不需要提交任何工件。(╳) 7.单元测试能发现约80%的软件缺陷。(√) 8.测试的目的是发现软件中的错误。(√) 9.代码评审是检查源代码是否达到模块设计的要求。(√) 10.自底向上集成需要测试员编写驱动程序。(√) 11.测试是证明软件正确的方法。(╳) 12.负载测试是验证要检验的系统的能力最高能达到什么程度。(√) 13.测试中应该对有效和无效、期望和不期望的输入都要测试。(√)验收测试是由最终用户来实施的。(√) 14.测试人员要坚持原则,缺陷未修复完坚决不予通过。(√)黑盒测试也称为结构测试。(╳)集成测试计划在需求分析阶段末提交。(╳) 15.软件测试的目的是尽可能多的找出软件的缺陷。(√) 16.自底向上集成需要测试员编写驱动程序。(√) 17.负载测试是验证要检验的系统的能力最高能达到什么程度。(╳)

18.测试程序仅仅按预期方式运行就行了。(╳) 19.不存在质量很高但可靠性很差的产品。(╳) 20.软件测试员可以对产品说明书进行白盒测试。(╳) 21.静态白盒测试可以找出遗漏之处和问题。(√) 22.总是首先设计白盒测试用例。(╳) 23.可以发布具有配置缺陷的软件产品。(√) 24.所有软件必须进行某种程度的兼容性测试。(√) 25.所有软件都有一个用户界面,因此必须测试易用性。(╳) 26.测试组负责软件质量。(╳) 27.按照测试实施组织划分,可将软件测试分为开发方测试、用户测试和第三方测试。(√) 28.好的测试员不懈追求完美。(×) 29.测试程序仅仅按预期方式运行就行了。(×) 30.在没有产品说明书和需求文档的条件下可以进行动态黑盒测试。(√) 31.静态白盒测试可以找出遗漏之处和问题。(√) 32.测试错误提示信息不属于文档测试范围。(×) 33.代码评审是检查源代码是否达到模块设计的要求。(√) 34.总是首先设计黑盒测试用例。(√) 35.软件测试是有风险的行为,并非所有的软件缺陷都能够被修复。(∨) 36.软件质量保证和软件测试是同一层次的概念。(x)

软件测试习题集及答案

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

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

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

第一部分:理论题 1. 测试计划编写6要素:___、___、when 、where 、 who 、 how 。 2.测试用例由________________和预期的________________两部分组成。 3. 性能测试主要包括两方面内容________________和________________ 。 4. 验收测试又分为________________ 和________________。 5. 自顶向下测试有两种组合策略________________ 和________________。 6.测试计划的制定必须要注意: A.测试策略 测试范围 B.测试方法 测试安排 C.测试风险 测试管理 D.以上都是( ) 7.制定测试计划的步骤: ( ) A.确定项目管理机制 预计测试工作量 测试计划评审 B.确定测试范围 确定测试策略 确定测试标准、预计测试工作量 C.确定测试构架 确定项目管理机制 预计测试工作量 测试计划评审 D.确定测试范围 确定测试策略 确定测试标准 确定测试构架 确定项目管理机制 预计测试工作量 测试计划评审 8.软件测试用例主要由测试输入数据和( )两部分组成。 A. 测试计划 B. 测试规则 C. 测试的预期结果 D. 以往测试记录分析 9.与设计测试用例无关的文档是( )。 A. 项目开发计划 B. 需求规格说明书 C. 软件设计说明书 D. 源程序 10.在设计测试用例时,( )是用得最多的一种黑盒测试方法 A. 等价类划分 B. 边界值分析 一、填空题(每题1分,共10分) 二、选择题(每题2分,共20分)

C. 因果图 D. 功能图 11.黑盒测试方法的优点是( ) A. 可测试软件的特定部位 B. 能站在用户立场测试 C. 可按软件内部结构测试 D. 可发现实现功能需求中的错误 12.软件测试项目周期是指( ) A.需求阶段、测试计划 B.阶段测试、设计阶段测试、执行阶段 C.以上都不是 D.以上都是 13.软件测试过程模型有( ) A. V 模型 H 模型 B. W 模型 C. X 模型 D. 以上都有 14.负载测试属于 A.压力测试 B.性能测试 C.并发测试 D.可靠测试 15.Loadruner 主要是用来做什么测试的?( ) A.性能测试 B.功能测试 C.单元测试 D.验收测试 16.项目立项前测试人员不需要提交任何工件。( ) 17.单元测试能发现约80%的软件缺陷。( ) 18.Beta 测试是验收测试的一种。( ) 19.验收测试是由最终用户来实施的。( ) 三、判断题,对的打 √,错的打X (每题1分,共10分)

(完整版)软件测试基础习题及答案

1、软件测试的定义? 软件测试是一个过程或者一系列过程,用来确认计算和代码完成了其应该完成的功能,并且不执行其不应该有的操作。 2、软件测试的目标是什么? 是想以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正各种错误和缺陷提高软件质量,降低软件发布后由于潜在的软件错误和缺陷造成的隐患所带来的商业风险。 3、简单描述一下软件测试的原则? 所有的软件测试都应追溯到用户需求 应当把“尽早地和不断地进行软件测试”作为测试者的座右铭 Good Enough原则 质量第一 充分注意测试中的群集现象 程序员应避免检查自己的程序 有据可依 尽量避免软件测试的随意性,要有预期结果 重视回归测试 妥善保存一切测试过程文档 4、软件测试中验证和确认的区别? Verfication 验证: 是保证软件正确实现特定功能的一系列活动和过程。 目的是保证软件生命周期中的每一个阶段的成果满足上一个阶段设定的目标。 Validation 确认: 是保证软件满足用户需求的一系列的活动和过程。 目的是在软件开发后保证与用户需求符合 5、软件测试按照测试的基本策略可分为哪两种并加以详细说明? 白盒测试: 白盒测试也称结构测试或逻辑驱动测试,是指基于一个应用代码的内部逻辑知识,即基于覆盖全部代码、分支、路径、条件的测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。

黑盒测试: 黑盒测试是指不基于内部设计和代码的任何知识,而基于需求和功能性的测试,黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。黑盒测试方法主要有等价类划分、边值分析、因—果图、错误推测等,主要用于软件确认测试。 6、整个软件生命周期中,需要进行哪几项测试? 单元测试、集成测试、系统测试、验收测试 单元测试 单元测试是对软件中的基本组成单位进行的测试,如一个模块、一个过程等等。它是软件动态测试的最基本的部分,也是最重要的部分之一,其目的是检验软件基本组成单位的正确性。因为单元测试需要知道内部程序设计和编码的细节知识,一般应由程序员而非测试员来完成,往往需要开发测试驱动模块和桩模块来辅助完成单元测试。因此应用系统有一个设计很好的体系结构就显得尤为重要。 一个软件单元的正确性是相对于该单元的规约而言的。因此,单元测试以被测试单位的规约为基准。单元测试的主要方法有控制流测试、数据流测试、排错测试、分域测试等等。 集成测试 集成测试是在软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接口是否正确。它根据集成测试计划,一边将模块或其他软件单位组合成越来越大的系统,一边运行该系统,以分析所组成的系统是否正确,各组成部分是否合拍。集成测试的策略主要有自顶向下和自底向上两种。 系统测试 系统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正确并非一项简单的任务,它被称为测试的“先知者问题”。因此,系统测试应该按照测试计划进行,其输入、输出和其他动态运行行为应该与软件规约进行对比。软件系统测试方法很多,主要有功能测试、性能测试、随机测试等等。 验收测试 验收测试旨在向软件的购买者展示该软件系统满足其用户的需求。它的测试数据通常是系统测试的测试数据的子集。所不同的是,验收测试常常有软件系统的购买者代表在现场,甚至是在软件安装使用的现场。这是软件在投入使用之前的最后测试。

相关文档
最新文档