黑马程序员软件测试课后习题答案 您所在的位置:网站首页 软件测试基础技能考核题库电子版及答案 黑马程序员软件测试课后习题答案

黑马程序员软件测试课后习题答案

2023-10-05 15:01| 来源: 网络整理| 查看: 265

第1章 软件测试基础

一、填空题

1、软件生命周期

2、瀑布

3、螺旋

4、功能性、可靠性、可使用性、效率、可维护性、可移植性

5、严重、一般、次要、建议

6、单元测试

7、白盒测试

8、W

二、判断题

1、F    解析:现在比较流行的开发模型为敏捷模型。

2、F

3、F    解析:软件缺陷可存在于软件需求分析、架构设计、编程开发等各个阶段。

4、T

5、F     解析:X模型融入了探索测试。

6、F

三、单选题

1、A

2、C

3、B

4、C    解析:缺陷报告的形式,每个公司都有一套模板

5、D

6、B

四、简答题

1、软件缺陷处理流程为:提交→分配→确认→处理→复测→关闭,具体如下图所示:

软件缺陷处理流程

(1)提交:测试人员发现缺陷之后,将缺陷提交给测试组长。

(2)分配:测试组长接收到测试组员提交的缺陷之后,将其移交给开发人员。

(3)确认:开发人员接收到移交的缺陷之后,会与团队甚至测试人员一起商议,确定该缺陷是否是一个缺陷。

(4)拒绝:如果经过商议之后,缺陷不是一个真正的缺陷则拒绝处理,关闭缺陷。如果经过商议之后,确定其是一个真正的缺陷,则可以根据缺陷的严重程度或优先级等立即处理或延期处理。

(5)处理:开发人员修改缺陷。

(6)复测:开发人员修改好缺陷之后,测试人员重新进行测试(回归测试),检测缺陷是否确实已经修改。如果未被正确修改,则重新提交缺陷。

(7)关闭:测试人员进行回归测试之后,如果缺陷已经被正确修改,则将缺陷关闭,整个缺陷处理完成。

2、软件测试的基本流程为:分析测试需求→制定测试计划→设计测试用例→执行测试→编写测试报告。

(1)分析测试需求

测试人员在制定测试计划之前需要先对软件需求进行分析,以便对要开发的软件产品有一个清晰的认识,从而明确测试对象及测试工作的范围和测试重点。在分析需求时还可以获取一些测试数据,作为测试计划的基本依据,为后续的测试打好基础。

(2)制定测试计划

测试计划是整个测试工作的导航图,但它并不是一成不变的,随着项目推进或需求变更,测试计划也会不断发生改变,因此测试计划的制定是随着项目发展不断调整、逐步完善的过程。

测试计划一般要做好以下工作安排。

确定测试范围:明确哪些对象是需要测试的,哪些对象不是需要测试的。制定测试策略:测试策略是测试计划中最重要的部分,它将要测试的内容划分出不同的优先级,并确定测试重点。根据测试模块的特点和测试类型(如功能测试、性能测试)选定测试环境和测试方法(如人工测试、自动化测试)。安排测试资源:通过对测试难度、时间、工作量等因素对测试资源合理安排,包括人员分配、工具配置等。安排测试进度:根据软件开发计划、产品的整体计划来安排测试工作的进度,同时还要考虑各部分工作的变化。在安排工作进度时,最好在各项测试工作之间预留一个缓冲时间以应对计划变更。

预估测试风险:罗列出测试工作过程中可能会出现的不确定因素,并制定应对策略。

(3)设计测试用例

测试用例(Test Case)指的是一套详细的测试方案,包括测试环境、测试步骤、测试数据和预期结果。测试用例编写的原则是尽量以最少的测试用例达到最大测试覆盖率。测试用例常用的设计方法包括等价类划分法、边界值分析法、因果图与判定表、正交实验法、逻辑覆盖法等。

(4)执行测试

测试执行就是按照测试用例执行测试的过程,这是测试人员最主要的活动阶段。在执行测试时要根据测试用例的优先级进行。

测试人员需要完成所有测试用例的执行,每一个测试用例都可能会发现很多缺陷,测试人员要做好测试记录与跟踪,衡量缺陷的质量并编写缺陷报告。

当提交后的缺陷被开发人员修改之后,测试人员需要进行回归测试。如果系统对测试用例产生了缺陷免疫,测试人员则需要编写新的测试用例。

(5)编写测试报告

测试报告是一个测试活动的总结,对项目测试过程进行总结,对测试数据进行统计,对项目的测试质量进行客观的评价文档。

一份完整的测试报告必须要包含以下几个要点。

引言:描述测试报告编写目的、报告中出现的专业术语解释及参考资料等。测试概要:介绍项目背景、测试时间、测试地点及测试人员等信息。测试内容及执行情况:描述本次测试模块的版本、测试类型,使用的测试用例设计方法及测试通过覆盖率,通过测试的通过情况提供对测试执行过程的评估结论,并给出测试执行活动的改进建议,以供后续测试执行活动中借鉴参考。缺陷统计与分析:统计本次测试所发现的缺陷数目、类型等,分析缺陷产生的原因给出规避措施等建议,同时还要记录残留缺陷与未解决问题。测试结论与建议:从需求符合度、功能正确性、性能指标等多个维度对版本质量进行总体评价,给出具体明确是否可用的结论。测试报告的数据是真实的,每一条结论的得出是有评价依据的,不能是主观臆断的。 第2章 黑盒测试

