复习资料:软件质量保证与测试
第一章 绪论
解答题
- 试分析如何降低软件质量成本。
软件生产应当投入合理的预防成本和评价成本,提高软件质量,防止软件失败,降低失败成本,从而降低总的软件质量成本。 - 什么是PE模型,试分析PIE模型对软件测试设计有何指导意义?
如果要通过动态测试观察到错误,满足的三个条件:
(1)程序执行路径必须通过错误的代码(Execution-执行);
(2)在执行错误代码的时候必须符合某个或者某些特定条件,从而触发出错误的中间状态 ( Infection-感染);
(3)错误的中间状态必须传播到最后输出,使得观测到输出结果与预期结果不一致( Propagation-传播);这就是PIE模型。
PIE模型对软件测试设计的指导意义在于:使得可能存在的软件缺陷Fault,通过程序执行都尽可能的产生失败Failure并被外部观察到。 - 试分析为什么要对软件进行质量保证与测试。
质量保证测试确保了高质量软件的开发,因为它主要关注软件开发过程中的高质量流程,良好的质量管理体系和定期的一致性审核。 - 计算机病毒是否是软件缺陷?为什么?
不是。因为病毒不是软件。 - 第一类测试方法与第二类测试方法的各自的优缺点是什么?
第一类测试方法测试要求就是软件的规格说明,简单明确,易于实施,但不利于发现软件中的问题。
第二类测试方法需要测试各种可能的情况,包括特殊情况、异常情况等,测试要求更多,但有利于发现软件中可能存在的问题。
第二章 软件测试策略
解答题
- 试分析黑盒测试、白盒测试、静态测试、动态测试之间的关系。
黑盒测试都是动态测试。白盒测试有动态测试也有静态测试。
动态测试既可能是黑盒测试,也可能是白盒测试。静态测试只能是白盒测试。 - 试对比分析黑盒测试、白盒测试各自的优缺点。
- 你认为应如何对一个软件实施测试。
(1)分析明确测试需求。
(2)制定测试计划。
(3)进行测试设计。
(4)测试开发。
(5)测试执行和记录。
(6)测试总结和评价。 - 试分析动态白盒测试与黑盒测试的区别。
动态白盒测试与黑盒测试的区别在于:两者测试用例设计的依据是不同的。
动态白盒测试的测试用例设计依据是程序的内部逻辑结构,而黑盒测试的测试用例设计依据是程序的规格说明书。
第三章 黑盒测试
解答题
- 某种信息加密代码由三部分组成,这三部分名称和内容如下:
(1) 加密类型码:空白/三位数字
(2)前缀码:非0或1开头的三位数
(3)后缀码:四位数字
试用等价类划分法,分析它所有的等价类,并设计测试用例。
解答如下:
分析等价类:
测试用例设计:
对有效等价类:
对无效等价类:
- 有一个在线购物网站系统,主要功能包括登录、商品选购、在线支付完成购物等。用户在使用这些功能时可能会出现各种情况,如账号不存在、密码错误、账户余额不足等。设目前该系统中仅有一个账号abc;密码为123;账户余额200;仅有商品A,售价为50元,库存为15,商品B售价为50元,库存为0。试用场景法:
(1)分析画出事件流图,标注基本流和备选流。
(2)分析生成测试场景。
(3)对每一个场景设计相应的测试用例。
解答如下:
(1)事件流图
(2)测试场景
场景1:基本流
场景2:基本流、备选流1
场景3:基本流、备选流2
场景4:基本流、备选流3
场景5:基本流、备选流4
(3)每个场景的测试用例设计
- 有一个“学生信息输入”界面,输入项有3个:姓名、学号、性别,输入项状态有两个:填与不填。请采用正交实验法对其进行测试用例设计。
(1)请选择一个合适的正交表。
(2)根据选定的正交表进行变量映射。
(3)写出测试用例。
解答:
第四章 白盒测试
解答题
为以下程序设计测试用例集,要求分别满足语句覆盖,条件覆盖,判定 覆盖,条件/判定覆盖,条件组合覆盖。
public int do_work(int A, int B) {
int x = 0;
if ((A > 4) && B < 9) {
x = A - B;
}
if ((A == 5) && (B > 28)) {
x = A + B;
}
return x;
}
解答:
第五章 软件测试过程
第六章 面向对象测试
解答题:
- 什么是多态?多态对测试有什么影响?
多态是同一个操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。多态性增强了软件的灵活性和重用性,同时也使得测试的工作量成倍增加。多态和动态绑定增加了软件运行中可能的执行路径,而且给面向对象软件带来了不确定性,给测试覆盖带来了困难。
第七章 自动化测试
第八章 软件评审
解答题:
- 试分析通过评审可以有哪些收效?
(1) 及时发现软件开发过程中可能引入的缺陷,保证质量。
(2) 提高软件生产率。
(3) 降低软件质量成本。
(4) 实现项目监控,标志阶段完成。
(5) 发现通过测试无法发现的缺陷。
(6) 通过评审学习和累积。 - 什么是软件评审,主要的分阶段软件评审活动有哪些?
软件评审是软件开发组之外的人员或小组,对软件需求、设计或代码,进行详细审查的一种正式评价方法。其目的是要发现软件中的缺陷,找出违背执行标准的情况以及其他问题。
不同的软件开发组织和软件项目实施评审的做法有所不同,主要的软件评审活动有:软件项目可行性评审、需求评审、设计评审、代码评审、测试评审等等。
第九章 软件质量与质量保证
解答题:
- 某软件公司为某电影院设计开发了一款票务系统,包括票务管理、账号管理、在线购票、统计分析等功能,该软件计划长期使用,部分模块将用于其他类似软件,软件在使用时应能接入数字化城市平台。试结合软件质量模型分析应从哪些特性来分析评价该软件的质量。
- 试分析SQA(软件质量保证)活动包括哪些,并举例说明。
第十章 测试的组织和管理
解答题:
- 什么是软件测试文档?测试项目中主要的测试文档有哪些?
软件测试文档是对要执行的软件测试及测试的结果进行描述、定义、规定和报告的任何书面或图示信息。(2分)
它为测试项目的组织、规划和管理提供了一个规范化的架构。(2分)
主要的测试文档有:测试需求分析、测试计划书、测试设计书、测试用例说明、测试规程规格说明、测试日志、测试执行记录、测试缺陷报告、测试总结报告等。( 6分,列出6项即可) - 试分析测试用例为什么需要更新。
测试用例还需要不断更新和完善。主要原因有三个:
第一、在后续的测试过程中可能发现前面设计测试用例时考虑不周,需要补充完善;
第二﹑在软件交付使用后反馈了软件缺陷,而这些软件缺陷在测试时并没有发现,需要补充针对这些缺陷的测试用例;
第三、软件版本的更新及功能的新增等,要求测试用例也需要配套修改更新。 - 测试用例的作用。
(1) 发现和跟踪软件缺陷。
(2) 更准确地反映软件的某一特性。
(3) 全面的反映软件的性能和质等。
(4) 明确故障责任。 - 软件测试团队的类型人员。
(1) 具有远见和创新精神,能创造性工作的测试组织管理和测试设计人员。
(2) 负责测试实施,专业技术能力强、经验丰富的专业测试人员。
(3) 执行具体测试任务的初级测试人员,在这实践中他们可以积累经验、学习提高。