孤尽训练营打卡日记day23--单元测试

本文探讨了软件测试的重要性,特别是单元测试的角色。介绍了单元测试的定义、好处,如提高软件质量和研发效率,并遵循AIR原则。此外,文章还讲解了BCDE原则中的边界值测试,并提到了Junit作为单元测试的常见框架,如何创建测试类及其依赖配置。
摘要由CSDN通过智能技术生成

前言

        在我们的开发流程中,需求调研 -> 项目立项 -> 设计产品 -> 开发 ->测试 -> 发布,测试也是非常重要的一环,只有经过严格测试的产品,才能投入使用。如果一个产品不经过测试,直接上线是有非常大的风险的,出现问题会导致公司的名誉受损,如三星的note 7 爆炸时间。今天我们跟着Joel老师一起学习一下单元测试。

软件测试

  •         指的是通过手工或工具对被测对象进行测试操作
  •         以此来验证实际结果与预期之间是否存在差异
  1.         验证软件的正确性
  2.         找出软件的bug

项目的研发和测试生命周期

 单元测试

        对软件组成单元进行的测试,其目的是检验软件基本组成单位的正确性。测试对象是软件设计的最小单元:模块,又称模块测试

单元测试好处

  • 提高软件质量
  • 促进代码优化
  • 提升研发效率

单元测试的AIR原则

 A (Automatic)自动化

        能一键自动化执行,或者说是关闭我们的单元测试

I(Independent)独立性

        无论各个模块,接口,对外的依赖,每个单元不要相互依赖,要达到独立性。如果相互依赖,环境就是不稳定的,测出来的也是不准确的,要求独立测试,不能相互依赖

R(Repeatable)可重复性

        没有新的代码加入,要可以可重复性,后面的改造,要继续能使用

单元测试的 BCDE 原则

B:Border 边界值测试

C:Correct 正确的输入,并得到预期的结果

E:Error 证明程序有错

D:Design 与设计文档相结合

功能性测试之边界值测试

常见单元测试框架

名称简介备注
Junit一个开放源代码的Java测试框架,用于编写和运行可重复的测试Java语音中被广泛应用的框架
Mockito一个mock工具,用于模拟各种对象和组件,模拟函数返回值,模拟void类型的异常模拟还没有实现的功能及比较重的对象,使单元测试更加独立

Spring

-test

集成各种测试框架
Hamcrest一个测试的框架,他提供了一套通用的匹配符Mather,灵活使用这些匹配符定义的规则可以更加精确的表达自己的测试思想,指定所想设定的测试条件
JSNassert一个专门用于Json 断言的工具
JsUnitJavaScript客户端(在浏览器下)的单元测试框架
DBUnitJunit的扩展,用于进行数据库的单元测试框架
HttpUnitWeb应用的单元测试框架,通常用Junit结合一起使用
JunitEEJavaEE 的单元测试框架

测试框架示例

Junit

依赖

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

测试类以 Test 结尾,测试方法以 test开头

可以用idea 编辑器快速生成测试类

点击类名

Alt + Enter 

 代码

@RunWith(SpringRunner.class)
@SpringBootTest
class ICrudServiceTest {

    @Test
    void listPage() {
    }

    @Test
    void list() {
    }
}

宝剑锋从磨砺出,梅花香自苦寒来。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值