软件测试概念、方法以及实例

软件测试概念、方法以及实例

ID:12333705

大小:1.61 MB

页数:71页

时间:2018-07-16

软件测试概念、方法以及实例_第1页
软件测试概念、方法以及实例_第2页
软件测试概念、方法以及实例_第3页
软件测试概念、方法以及实例_第4页
软件测试概念、方法以及实例_第5页
资源描述:

《软件测试概念、方法以及实例》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、一、数据引用错误1、是否有引用的变量未赋值或未初始化?这可能是最常见的编程错误,在各种环境中都可能发生。在引用每个数据项(如变量、数据元素、结构中的域)时,应试图非正式地“证明”该数据项在当前位置具有确定的值。2、对于所有的数组引用,是否每一个下标的值都在相应规定的界限之内?3、对于所有的数组引用,是否每一个下标的值都是整数?虽然在某些语言中这不是错误,但这样做是危险的。4、对于所有的通过指针或引用变量的引用,当前引用的内存单元是否分配?这就是所谓的“虚调用(danglingreference)”错误。当指针的生命期大于所引用内存单元的生命

2、期时,错误就会发生。当指针引用了过程中的一个局部变量,而指针的值又被赋给一个输出参数或一个全局变量,过程返回(释放了引用的内存单元)结束,而后程序试图使用指针的值时,这种错误就会发生。与前面检查错误的方法类似,应试图非正式地“证明”,对于每一个使用指针值的引用,引用的内存单元都存在。5、如果一个内存区域具有不同属性的别名,当通过别名进行引用时,内存区域中的数据值是否具有正确属性?6、变量值的类型或属性是否与编译器所预期的一致?7、当使用的计算机上,当内存分配的单元小于内存可寻址的单元大小时,是否存在直接或间接的寻址错误?例如,在某些条件下,

3、定长的位串不必以字节边界为起点,但是地址又总是指向字节边界的。如果程序计算一个位串的地址,稍后又通过该地址引用这个位串,可能会指向错误的内存位置。将一个位串参数传给一个子程序时,也可能发生这种情况。8、当使指针或引用变量时,被引用的内存的属性是否与编译器所预期的一致?9、假如一个数据结构在多个过程或子程序中被引用,那么每个过程或子程序对该结构的定义是否都相同?10、如果字符串有索引,当对数组进行索引操作或下标引用,字符串的边界取值是否有“仅差一个”(off-by-one)的错误?1、对于面向对象的语言,是否所有的继承需求都在实现类中得到了满

4、足?二、数据声明错误1.是否所有的变量都进行了明确的声明?没有明确声明虽然不一定是错误,但通常却是麻烦的源头。2.如果变量所有的属性在声明中没有明确说明,那么默认的属性能否被正确理解?3.如果变量在证明语句中被初始化,那么它的初始化是否正确?在很多语言中,数组和字符串的初始化比较复杂,因此也成为容易出错的地方。4.是否每个变量都被赋予了正确的长度和数据类型?5.变量的初始化是否与其存储空间的类型一致?6.是否存在着相似名称的变量(如volt和volts)?这种情况不一定是错误,但应被视为警告,这些名称可能会在程序中发生混淆。三、运算错误1、

5、是否存在不一致的数据类型(如非算术类型)的变量间的运算?2、是否有混合模式的运算?3、是否有相同数据类型,不同字长变量间的运算?4、赋值语句的目标变量的数据类型是否小于右边表达式的数据类型或结果?5、在表达式的运算中是否存在表达式向上或向下溢出的情况?也就是说,最终的结果看起来是个有效值,但中间结果对于编程语言的数据类型可能过大或过小。6、除法运算中的除数是否可能为0?7、如果计算机表达变量的基本方式是基于二进制的,那么运算结果是否不精确?也就是说,在一个二进制计算机上,10*0.1很少会等于1.0。8、在特定场合,变量的值是否超出了有意义

6、的范围?9、对于包含一个以上操作符的表达式,赋值顺序和操作符的优先顺序是否正确?10、整数的运算是否有使用不当的情况,尤其是除法?四、比较错误1、是否有不同数据类型的变量之间的比较运算,例如,将字符串与地址、日期或数字相比较?2、是否有混合模式的比较运算,或不同长度的变量间的比较运算?如果有,应确保程序能正确转换规则。3、比较运算符是否正确?程序员经常混淆“至多”、“至少”、“大于”、“不小于”、“小于”和“等于”等比较关系。4、每个布尔表达式所叙述的内容是否正确?在编写涉及“与”、“或”或“非”的表达式时,程序员经常犯错。5、布尔运算符的

7、操作数是否是布尔类型的?比较运算符和布尔运算符是否错误地混在了一起?这是一类经常会犯的错误,这里我们描述几个典型错误的例子。如果想判断i是否在2~10之间,表达式2x

8、

9、y也是不正确的,正确的应该是(i>x)

10、

11、(i>y)。如果要比较三个数字是否相等,表达式if(a==b==c)的实际意义却大相径庭。如果需要验证数学关系x>y>z,正确的表达式应该是(x>y)&&(y>x)。6、在二进制的计算机上,是否有用二进制表示的小数或浮点数的比较

12、运算?由于四舍五入,以及用二进制表示十进制数的近似度,这往往是错误的根源。7、对于那些包含一个以上布尔运算符的表达式,赋值顺序以及运算符的优先顺序是否正确?也就是说,如果碰到如(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。