一、填空题

1、等价类

2、有效等价类、无效等价类

3、边界值法

4、恒等

5、异、或、唯一、要求

6、条件桩、条件项、动作桩、动作项

二、判断题

1、F    解析:无效等价类也可以捕获程序缺陷。

2、F    解析:此种情况可以划分三个等价类,一个有效等价类(取值范围),两个无效等价类(取值范围两边的值)。

3、F

4、T

5、T

6、T

三、选择题

1、A    解析:恒等是输入与输出之间的关系。

2、C

3、D

四、简答题

1、等价类划分原则:

(1)如果程序要求输入值是一个有限区间的值,则可以将输入数据划分为一个有效等价类和两个无效等价类,有效等价类为指定的取值区间,两个无效等价类分别为有限区间两边的值。

(2)如果程序要求输入的值是一个“必须成立”的情况,则可以将输入数据划分为一个有效等价类和一个无效等价类。

(3)如果程序要求输入数据是一组可能的值,或者要求输入值必须符合某个条件,则可以将输入数据划分一个有效等价类和一个无效等价类。

(4)如果在某一个等价类中,每个输入数据在程序中的处理方式都不相同,则应将该等价类划分成更小的等价类,并建立等价表。

2、在实际测试中,条件桩往往很多,而且每个条件桩都有真假两个条件项,有n个条件桩的决策表就会有2n条件规则,有些规则的取值对结果并无影响,这个问题就称为无关条件项,无关条件项使用“-”表示,忽略无关条件项,可以将这两条规则进行合并。合并之后的无关条件项(-)包含其他条件项取值,因此具有相同动作的规则还可进一步合并

3、正交实验设计法测试用例设计步骤。

(1)提取因子,构造因子状态表

分析软件的规格需求说明得到影响软件功能的因子,确定因子可以有哪些取值,即确定因子的状态。

(2)加权筛选,简化因子-状态表

在实际软件测试中,软件的因子及因子的状态会有很多,每个因子及其状态对软件的作用也大不相同,如果把这些因子及状态都划分到因子-状态表中,则最后生成的测试用例会相当庞大,从而影响软件测试的效率。因此需要根据因子及状态的重要程度进行加权筛选,选出重要的因子与状态,简化因子-状态表。

加权筛选就是根据因子或状态的重要程度、出现频率等因素计算因子和状态的权值,权值越大,表明因子或状态越重要,而权值越小,表明因子或状态的重要性越小。加权筛选之后,可以去掉一部分权值较小的因子或状态,使得最后生成的的测试用例集缩减到允许的范围。

(3)构建正交表,设计测试用例

正交表的表示形式为Ln(tc)来表示。

L表示正交表。n为正交表的行数,正交表的每一行可以设计一个测试用例,因此行数n也表示可以设计的测试用例的数目。c表示正交实验的因子数目,即正交表的列数,因此正交表是一个n行c列的表。t称为水平数,表示每个因子能够取得的最大值,即因子有多少个状态。

第3章 白盒测试

一、填空题

1、执行语句

2、判定覆盖

3、条件覆盖

4、判定-条件

5、条件覆盖

6、探针

二、判断题

1、T

2、F   解析:目标代码插桩是往二进制程序中插入代码,二进制程序是已经经过编译、链接后的代码。

3、F

4、T

5、T   解析:使用同一种编程语言编写的程序与探针,则探针可能通用。

三、选择题

1、D

2、C   解析:条件组合覆盖考虑到了每个逻辑条件的取值的所有组合情况。

3、C   解析:源代码插桩中,桩代码会一起参与编译、链接,因此插桩法会导致代码膨胀。

四、简答题

1、请简述一下逻辑覆盖的几种方法及它们之间的区别。

(1)语句覆盖

语句覆盖是最常见的覆盖方式。语句覆盖的目的是测试程序中的代码是否被执行,它只测试代码中的执行语句,这里的执行语句不包括头文件、注释、空行等。语句覆盖在多分支的程序中,只能覆盖某一条路径,使得该路径中的每一个语句至少被执行一次,但不会考虑各种分支组合情况。

(2)判定覆盖

判定覆盖(Decision Coverage)又称为分支覆盖,其原则是设计足够多的测试用例,在测试过程中保证每个判定至少有一次为真值,有一次为假值。判定覆盖的作用是使真假分支均被执行,虽然判定覆盖比语句覆盖测试能力强,但仍然具有和语句覆盖一样的单一性。

判定覆盖语句一般是由多个逻辑条件组成,如果仅仅判断测试程序执行的最终结果而忽略每个条件的取值,必然会遗漏部分测试路径,因此,判定覆盖也属于弱覆盖。

(3)判定-条件覆盖

判定-条件覆盖(Condition/Decision Coverage)要求设计足够多的测试用例,使得判定语句中所有条件的可能取值至少出现一次,同时,所有判定语句的可能结果也至少出现一次,例如,对于判定语句if(a>1 AND c1、c1、c1 AND c



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有