Note 7.5 测试

1. 概述

重点:测试的价值和意义;白盒和黑盒的选择;
目的:增强正确的信心,验证包括形式化推理、代码评审和测试;
测试是一项调查,评估属性,提供质量信息,
正确性和健壮性

特点:目标是发现错误,不完全/彻底测试不可行,不能改进质量,
单元、集成、系统测试

静态和动态测试:
静态不执行程序,在源码上进行;强调过程
动态通过给定用例执行程序,可能用到到桩模块和驱动模块技术??强调结果

白盒和黑盒:
白盒针对内部结构,查看源码;
黑盒测试功能/结果,不检查内部源码;

测试和调试:
测试-检查错误;
调试-诊断、纠正已检测到的错误

2. 测试用例

输入+执行条件+期望结果(+先决条件状态或步骤及说明)
原则:代表性、可判定行、可再现性
test suite

3. test-first

边开发边测试
specification/规格说明=方法签名+注释(输入输出)

4. 单元测试

关注最基本组件、模块,如类;
针对内部逻辑和数据结构;
considerations:接口(测试输入输出),数据的一致性,所有语句被执行,boundary,异常处理

5. 自动测试with Junit

@Test关键字
assertEquals/True/False
参数顺序:expected, actual
各个test module独立
@Before/AfterClass/All
@Before/After
【tip: 测试时需要将src和test目录均指定为source folder

6. 黑盒测试(choose case by partitioning;include boundaries in partition)

围绕规范和需求
包括等价类划分、边界值分析、
等价类表示输入条件的一组有效或无效状态??

边界可能在不连续点

7. 白盒测试

黑盒依据规格说明设计、白盒依据功能的具体实现
覆盖所有独立路径、逻辑判断t/f、循环边界及内部、数据结构

8. 代码覆盖度->用例的充分性

用来描述特定测试运行时程序的源代码执行程度(尽可能高
测量标准:子程序和被调用语句的百分
测量工具:EclEmma

9. 集成测试

模块间测试、接口
自上而下和自下而上【各自优点缺点
三明治integration方法

10. 自动测试和回归测试

auto:自动运行测试和检查结果
regression:每次更改代码后都要运行的测试

11. 测试策略

是ADT设计的补充
例如:如何划分等价类和选区边界
目标是进行代码审查时检查测试是否充分

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值