设计阶段的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)然后依次集成其他模块。