测试优先的思想
- 确定规约 Specification
- 编写测试用例 JUnit
- 编写代码 Coding
- 程序测试 Testing
- (如果需要的话)修改代码并重新测试,直到通过全部测试用例为止 Revising and testing again
设计测试用例
等价类划分
概述:将被测函数的输入域划分为等价类,从等价类中导出测试用例。
假设:相似的输入,将会展示相似的行为。故可从每个等价类中选一个代表作为测试用例即可。
在多个维度上划分为多个等价类。
覆盖等价类的两种方法:
- Full Cartesian product 笛卡尔积:全覆盖
\(A\times B=\{(a,b)\mid a\in A\ {\mbox{ and }}\ b\in B\}\)
测试完备,但用例数量多 - Cover each part 每个维度的每个等价类至少被一个测试用例所覆盖
用例数量少,但用例覆盖度未必高
边界值分析
经验表明,大量的错误发生在输入域的“边界”而非中央。所以,有必要为边界值输入专门设计测试用例。
编写测试用例
开发Java项目时,一般使用JUnit测试框架。大体可分为三个环节:
- 导入JUnit包
import org.junit.Test;
import static junit.framework.TestCase.assertEquals;
如果创建的是Maven工程,IDEA会自动导入JUnit依赖
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
- 对测试方法使用测试注解
@Test
public void testAll() {
// 测试方法的内容
}
- 使用断言语句
JUnit断言语句有多种,其实,只使用assertEquals
就可满足大多数需求。
public static void assertEquals(
int expected,
int actual)
标签:优先,assertEquals,等价,junit,开发,测试,测试用例,JUnit
From: https://www.cnblogs.com/ming-bao/p/18100174