6.5自动化实训本章前面介绍了单元测试的目的、单元测试的主要任务几单元测试的步骤,了解了单元测试的这些基本点之后,如何才能使用能够自动化测试工具进行单元测试。
在学习这些内容之前我们需要了解如下问题:
自动测试在单元测试中是否适用。如何选择合适的单元自动化测试工具。如何使用单元自动化工具。使用自动化工具进行单元测试需要注意哪些问题。自动化单元测试的重点工作有哪些及如何解决。在下面的小节中我们将会一一解决这些问题。6.5.1选择适用的单元测试工具任何软件都可以进行人工测试,但是进行人工测试存在一些问题,例如:回归性问题、效率问题、覆盖率问题、数据可重用性问题。
接着使用File菜单下的Newproject来新建一个工程,当然也可以选择载入原来已经存在的C++Test工程。新建完成后会出现选择工程类型窗口,如图6-3所示,所以在此选择创建空工程,或者基于VC++6.0、C++.Net及C++.Net2003的工程。根据手机信息管理系统的情况,我们选择使用VC++6.0工程,然后加载工程。
单击OK按钮即可把文件加载进来,然后就可以依据测试计划来进行测试了。表6-5所示为本次测试的详细说明。
在进行测试的时候注意,推荐以单个文件为基准,亦未见中的类为单元模块进行测试。原因是使用C++Test进行测试的测试工作量非常大,如果某个工程非常庞大那么在测试过程中可能会出现某些问题,如系统资源不够用、产生死锁、需要进行异常处理操作等。因此建议逐个文件进行测试,实时观察记录测试中出现的异常。在工程目录窗口中选择要进行测试的文件,单击工具栏中的按钮就可以开始测试。
开始测试后,C++Test会为我们自动进行单元测试、覆盖率测试及代码规范检查。需要特别提到的一点是,C++Test会为我们自动创建测试用例,省去了开发人员最为头疼的问题,如图6-5所示。
在执行完测试后,可以在主窗口中编辑测试用例及查看测试用例的执行情况,也可以自行添加或删除测试用例,在测试用例配置选项中即可更改配置,如图6-6所示。
下面来看-个C++Test在单元测试中为我们生成的测试用例在添加管理员模块的Recordset15类中的HRESULTAddNew(const_variant_t&,const_variant_t&)函数进行测试时,C++Test为我们自动生成了几个测试用例,图6-7所示为测试用例及执行结果。
从结果中可以看到C++Test为本单元模块准备了9个测试点,共准备了277个测试用例并执行了这些测试用例,其中通过的测试用例为209个,失败的测试用例4个,错误的测试用例为14个。由此可以看出使用工具进行测试的优越性,假如进行了人工测试,准备这些测试数据就是一项庞大的工作。
领取专属 10元无门槛券
私享最新 技术干货