软件基础测试题

更新时间:2023-10-07 12:43:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

软件基础测试题

一、选择 :

1. 从是否需要被执行测试软件的角度,软件测试可分为哪两种?(B) A. 黑、白盒(软件测试用例设计方法角度) B.静、动态 C.单、集 (策略和过程)

2. 下列哪一项不是白盒测试?(C)

A.单元测试 B.集成测试C.系统测试 D.回归测试 3. 计算机环路复杂度(计算方法)(重点:选择 简答) V(G)=简单判定节点数+ 1 ; V(G) = E-N+2 ;

V(G)=封闭区域数+ 1 (记住这三个公式) 4. 属于黑盒测试的方法?(C)

A.基于基本路径 B.控制流 C.基于用户需求测试 D.逻辑覆盖 (基于用户需求的测试,功能图分析方法,等价类划分方法,边界值分析方法,错误推测方法,因果图方法,判定表驱动分析方法,正交实验设计方法和功能图分析方法等。) 5. 测试的报告由五部分。

答:首页、引言部分、测试概要、测试结果及缺陷分析、测试结论与建议。

6. 单元测试环境由三部分构成?

答:所测模块和与它相关的驱动模块及桩模块共同构成了一个“测试环境”

7. 单元测试中综合测试主要是考虑哪些方式?

答:自顶向下的单元测试策略、自底向上的单元测试策略。 8. 不是软件实施活动的进入准则? (D)

A.需求工件已经被基线化 B.详细设计工件已经被基线化 C.构架工件已经被基线化 D. 项目阶段成果及被基线化

9. 确定单元测试指导的基本方针? () (3个,选择其中不是的) 答: 能够自身编译的最小程序块,单一过程/函数(独立),由一个人完成的小规模工作

10. 对于自动化测试成本从高到底的排序 ,下列描述正确的是?(A)(PPT6 七章)(进行排序) A. GUI,编译器,用户图形

11. 软件测试是软件开发的重要环节之一。按照软件开发过程可分为:单元测试、集成测试、系统测试、域测试等。

12. 软件测试的任务 发现、改正软件错误(找错,修正) 13. 下面哪一项测试步骤中需要进行局部数据结构测试?(A) A.单元测试 B.集成测试 C.确认测试 D.系统测试 14. 白盒测试是根据程序的(C)来选设计测试用例? A.功能 B.性能 C.内部逻辑 D.内部数据

15. 单元测试的终止的标准(3个 )(PPT47 三章) 1.硬件资源不足或故障造成软件运行无法运行; 2.软件运行后无法正确显示; 3.所有功能测试均已经完成。

16. 软件测试是对系统逆向求证的过程,集成测试对应的过程中单元测试的过程

A.需求设计 B.概要设计 C.详细设计 D.编码实现

17. 单元测试主要测试技术不包括?(B)(PPT12 三章) A.白盒 B.功能 C.静态 D.以上都不是 18. 环路复杂度公式哪个不是?()

V(G)=简单判定节点数+ 1 ; V(G) = E-N+2 ; V(G)=封闭区域数+ 1 (记住这三个公式)

19. 如果一个产品中次严重缺陷基本完成修复并且通过了复测,这个阶段的产品是(B)

A.阿尔法版 B.beta版 C.正版 D.以上都不是 20. 自底向上方法需要写 (A)

A. 驱动程序 B.桩程序 C.驱动程序和桩程序 D.两个都不是 21. (A)的目的是对最终软件系统进行全面的测试确保最终软件系统产品满足需求。

A.系统测试 B.集成测试 C.单元测试 D.功能测试 22. 测试用例的4个关键元素。

(1) 被测单元模块初始状态声明,即测试用例的开始状态(仅适用于被测单元维持了调用中间状态的情况);

(2) 被测单元的输入,包含由被测单元读入的任何外部数据值; (3) 该测试用例实际测试的代码,用被测单元的功能和测试用例设计

中使用的分析来说明,如:单元中哪一个决策条件被测试; (4) 测试用例的期望输出结果(在测试进行之前的测试说明中定义)。 23. 目前主要的单元测试的方法(A.基本路径测试 B.等价类划分/边界值分析测试 C.覆盖测试 D.循环测试 E.数据流测试 F.程序插桩测试 G变异测试)从中选。

24. 哪个方法根据输出输入依赖关系设计的测试用例?(C)??? A.路径 B.等价类 C.因果图 D.归纳

25. 有一组测试用例使得每一个被测试用例的分支覆盖至少被执行一次,它满足的覆盖标准(B)。(PPT22 二章) A. 语句覆盖 B.判定覆盖 C.条件覆盖 D.路径覆盖 二、填空:

