概述
C/C++单元测试入门很简单,相关文章、教程、书籍很多,但理论通常跟实践脱节,学了一肚子理论,做起来可能还是老虎吃天,无从下手。我们需要一部简明扼要、贴近实际、边学可以边做练习、学完就能用的教程,简而言之,一部可执行的C/C++单元测试教程,Visual Unit 4的示例集就是这样的一部教程。
特点
作为C/C++单元测试教程,Visual Unit 4的示例集具有以下特点:
一、免费、立即可用,只需要下载安装Visual Unit 4,并打开示例工程,马上可以开始学习。
二、示例代码中,用“学习提示”方式,列出测试方法和要点;用例中用说明或注释的方式,列出用例设计或用例数据设置的要点,您可以修改数据、修改被测试代码,并随时执行测试浏览测试结果,可以用最少的时间扎实掌握各种场景下的测试方法,比看大部头书轻松高效得多。
三、示例由浅入深,涵盖了C/C++单元测试的难点和解决方法,掌握了这些方法,并灵活运用,测试自己的代码就不会困难。
四、示例代码提供了三种形式:
1) 已测试示例,用于学习测试方法,浏览测试结果;
2) 未测试示例,用于在学习了一个函数的测试后,立即做练习,不明白时可以对照已测试示例;
3) 未编码示例,列出了代码的功能需求,用于学习TDD或Easy TDD开发方式,一边编写代码一边测试。
内容简介
1) 已完成测试的示例
_1T_Begin.c: 入门示例
_2T_SendMail.c: C语言实际项目示例
_3T_MyClass.cpp: C++实际项目示例
_4T_DataBasic.cpp: 基础专题一:数据表格基础示例
_5T_InsideIO.cpp: 基础专题二:底层输入、局部输入、局部输出
_6T_WhiteBox.cpp: 基础专题三:完成白盒覆盖示例
_7T_EditCaseCode.cpp:需生成或修改用例代码的场景示例
2) 未测试示例
_1U_Begin.c: 代码拷贝自:_1T_Begin.c
_2U_SendMail.c: 代码拷贝自:_2T_SendMail.c
_3U_MyClass.cpp: 代码拷贝自:_3T_MyClass.cpp
_4U_DataBasic.cpp: 代码拷贝自:_4T_DataBasic.cpp
_5U_InsideIO.cpp: 代码拷贝自:_5T_InsideIO.cpp
_6U_WhiteBox.cpp: 代码拷贝自:_6T_WhiteBox.cpp
_7U_EditCaseCode.cpp:代码拷贝自:_7T_EditCaseCode.cpp
3) Easy TDD体验与练习示例,代码未编写
_1Y_Begin.c: 函数功能与_1T_Begin.c相同
_2Y_SendMail.c: 函数功能与_2T_SendMail.c相同
_3Y_MyClass.cpp: 函数功能与_3T_MyClass.cpp相同
_8Y_String.c: 简单的C字符串处理函数
总结
使用Visual Unit 4的示例集作为教程,与一般的教程最大的不同是,可以掌握实际项目中通常会遇到的问题及其解决办法,这些方法都是低成本的,传统的单元测试技术中,很多方法不考虑成本,例如基路径法设计用例,对于稍有点复杂度的代码,其时间成本就是企业不可承受的,所以花时间去学这种技术纯粹是浪费。
学习一种技术,关键在于把握思想,即了解可能遇到的问题,掌握解决思路和办法。只有爬得上山顶,俯瞰群山,才能感知全貌。阅读一般的书耤,用开源的框架来学习,要么根本接触不到实际项目中的测试难题,要么遇到这些难题就过不去,难以把握整体,无法形成自己的测试思想,实际做起来,就会处处是困难。因此,无论以后使用什么工具来做单元测试,或者自己开发工具,使用Visual Unit 4的示例集来学习单元测试技术,都是最佳选择。
建议培训机构、大学的老师们,抛弃那些泛泛而谈不能落地的传统教学内容。师者,专道授业解惑也,“授业”是根基,选择教学内容,首先要考虑这个技术能不能在实践中使用、应用成本是不是企业能承受的,简而言之,就是能不能落地。不考虑这些,是不负责任;明知道不能落地,还拿来教学生赚学费,误导学生,浪费学生的宝贵时间,那是谋财害命。