这样的函数的测试用例该怎么设计?

lanying 2002-04-01 05:02:21
'***************************************************
'功能:查找一个字符串在另一个中的出现次数
'入口:strMain,主字符串
' strSub,要查找的字符串
'出口:如果strSub的长度大于strMain的长度,返回-1;
' 否则返回strSub在strMain中出现的次数
'***************************************************
Public Function InStrCount(strMain As String, strSub As String) As Integer
Dim intCount As Integer '字符出现的次数
Dim intPos As Integer 'strSub在strMain中出现的位置
Dim intStart As Integer '当前搜索的起点
Dim intMainLen As Integer
Dim intSubLen As Integer

intMainLen = Len(strMain)
intSubLen = Len(strSub)

If intSubLen > intMainLen Then
InStrCount = -1
Exit Function
End If

intPos = 0
intCount = 0
intStart = 1

Do
intPos = InStr(intStart, strMain, strSub) '查找出现位置
If intPos > 0 Then '找到了
intStart = intPos + 1 '从下一个字符位置开始找
intCount = intCount + 1 '次数增一
End If
Loop Until intPos = 0 Or intStart > intMainLen '假如找不到了或者超过查找范围则退出

InStrCount = intCount
End Function
...全文
43 点赞 收藏 12
写回复
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jack_Loo 2002-04-16
首先我更正一下你的说法:这样的代码级的测试永远都不会是黑盒测试。
单元测试中的白盒测试通常的方法有2个:路径覆盖法和穷举法,另外有很多支持路径覆盖法的测试工具,象Visual Test,Test Manage,C++ Test,Java Test等。
使用路径覆盖法测试则需要测试案例有:
--strMain或strSub为空;
|strMain和strSub不为空--intSubLen > intMainLen ;
|intSubLen <= intMainLen--loop不循环;
|-循环一次;
|-循环多次;
回复
lanying 2002-04-14
如果不是,那就是类型不匹配,那是语法错误了
回复
tile_kite 2002-04-08
帮你UP一下
各位要讲就讲具体一点
回复
mis98ZB 2002-04-08
1、strSub不是字符串
2、strSub的长度大于strMain的长度
3、不出现
4、出现一次
5、出现多次

ps:这里没有非法字符的检测
回复
lanying 2002-04-07
怎么还是没人呀?大家都到哪儿去了?
回复
mach 2002-04-05
to ExitWin(ExitWin)
什么乱七八糟的。
回复
lanying 2002-04-04
我要的是进行黑盒测试用例的设计,不过也要感谢几位兄弟的建议
回复
ExitWin 2002-04-04
测试用例包括
1、压力测试(对参数的数量以及长度的测试)
2、容错测试
3、边界直的测试
4、最后才是正常参数的测试。。
以上仅供参考。。
欢迎交流。。
yoyo55@163.com
回复
Iambear 2002-04-03
作一个驱动模块,作用为传递参数。将此函数所需的参数传递给他,然后可以将函数的返回值打印出来,看是否符合要求。
选择输入参数时,可以从多方面考虑。可以模拟实际使用时的情况,还要考虑到一些边界值。
回复
zf925 2002-04-03
我不懂,胡说一番:
先功能测试,遵守参数、类型规矩,要求结果正确
后破坏测试,用NULL、其他类型、返回值赋值到其他类型
回复
lanying 2002-04-03
这个问题难吗?为什么没人来呢?
回复
lanying 2002-04-02
怎么没人来呀?
回复
发动态
发帖子
研发管理
创建于2007-08-27

1180

社区成员

软件工程/管理 管理版
申请成为版主
社区公告
暂无公告