使用JUnit测试Java应用程序

一.基本概念

1.1 软件测试在开发无缺陷软件中扮演重要角色。

2.1 软件测试生命周期 (STLC):用于测试软件以提高其质量的系统先进方法。

2.2 STLC过程:需求分析、测试规划、测试环境搭建、测试用例开发、测试执行(缺陷修正)、测试收尾。

2.3 软件测试包括许多 测试策略 和 级别。

软件测试的两种测试策略:

黑盒测试:不能访问代码,测试整体功能,不测试代码语句分支。

白盒测试:需要访问代码,测试代码总的每个语句分支。

软件测试的多种级别:

①单元测试:方法/类/模块等测试的最小单元,要确保无缺陷且可重用

②集成测试:将各种单元测试组合在一起进行的测试。

③系统测试:采用黑盒测试,通过输入输出测试整个系统。

④回归测试:修改后的应用程序被再次测试。

⑤验收测试:给客户演示的测试。

⑥性能测试:检查应用在普通/负荷场景下的响应时间。

3.如何将IDE用于单元测试?

①命令提示符:复杂,需要安装JDK,配置Java环境。

②IDE,简单,Netbeans、Eclipse中添加测试所需的jar文件。

4.关于命令提示符的实例:

①通过cmd检测是否安装jdk:使用JUnit测试Java应用程序

②更改命令根目录:使用JUnit测试Java应用程序

③编译源程序,并向测试程序中添加jar包:使用JUnit测试Java应用程序

④运行,即将测试程序作为运行核心类的参数进行运行:

使用JUnit测试Java应用程序

⑤修改源文档参数,重新编译测试类,运行:

使用JUnit测试Java应用程序

⑥整体结果:使用JUnit测试Java应用程序

⑦命令符执行时的文件夹展示:使用JUnit测试Java应用程序

二.初识JUnit

1.Junit强调了在编码前先测试代码的想法,主要用于单元测试

2.框架架构:使用JUnit测试Java应用程序

3.框架架构元素介绍:①测试用例:测试最小单元。

②测试套件:如果有多个测试类并且希望自动逐个执行这些类。

③测试:测试用例的集合。

④测试运行器:执行测试时,测试运行器在后台执行,用于显示测试结果(通过or不通过)。

⑤测试结果。

4.测试用例构成:输入、事件、期望响应。

三.JUnit应用

1. JUnit批注

@Test:标注的方法作为测试类,运行之前会先构建类的实例,之后再执行标注的方法。

@Before/After:公共方法,无返回值,在每个测试用例前后执行一次。

@BeforeClass/AfterClass:公共方法,应声明为static,无返回值,在所有测试用例前后执行一次。

导入写好的程序及测试程序:使用JUnit测试Java应用程序

如果新建测试类,则程序和测试程序应在两个包:使用JUnit测试Java应用程序

测试文件的书写要素见图:使用JUnit测试Java应用程序

如何运行测试程序?不是运行程序哦:使用JUnit测试Java应用程序

测试中缺少jar包解决办法:使用JUnit测试Java应用程序

before/beforeclass的区别:使用JUnit测试Java应用程序

同一构造函数可能构造不同的:使用JUnit测试Java应用程序

同一构造函数可能构造不同的:使用JUnit测试Java应用程序

测试结果的可能性:使用JUnit测试Java应用程序

2.容忍值、断言、标记

关于断言:使用JUnit测试Java应用程序

JUnit Assert 类(断言)中提供 静态方法 以验证期望结果和实际结果。

容忍值举例:

使用JUnit测试Java应用程序

3.向测试用例中添加行为