1. 单元测试中对类进行测试有3个“定义—引用对”(方法内部定义-引用对 方法间定义-引用对 类内部定义-引用对)。(PPt37 三章) 2. 测试的主要目标,不再只是找出其缺陷,而是证明其(性能)。 3. 压力测试又称强度测试,是在(各种资源超负荷)情况下,观察系统的运行情况。

4. (缺陷跟踪工具)是管理工具使用最多的。

5. 集成测试划分为5个阶段(制定集成测试的计划、设计集成测试、实施集成测试、执行集成测试、评估集成测试)。

6. 根据软件生命周期中的定义,可以把自动化测试工具划分3大类(白盒测试工具、黑盒测试工具、测试管理工具)。

7. 对类进行测试时,类之间的关系6类(关联 泛化 实现 依赖 聚合

组合)。每种不同符号来表示,并分别用(私有的“-”、公有的“+”、保护的“#”)三个关键字来修饰类。

8. 白盒测试工具针对代码进行的工具,测试中发现的缺陷可以定义到代码级,根据测试工具原理的不同,又可以分为静态测试工具和动态测试工具。

9. 黑盒测试工具包括(功能测试工具、性能测试工具)。

10. 软件开发的基本过程(需求分析、设计、实现、测试、维护)。 11. 单元测试的策略(自顶向下的单元测试策略、自底向上的单元测试策略和孤立的单元测试策略)。

12. 集成测试的工作开展更多站在测试工作人员的角度上; 系统测试站在用户的角度上。

13. 对面向对象来说,按照集成的粒度不同,可把集成测试分为(类间集成测试 、 类内集成测试)。

14. 类测试用例中,基于3个标准(基于状态的覆盖率、基于限制的覆盖率和基于代码的覆盖率)。(PPT13 六章) 15. 哪一个不属于增量式集成? 答案:大爆炸集成

17. 单元测试中对类进行三级测试(方法内部测试、方法间测试、类内部测试)PPT36 三章

18. 目前单元测试主要的方法:基于路径测试,等价类划分/边界值分析测试,覆盖测试,循环测试,数据流测试,程序插桩测试,变异测试。

三、判断:

1. 发现错误是软件测试的目的。 (错)

2. 白盒测试可以找出软件遗漏功能和代码错误功能。(PPT47 二章) (错)

3. 在设计测试用例时,应包括合理的应用条件和不合理的应用条件。 (对)

4. 软件缺陷一定是由编码引起的错误。 (错)

5. Bata测试是软件多个用户在实际。。。多个测试。。。 (对) 6. 系统测试属白盒测试。 (黑盒) (错) 7. 手工测试可以达到好的系统化测试。 (对) 8. 功能测试属于白盒测试的技术范畴。 (错)

9. 文档测试是对系统提交给用户的文档进行验证,并不是一般性的审查活动。P35 5(对) 四、大题

1. 计算环路复杂度方法哪些 ? (要求写成3个公式,一个公式2分) 答:V(G)=简单判定节点数+ 1 ; V(G) = E-N+2 ; V(G)=封闭区域数+ 1 2. 基于状态测试的主要步骤?(PPT32 三章)

答: ①依据设计文档,或者通过分析对象数据成员的取值空间(笛卡尔积),得到被测试类的状态转移图;

②给被测试的类加入用于设置和检查对象状态的新方法,导出对象的逻辑状态;

③对于状态转移图中的每个状态,确定该状态是哪些方法的合法起始状态,即在该状态时,对象允许执行哪些操作;

④在每个状态,从类中方法的调用关系图最下层开始,逐一测试类中的方法;

⑤测试每个方法时,根据对象当前状态确定出对方法的执行路径有特殊影响的参数值,将各种可能组合作为参数进行测试。 3. Bug的种类有哪些?

答:需求阶段的BUG,分析设计阶段的BUG,设计阶段的BUG,实现阶段的BUG,配置阶段的BUG,短视将来的BUG,静态文档的BUG 。

4. 自动化测试的缺点?(5点)

答:1、自动化测试不能取代手工测试, 测试主要还是要靠人工的。 2、新缺陷越多,自动化测试失败的几率就越大。 3、工具本身不具有想象力 4、技术问题、组织问题、脚本维护 5、测试工具与其他软件的互操作性

5. 选择手动和自动化测试,为了作出一个合理的决定,需要做哪些方面假设?(7个)

答: 1.拥有稳定的自动化测试技术支持。

2.两种极端的可能性:一种就是无需人工干预的完全自动化测试,另一种就是只运行一次就废弃的人工测试。

3.自动化测试和手工测试都可行(但事实并非如此)。 4.测试是通过外部接口完成的(黑盒测试)。 5.不要求必须进行自动化测试。

6.测试已经设计好之后,再决定是否进行自动化测试。

7.有一定的时间用于完成测试,并且在这段时间里完全有可能把测试做好。

6. 集成测试分析方法有哪些?

答:体系结构分析 模块分析 接口分析 风险分析 可测试性分析 集成测试策略分析

7. 编写类测试驱动程序的方法有很多种,以Java语言为例来说明,测试驱动程序设计的结构,并简要说明其优缺点。(PPT15 六章) 答:1.在main方法中写入需要运行的测试用例,即实现main方法,然后编译、执行该类。

缺点:不利于维护和复用,交付时,逐个剔除代码

2.在类中实现一个静态测试方法,通过调用该测试方法来收集每个测试用例的执行结果。 缺点:同1.

3.实现独立的测试类,它的职责是执行并收集每个测试用例的结果。 优点:可复用,支持回归测试

缺点:必须创建新类,关注被测试类的变化 8. 增量式集成和非增量式集成的概念和举例。???

答:非增量式测试:就是分别对系统中每个模块进行单元测试,然后将所有模块按照层次结构组装到一起进行测试,最终得到所要求的软件。

例如:大爆炸集成

增量式集成(或组装):先对一个个模块进行模块测试,然后在组装过程中边连接边测试,以发现连接过程中产生的问题。 例如:自顶向下集成和自底向上集成

9. 制定集成测试计划时间,一般安排在概要设计评审通过后大约一个星期的时候 一、计划阶段

制定集成测试计划时间:一般安排在概要设计评审通过后大约一个星期的时候,参考需求规格说明书、概要设计文档、产品开发计划时间表来制定。 二、设计阶段

制定集成测试设计时间:一般在详细设计开始时,就可以着手进行。可以把需要规格说明书、概要设计、集成测试计划文档作为参考依据。 10. 列举出图中三个模块,写出全部模块执行路径,最后给出其MM路径(书162页)

1. 源节点: 程序中的源节点是指程序执行开始或重新开始处的语句片断。

A:1,5节点 B:1,3节点 C:1节点

2.汇节点: 汇节点是程序执行结束处的语句片断。这里转移控制到其它单元的节点也是汇节点。 A:4,6节点 B:2,4节点 C:5节点

3.模块执行路径

模块执行路径是以源节点开始、以汇节点结束的一系列语句,中间没有插入汇节点。

在图4-12中有七条模块执行路径: 图4-12 跨三个单元的MM-路径

模块执行路径如下:

MEP(A,1)=〈1,2,3,6〉 MEP(A,2)=〈1,2,4〉 MEP(A,3)=〈5,6〉 MEP(B,1)=〈1,2〉 MEP(B,2)=〈3,4〉 MEP(C,1)=〈1,2,4,5〉 MEP(C,1)=〈1,3,4,5〉 4. 消息

消息是一种程序设计语言机制,通过这种机制可以把控制从一个单元转移到另一个单元。

5. MM-路径(Method Message Path)是穿插出现模块执行路径和消息的

序列。如图4-12中的粗线所示,代表模块A调用模块B,模块B调用模块C,这就是一个MM-路径,可用图4-13表示。对于传统软件来说,MM-路径永远是从主程序开始,在主程序中结束。

MM-路径如下:

11.设一个控制图如下,请给出其环路复杂度和基本路径。

环路复杂度:5

基本路径: 路径1:1—2—3—5—6—12—13—15 路径2:1—2—4—5—6—12—13—15 路径3:1—2—3—5—7—8—13—15 路径4:1—2—4—5—7—8—13—15 路径5:1—2—3—5—7—9—10—14—13—15 路径6:1—2—4—5—7—9—10—14—13—15 路径7:1—2—3—5—7—9—11—14—13—15 路径8:1—2—4—5—7—9—11—14—13—15

12.软件测试活动的生命周期

测试周期分为计划、设计、实现、执行、总结。其中:

计划:对整个测试周期中所有活动进行规划,估计工作量、风险,安排人力物力资源,安排进度等;

设计:完成测试方案,从技术层面上对测试进行规划; 实现:进行测试用例和测试规程设计;

执行:根据前期完成的计划、方案、用例、规程等文档,执行测试用例。

总结:记录测试结果,进行测试分析,完成测试报告。 13. 三明治集成方法

答:1. 确定以哪一层为界来决定使用三明治集成策略(在4-7中,我们确定以B模块为界);

2. 对模块B及其所在层下面的各层使用自底向上的集成策略; 3. 对模块B所在层上面的层次使用自顶向下的集成策略; 4. 把模块B所在层各模块同相应的下层集成; 5. 对系统进行整体测试。

14. 集成测试可看着是体系结构分析工作基础之上的细化。可从哪几个角度进行模快分析。

答: 1)确定本次要测试的模块;

2)找出与该模块相关的所有模块,并且按优先级对这些模块进行排列;

3)从优先级别最高的相关模块开始,把被测模 块与其集成到一起; 4)然后依次集成其他模块。

本文来源:https://www.bwwdw.com/article/az3d.html

Top