51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2833|回复: 3
打印 上一主题 下一主题

[求助] 一个函数,输入和具体硬件环境相关,如何做单元测试

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2011-9-16 10:36:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
windows环境下。
我有一个函数,其输入是盘符,根据输入的盘符,返回不同状态。因为不同机器上,硬件环境不一样,这样,没办法将参数固定,然后将测试程序拿到各个机器上分别测试。这样的场景,该如何设计测试案例呢?我用的是GTest

另外,还有一个函数foo。输入还是盘符。这个函数还需要一个回调函数做为参数。foo内部只是简单的起线程,然后返回。线程函数要花很长时间完成,期间会调用回调函数通知工作线程状态。这个该如何写测试案例呢?
我的疑问是,如果测试案例只是调用foo,检查返回值,或者检查其他方面,将很快返回。测试程序将很快跑完了,但是实际上,工作线程还没有结束。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2011-11-5 16:38:59 | 只看该作者
你好,我也遇到这样的问题,不知道你解决了没有: 我的QQ:850105610 希望能得到你的指点
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2011-11-13 13:57:23 | 只看该作者
本帖最后由 shinoy 于 2011-11-14 10:29 编辑

回复 1# BowMyHead

对于涉及到具体硬件依赖的测试,可以编写一些模拟硬件的桩模块。这些模块可以给被测函数所需要的参数或者接口。这些参数和接口都可以在桩模块中设定好。
关于第二个FOO函数的测试需要和一个工作线程同步,那你只有编写一个回调函数来实现类似工作线程的动作,虽然不做真实的动作,但是尽量模拟真实的情况,比如运行时间可以设定,隔一段时间通知主线程运行状态等。实际工作的模拟就用延时做可以了。
你说的也比较模糊,我只能用自己的理解估计你是这样的需求。希望能帮到你
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    4#
    发表于 2011-11-30 08:02:53 | 只看该作者
    感觉没必要吧,你要测的是函数,这个硬件条件只是那么一些可能的值,直接输入不就不行了
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-23 03:25 , Processed in 0.069639 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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