读书笔记:构建高质量软件与持续集成

2022-12-04 18:19:28 浏览数 (3)

概述

一直在写代码,由于时间有限,工作较多,单测覆盖其实不是特别多。

关键代码可能会加上单测。其他的有时间才补单测,大概率是没有太多时间。

补充单测通常是junit和phpunit

最近读了一本书,《构建高质量软件与持续集成》觉得作者对java相关的保证软件质量的工具介绍的挺好的,特意做个个简单笔记分享给大家。其实绝大部分老手只需要一个概要就行。

单元测试是什么?

  • 开发编写
  • 白盒测试
  • 针对源代码进行最细粒度的测试

开发流程

  • 分支开发,单元测试,单元测试通过,代码review ,qa测试,发布

为什么需要单元测试?

  • 编程过程更加敏捷
  • 提高代码质量
  • 尽早发现缺陷
  • 简化集成测试
  • 提供文档帮助
  • 易于调试
  • 促进开发中优化代码设计和结构
  • 降低软件开发成本

单元测试的原则

  • 独立无依赖
  • 可重复
  • 自我验证
  • 周密,细致,全面

junit最佳实践

  • 工具:junit4,junit5, mockito,easymock, jmock, testNG,powermock
  • 避免操作外部资源和数据
  • 不要skip单元测试
  • 单元测试不要覆盖所有方法
  • 单元测试中必须包含assert操作
  • 单元测试和包名一致
  • 不要写无意义的单元测试
  • 异常不要刻意捕获
  • 不要捕获异常什么都不做
  • 单元测试也激活日志
  • 使用自动化的构建工具
  • 对源码的单元测试覆盖率应该到达一定的要求
  • 保持小巧,快四执行
  • 单元测试同源代码同源代码同样重要

测试驱动开发:编写足够多代码前,优先编写单元测试方法

  • 方式
    • 红:单测失败
    • 绿: 修改单测和代码
    • 重构:重新优化代码和增加单测

0 人点赞