单元测试课程大纲初稿 ### 概念 - 单元测试是神马? - 书本上的经典解释 - 我个人的实践理解 - (此处使用框架图展示单元测试及其它测试手段) ### 基本原则 - 用例组织形式 - 用例与被测代码关系 - 用例的基本要素:场景(接口)调用 与 断言的设置 ### 使用目的(价值所在) - 有很多原因让我们认认真真对待单元测试这项工作,此处省略一万字 ### 常用框架 - TestNG/JUnit - 测试用例框架(推荐:使用maven执行单元测试) - Hamcrest - 用例断言的辅助类库 - Mockito - Mock类库 - WireMock - Mock工具 ### 推荐写法 & 实例展示 - 测试用例的分类与实例代码展示 - http://chenkan.me/blog/2013/11/03/ci_look_back_03_unit_test/ - 结合代码覆盖率工具(各种Eclipse下的代码覆盖率插件)写用例 ### 代码覆盖率介绍 - 术语及覆盖率算法介绍 - 行覆盖率,分支覆盖率,等 - 常用的工具 - Jacoco/EMMA/Sonar ### 推荐流程 - 以怎样的优先级编写用例,如何有效利用这些用例 - 如何对测试用例实施运维 - 与持续集成(Jenkins)及静态代码检查(Sonar)的结合 - 与其它测试手段的协作,即:分层测试(此处画图展示) - (可选)我的一些心得体会 ### (技术上的)实施难点 - 搭建一个简单,易扩展的测试用例框架 - 处理好测试环境依赖(使用mock,stub,fake,等手段) - 处理好用例之间的依赖及(尤其是隐藏的)耦合 - 把握用例粒度与覆盖范围(http://coolshell.cn/articles/8209.html) - 用例的价值如何度量(覆盖率,等) ### 补充说明 - 以上都是我个人的单元测试经验,而我实际上并没有真正的工程级别的Java开发经验==!因此,最好再联系一位Java牛人指点下 - 也可以从一些经典书籍(《代码整洁之道》,等)里面寻找一些经验 - 或者学习一些著名的开源项目(Spring,OpenStack,等)的单元测试 - 这份只是大纲,内容可根据授课对象的兴趣增删改,拆分成几堂课
单元测试课程大纲初稿
概念
基本原则
使用目的(价值所在)
常用框架
推荐写法 & 实例展示
代码覆盖率介绍
推荐流程
(技术上的)实施难点
补充说明