培训大纲:
第一天 上午
• C++编程的挑战 (45 min)
◦ C++的优点
◦ 与其它语言相比的弱点
◦ 应用场景
◦ 实际案例分析
• 高质量软件开发概论 (60 min)
◦ 软件开发生命周期模型
◦ 如何保证软件质量
◦ 软件质量度量
◦ 从开发者的角度保证软件质量
▪ 微软,EMC案例分析共享
• 测试驱动开发入门 (45 mins)
◦ 概念,流程
◦ 常用工具、框架介绍
◦ 应用场景
◦ 案例分析
第一天 下午
• DLL测试经验分享 (75 mins)
◦ Windows数据库访问组件测试经验分享
◦ 微软C++测试工具简介
◦ 微软测试利器Detour工具入门及实践举例
• Google Test (120 mins)
◦ Google为什么要开发自己的C++测试框架
◦ 基础知识
◦ 测试数据和函数共享
◦ Windows ODBC测试实践举例
◦ 学员实践
• 第一天课程总结并布置作业 (15 mins)
第二天 上午
• 前一天课程回顾及作业答疑 (15 mins)
• Google Mock (135 mins)
◦ 什么是Google Mock以及为什么使用Google Mock
◦ 如何编写Mock类
◦ Mock类的使用
◦ 例子演示
◦ 学员实践
第二天 下午
• Google C++编码规范介绍 (30 mins)
• 静态代码扫描 (120 mins)
◦ 为什么需要静态代码扫描
◦ 原理
◦ 常用工具介绍
◦ 把警告当作错误处理!
◦ 实际案例分析
• 如何做好人工代码审查 (45 mins)
◦ 流程
◦ 检查要素
◦ 工作清单
◦ 经验教训
• 第二天课程总结并布置作业 (15 mins)
第三天 上午
• 前一天课程回顾及作业答疑 (15 mins)
• C++内存管理 (135 mins)
◦ C++内存管理基础知识
◦ RAII: 资源获取及初始化
◦ 智能指针入门
◦ 智能指针高级部分
◦ 如何避免内存碎片
第三天 下午
• 代码覆盖率 (60 mins)
◦ 代码覆盖率度量
◦ 代码覆盖率统计工具GCOV/LCOV介绍以及实际用例演示
◦ 如何利用代码覆盖率提高软件质量
◦ 代码覆盖率的局限性
• 常用设计模式介绍 (60 mins)
◦ 工厂
◦ 单件
◦ 观察者
◦ 组合
◦ …
• 软件测试基础知识 (75 mins)
◦ 测试工作流程
◦ 常用测试工具介绍: Redmind, Bugzilla, Testlink...
◦ 如何提高软件的可测性
◦ 如何高效的与测试人员沟通合作