Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

单元测试课程(大纲) #10

Open
chenkan opened this issue Nov 17, 2013 · 1 comment
Open

单元测试课程(大纲) #10

chenkan opened this issue Nov 17, 2013 · 1 comment
Labels

Comments

@chenkan
Copy link
Owner

chenkan commented Nov 17, 2013

单元测试课程大纲初稿

概念

  • 单元测试是神马?
  • 书本上的经典解释
  • 我个人的实践理解
  • (此处使用框架图展示单元测试及其它测试手段)

基本原则

  • 用例组织形式
  • 用例与被测代码关系
  • 用例的基本要素:场景(接口)调用 与 断言的设置

使用目的(价值所在)

  • 有很多原因让我们认认真真对待单元测试这项工作,此处省略一万字

常用框架

  • TestNG/JUnit - 测试用例框架(推荐:使用maven执行单元测试)
  • Hamcrest - 用例断言的辅助类库
  • Mockito - Mock类库
  • WireMock - Mock工具

推荐写法 & 实例展示

代码覆盖率介绍

  • 术语及覆盖率算法介绍 - 行覆盖率,分支覆盖率,等
  • 常用的工具 - Jacoco/EMMA/Sonar

推荐流程

  • 以怎样的优先级编写用例,如何有效利用这些用例
  • 如何对测试用例实施运维
  • 与持续集成(Jenkins)及静态代码检查(Sonar)的结合
  • 与其它测试手段的协作,即:分层测试(此处画图展示)
  • (可选)我的一些心得体会

(技术上的)实施难点

  • 搭建一个简单,易扩展的测试用例框架
  • 处理好测试环境依赖(使用mock,stub,fake,等手段)
  • 处理好用例之间的依赖及(尤其是隐藏的)耦合
  • 把握用例粒度与覆盖范围(http://coolshell.cn/articles/8209.html)
  • 用例的价值如何度量(覆盖率,等)

补充说明

  • 以上都是我个人的单元测试经验,而我实际上并没有真正的工程级别的Java开发经验==!因此,最好再联系一位Java牛人指点下
  • 也可以从一些经典书籍(《代码整洁之道》,等)里面寻找一些经验
  • 或者学习一些著名的开源项目(Spring,OpenStack,等)的单元测试
  • 这份只是大纲,内容可根据授课对象的兴趣增删改,拆分成几堂课
@chenkan
Copy link
Owner Author

chenkan commented Nov 17, 2013

maven相关的内容也可以介绍下

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant