软件工程概论笔记(五)

软件测试的基本概念

白盒测试的测试用例设计

基本路径覆盖

黑盒测试的测试用例设计

软件测试的策略

人工测试

调试

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

用户角度:使用较少的错误和缺陷的软件

开发法这角度:为了便于让顾客接受

开发工作中,测试一般占30%~40%甚至大于50%

软件测试对象:需求分析、概要设计、详细设计、程序编码等各个阶段的说明文档,包括需求规格说明书,概要设计说明书,详细设计说明书,源代码等都是软件测试的对象

确认:是一系列活动和过程,目的是想证实一个给定的外部环境中的软件逻辑的正确性,包括静态确认和动态确认,静态人工分析,动态跑程序

验证:证明软件生存期各个阶段之间的协调性正确性

测试信息流:测试->结果分析->排错/可靠性分析

测试:软件配置:待测对象、测试配置:测试计划,如何测试、测试工具:用来辅助测试的工具

排错后重新测试是一个until模式

在结果分析阶段,将测试结果和预期结果对比

测试时一个自底向上、逐步集成的阶段

只有当编程完成以后才可以开始测试

黑盒测试:按照需求规格说明书,在不知道内部逻辑关系的情况下进行的测试

白盒测试:是对软件的过程细节做细致的检查(又称结构测试或者逻辑驱动测试)

逻辑覆盖:

(1)语句覆盖,所有语句都执行一遍

(2)判定覆盖:每个判断的分支都执行一遍

(3)条件覆盖:每个判断的每个条件都按照不同的值执行一遍

(4)判定-条件覆盖:既要每个分支又要每个条件

(5)路径覆盖:所有可能路径

基本路径覆盖:在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路经济和,从而设计测试用例的方法

测试用例:保证在测试中每个可执行语句至少执行一次

画控制流图,计算环路复杂性V(G),确定线性无关的基本路径集,生成测试用例,确定路径集中的每条路径都被执行

环路的复杂性:通过E-N + 2 或者 P + 1  E:控制流图的边数 N是控制流图的顶点数 P为判定节点的数目

黑盒测试的测试用例设计:

等价类划分:划分等价类、选取测试用例

划分等价类:等价类就是包含一个输入域的子集和,对于集合中的每个输入可以相互替代。包括有效等价类,无效等价类。有效等价类:合理的输入,按照规格说明书来的,用来测试是否实现了所有功能。无效等价类:不合理的输入,用来测试是否能检验出无效的不合理的输入

边界值分析:边界值分析是堆等价类划分方法的补充,包括稍高于边界值和稍低于边界值以及边界值来进行测试

测试步骤:单元测试、组装测试、确认测试和系统测试

对检测模块进行单元测试然后按照设计信息组装模块进行集成测试第三步按照软件需求进行确认测试最后按照系统其他元素进行系统测试,最后得到了可以交付的软件

单元测试:白盒测试,模块测试。步骤:驱动模块和装模块,驱动模块——被测模块的主程序用于传送数据,传出结果。桩模块——可以代替模块调用的子模块进行少量的数据操作。在测试每个模块的时候,需要绘制出它的驱动模块和它的stub模块,如果有的话。主模块无驱动模块,而有些模块式没有桩模块的。

组装测试:集成测试、联合测试。组装方式包括两种:增值组装的方式和一次性组装的方式,增值组装的方式为自顶向下深度优先的方法/紫丁香上的增值方式是用实际模块来代替驱动模块广度优先/混合增殖式测试,而一次性组装时在对每个模块进行完单元测试的时候然后进行一次性组装完毕

组装测试的步骤:(1)采用何种系统组装方法进行组装测试(2)组装测试过程中的链接顺序(3)源代码是否和集成测试的顺序一致(3)测试是否需要专门的硬件设备

确认测试:有效性测试,是黑盒测试,为的是验证软件是否已经满足了用户对软件的需求,所需要进行的测试君已经卸载软件规格说明书中。

系统测试:是在软件测试之后,对确认过的软件进行和计算即系统的硬件等设备进行一个统一的测试,



猜你喜欢

转载自blog.csdn.net/mr_guo_lei/article/details/78988136