面向对象:程序员、开发工程师、测试工程师、QA、项目经理、测试主管
课程背景:
代码质量低下,开发依赖测试组或QA进行质量把关?
制定了编程规范,但是在开发团队中却难以实施?
单元测试喊了很多年,但是没有几个开发人员在做?
搭建了持续集成框架,但是没有产生应有的效果?
...
本课程旨在针对上述问题进行深入分析,结合项目案例演练,帮助研发团队摸索出一条适合自己的白盒测试实践之路!
1、白盒测试基本概念
黑盒测试与白盒测试
尽早测试原则
静态白盒测试与动态白盒测试
2、代码审查
人工代码审查
自动化代码审查
类型检查
代码风格检查
程序结构
缩进
命名规范
注释
程序理解
数据流分析
代码调用关系分析
代码缺陷查找
潜在错误
代码正确性
代码效率
代码安全审查
代码质量度量
冗余代码检查
代码复杂度
代码审查工具
CheckStyle、PMD、FindBugs
代码审查辅助工具
Jupiter、CodeCollaborator
Understand、JDepend...
3、单元测试
传统单元测试与TDD思想
单元测试框架JUnit
常用单元测试框架
建立JUnit单元测试
断言类的使用
如何测试异常
如何测试代码执行效率
单元级别性能测试
TDD过程演练
如何做到“Clean code that works”?
不可运行 – 可运行 – 重构
代码覆盖率度量
代码覆盖率统计方式
代码覆盖率统计工具Clover、EMMA
辩证地看覆盖率
数据驱动的单元测试
参数化测试、数据与代码分离
数据源
数据驱动框架DDTUnit、Feed4JUnit
模拟框架
驱动和桩
Stub和Mock
EasyMock框架的应用
单元测试用例设计方法
Right-BICEP方法
基于覆盖率的用例设计
如何实施单元测试
挑选单元测试范围
个人、组长、QA
Java单元测试项目案例分析
单元测试与集成测试
集成测试策略
行为驱动测试(BDD)
TDD vs. BDD
应用Easyb进行BDD
接口自动化测试
HTTPUnit、SoapUI
4、持续集成
持续集成最佳实践
持续集成过程
持续编译
持续部署
持续测试
持续报告
持续集成工具与框架
如何在团队中推行持续集成?