51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1054|回复: 4
打印 上一主题 下一主题

15期 单元测试样例

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-12-1 14:41:34 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
昨天老师布置的作业不知大家做的如何?

这里先把我的分享给大家,
为了大家便于理解,在VC中我省略很多点缀的地方,只把骨留下了。


大家下载后,把三个压缩包解压
            先把TCL脚本和VC文件放到一个英文路径下,最好是D盘,方便嘛
            然后把TCL脚本的data文件和result文件的路径修改,
            再在VC++环境下修改添加TCL的lib、.h文件,就可以使用了。
           data文件中的数据我只给个范例。大家可自由添加用例


解析:1、VC中unittest.cpp文件是我们的驱动函数。
             test.cpp文件和集成测试中的一样。
             TCL扩展命令为UNITTEST
             unittest.cpp中实现该扩展命令的函数也是UNITTEST

      2、很多人会疑问,为什么我要在TCL脚本中对3个输入参数要转换,这是为了减少在        unittest.cpp转换的工作量,
                        如何对输入参数预处理方法有三。

                一、在data文件中,输入用例时就先转换。例如将true变为1。
                        在数据量庞大时,不容易理解维护,是最次的一种方式,不建议使用。
                二、在TCL脚本中,由于编程规范简单,无变量类型的区别,转换容易
                        适合初学者。建议大家使用。
                三、 在VC++中修改,降低TCL中脚本处理参数的过程,但需要对VC++使用熟练,适合有编程基础的人使用。
       
        还有一种,就像周锋老师说的,在main中实现,更容易,直接调用被测函数,可以手动输入,一次送一个用例,也可以采用文  件读取方式,类似于TCL读取data文件一样,实现对用例的批处理,有机会再将(VC的和用main的)发给大家,我这太冷,手懒人更懒啊。(汗!!!)

      3、至于参数校验,我在unittest.cpp中只对后三个参数(标志位)进行取整校验,但省略对第一参数(输入内容)进行校验,留给大家发挥。

        其实我个人觉得,如果在TCL脚本处理阶段,就已经把参数处理好了,就可省略在.cpp中对参数的校验,但是如果为了以后.cpp良好的可重用性、还是写的完美些比较好。

      4、对ISCODELINE函数驱动的问题,大家要明白我们是针对这个函数。送入输入,得到输出,然后与预期期望比较,将结果返回。因此应该只调用这个函数。
        因此我选择了将CCounter实例化,对象名为m_Counter(名字可随便取)。所谓实例化,即在实例化之前,CCounter不存在,就想图纸和盖成的大楼之间的关系一样。这个不懂的要补C++了,再不懂的要补C了。   

       5、为什么要创建这个对象呢,是因为CCounter类中有ISCODELINE这个函数,我们要测这个函数,就要先把它调出来。不调它出来,要么我们无法测,要么调用StatCommLine函数间接调用它,那就不是单元测试了。 这点大家切记。
       
       6、也许有同学会问,上次集成测试,在CounterTestv.cpp的TclEx_Counter函数中, 我们创建的是CTest的实例化对象Mytest啊;
其实这是集成测试的需要,我这里不多说了,大家自己慢慢体会。
            但有一点,我要指出,最终CTest也是先生成用CCounter的实例化对象m_Counter。这点可在test.cpp文件中得到验证。
               


     以上就是我的一点心意,抛砖引玉,希望对大家学习有所帮助。

    希望大家发点成熟的用例给我看看,bug我到找了几个,都是读代码读出来的,写用例没完整的思路,我这人笨。
课间能共享给我看就更好了,多谢了。

经常上论坛的同学不要潜水啊,白雪、大鹏还有很多网名不认识的,大家都发表下各自观点,彼此会有更大收获的。


    最后喊出俺的口号,也是PCL常说的,大家有问题,别皱眉头,咋办啊,找社团啊。
                                                                                                                                                                                                                      ----阿冬

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

5#
发表于 2006-12-4 22:21:45 | 只看该作者
下了!~~~
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2006-12-1 15:08:59 | 只看该作者
沙发!!想了一早上如何用 c 来读取data.txt, 然后把结果写到result.txt 里, 感觉蛮复杂的, 还是用 MFC 好
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2006-12-1 14:43:11 | 只看该作者

第三压缩包

第三压缩包

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
回复 支持 反对

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2006-12-1 14:42:40 | 只看该作者

第二部分

第二压缩包

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-10 13:01 , Processed in 0.068723 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表