单元测试已成为IT行业的重点关注内容。
无论做开发工作还是做测试工作,都需要对自己编写的后端代码实施单元测试。
按测试方法划分,测试主要分为两大类:黑盒测试与白盒测试。
通过运行软件根据结果输出来分析软件功能的正常性。
例如:给你一个登录功能
1、用户输入用户名和密码,点击登录,
2、如果系统登录成功进入系统主界面
3、如果系统登录失败,界面提示用户名或密码错误,这也是我们生活中最常见的案例。
黑盒测试不需要考虑功能的内部逻辑结果,根据前后端提供的界面就可以录入测试数据,进行登录,根据功能测试用例分析预期结果与实际结果的正常性,来判断功能与需求的一致性。
单元测试是一种白盒测试,用户在实施过程中通过阅读或者测试程序的代码来完成工作。
工作原理如下图所示:
且如今的python语言或java语言都自带了JUnit框架,Python中的单元测试框架主要使用Unittest。
1. 通过键盘录入用户名和密码 2. 判断用户是否登录成功
* 如果用户名与密码正确,则用户登录成功,反之,则用户登录失败
实现代码如下:
今天主要来讲解如何使用Java程序编写单元测试用例。
需求:分享一个计算器中的加、减法单元测试案例。
具体实现步骤如下:
在java的世界中一切皆对象,咱们优先创建一个计算机类,代码如下 图所示:
创建一个计算机测试类,实例化对象,代码实现如下图所示:
通过上述单元测试案例的设计,也得出了单元测试结果,但大家有没有发现以上单元测试用例存在缺陷。
也就是说我执行单个加法运算或者执行单个减法运算,需要将前一个对象注解才能执行,这样操作起来非常不方便。
实际查看结果好像没问题,但以上代码并没有实际结果与预期结果之分,这样我们无法分辨单元测试结果的正确性。
故我们需要对以上单元测试代码进行一步优化。
给单元测试方法添加修饰符@Test与预期结果
加法方法优化一:
编辑
添加图片注释,不超过 140 字(可选)
减法方法优化二:
单元左边三角形批量执行用例,最终达到单元测试的效果
总之,测试用例占据测试工作中60%的工作量,大部分在概设、详细设计、编码过程,测试人员都投入大量的时间与成本来设计测试点和编写测试用例。