软件工程知识点总结(6):软件项目的测试

目录

1 软件测试概述

1.1 软件测试的目标

1.2 测试准则

1.3 测试方法

2 测试方案

3 白盒测试

3.1 语句覆盖

3.2 判定覆盖

3.3 条件覆盖

3.4 判断/条件覆盖

3.5 条件组合覆盖

4 黑盒测试

4.1 等价类法

4.2 黑盒测试——边界值分析法

5 软件测试

5.1 单元测试

5.2 集成测试(组装测试或联合测试)

5.3 确认测试(系统测试)

5.4 验收测试


1 软件测试概述

1.1 软件测试的目标

       测试是为了发现程序中的错误而执行程序的过程;好的测试方案是尽可能发现迄 今为止尚未发现的错误的测试方案;成功的测试是发现了至今为止尚未发现的错 误的测试。

1.2 测试准则

       所有测试都应该能追溯到用户需求;(测试用例设计依据)

       应该远在测试开始之前就制定出测试计划;

       80%的错误很可能是由 20%的模块造成。

       应该从“小规模”测试开始,并逐步进行“大规模”测试;

       穷举测试是不可能的;

       为了达到最佳的测试效果,可以找独立的第三方公司进行测试工作。

1.3 测试方法

静态测试工具-PMD

静态方法是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过 程、接口等来检查程序的正确性。

PMD:是一个代码检查工具,它用于分析 Java 源代码,找出潜在的问题:(在 Eclipse 中 安装 PMD 插件)

       1)潜在的 bug:空的 try/catch/finally/switch 语句

       2)未使用的代码:未使用的局部变量、参数、私有方法等

       3)可选的代码:String/StringBuffer 的滥用

       4)复杂的表达式:不必须的 if 语句、可以使用 while 循环完成的 for 循环

       5)重复的代码:拷贝/粘贴代码意味着拷贝/粘贴 bug

2 测试方案

       所谓测试方案包括具体的测试目的(例如,预定要测试的具体功能),应该输入 的测试数据和预期的结果。通常又把测试数据和预期的输出结果称为测试用例。 (记忆)

通常测试目的包含如下几种:

       看测试对象是否满足需求规格说明书和概要设计,满足目前的要求及未来的发展 需求。

       看测试对象是否满足概要设计说明书。

       看测试对象业务流程的合理性和正确性(详细设计说明书)。

       看测试对象的功能、兼容、性能、稳定性、安全测试,是否满足要求。

3 白盒测试

对单一模块测试内部结构是否和详细设计相同,使用黑盒法还是白盒法?如何设 计测试用例?

使用白盒测试法 常见白盒测试法:逻辑覆盖法、基本路径覆盖法

3.1 语句覆盖

选择足够的测试用例,使得程序中每一条可执行语句至少被执行一次。

分析:执行语句 sacbed

测试用例:A=2,B=0,X=任意实数 覆盖 sacbed

语句覆盖特点:语句覆盖对程序的逻辑覆盖很少。语句覆盖不能走过所有支路。 语句覆盖是很弱的逻辑覆盖标准。

3.2 判定覆盖

含义:不仅每个语句必须至少执行一次,而且每个判定的每种可能的结果都应该 至少执行一次。

所有判定分支:

       (1) a 点判定为 T

       (2) a 点判定为 F

       (3) b 点判定为 T

       (4) b 点判定为 F

测试用例:

       Ⅰ. 满足(aTbF)

        A=3,B=0,X=3

       覆盖 sacbd 结果: x=1

       Ⅱ. 满足(aFbT)

       A=2,B=1,X=1

       覆盖 sabed 结果: x

或者:

       Ⅰ. 满足(aTbT)

       A=2,B=0,X=4

       覆盖 sacbed

       Ⅱ. 满足(aFbF)

        A=1,B=1,X=1

       覆盖 sab

特点:比语句覆盖强,但对程序逻辑的覆盖程度仍不高。

3.3 条件覆盖

含义:不仅每个语句至少执行一次,判定表达式中的每个条件都取到各种可能的 结果。

所有条件:

       (1)A>1        (2)A≤1

       (3)B=0        (4)B≠0

       (5)A=2        (6)A≠2

       (7)X>1        (8)X≤1

如果语言具备短路特性,本测试用例,需要增加,测试 B !=0 和 X>1 的用例 A=3,B=1,X=6

条件覆盖特点:条件覆盖通常比判定覆盖强,因为它使每个条件都取到了两个不 同的结果,判定覆盖却只关心整个判定表达式的值。但也有反例,如第二组测试 用例。判定覆盖不一定包含条件覆盖,条件覆盖也不一

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

茜茜西西CeCe

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值