51Testing软件测试论坛

标题: 边界条件问题是如何产生的? [打印本页]

作者: clarity    时间: 2007-7-25 11:02
标题: 边界条件问题是如何产生的?
  我现在正在自学软件测试方面的知识,手头上正在看的是一本《软件测试》书,由于我的本专业和计算机没有一点关系,上学期间也毛毛学过一两种语言,但现在差不多都忘记了,于是现在看一些简单的程序都不懂了。昨天我看到了有关边界条件的内容,“边界条件是特殊情况,奇怪的是程序在处理大量中间数值时都是对的,但是可能在边界出处错误”,于是文章中举了一个简单的程序来说明是如何产生边界条件问题的。可是等我看完整个例子,还是没有明白什么是问题的关键,请个位测友帮忙指点!!

举例内容:

演示边界条件软件缺陷的简单BASIC程序

1:Rem Create a 10 element integer array
2:Rem Initialize each element to —1
3:Dim data(10) As Integer
4:Dim i As Integer
5:For i=1 to 10
6:data(i)=-1
7:Next i
8:End

  这段代码的意图是要创建包含10个元素的数组,并为数组中的每一个元素赋予初值-1,它建立了包含10整数的数组data和一个计数值i。FOR循环从1到10,数组中从第一个元素到到第十个元素被赋予数值-1.
说这是一个包含10个元素的数组好理解,可下面的一段话我就想不明白了:
“当以声明的范伟定义数组时——在本例中定义语句是Dim data(10) As Integer——第一个创建的元素是0,而不是1。该程序实际上创建了一个从data(0)到data(10)工11个元素的数组。”

我就是想不清楚为什么是11个数组而不是10个数组,为什么呀?程序中从哪里可以看出来?

作者: Tender    时间: 2007-7-25 15:59
建议你先去看看VB的书写格式和语法规则。
数组计数都是从[0]开始的。从0到10不是11个数字吗?
作者: alinda    时间: 2007-9-29 10:29
没有看到我给你的博客留言?

定义一个数组有多少个元素,用data(元素个数),但是数组里的第一个元素是用data(0),而不是data(1).所以从data(0)~data(10)自然是11个元素了。上面程序中for i=1 to 10应该是for i=0 to 9.
作者: mxj879    时间: 2007-10-1 17:51
这是BASIC的规定它就是从0开始的。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2