连载:《测试之道》第五章——清静为天下正

发表于:2007-12-13 15:48

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:flyingwind    来源:flyingwind的博客

测试之道
    ——对于IT企业而言,bug和用户必须是躲猫猫的关系
5、清静为天下正
        《道德经》:大成若缺,其用不弊;大盈若冲,其用不穷。大直若屈,大巧若拙,大辩若讷。躁胜寒,静胜热,清静为天下正。
        想必业界的同仁都会有这样的困惑:为什么我们费心尽力测试了很久的产品,在认为没有问题以后发货给用户,还是总会被用户(甚至是一些几乎连最简单的计算机操作都不会的用户)发现bug呢?换言之,为什么严重的漏测总难避免呢?
        对漏测的缺陷进行追溯,通常都会发现:漏测的总是一些特殊情况。例如输入字符串的时候没有考虑特殊字符;输入数字的时候没有考虑0或者负数;除法计算的时候没有考虑除数可能为0;修改用户的密码的时候没有尝试system或者administrator是否也能被修改;统计文件大小的时候用Byte做单位,没有考虑文件过大的时候(4G以上),超过32位2进制数的大小,可能导致溢出……。
        诸如上述问题,仔细归纳一下不难发现,其实都是等价类划分不完整或者没有去边界值进行测试。“大直若屈,大巧若拙,大辩若讷。”其实根本不需要什么特别繁杂的用例,只要按部就班划分好等价类,取上点、内点、离点分别测试有效性,再取外点测试无效输入足矣,如此“以无厚入有间,恢恢乎其于游刃必有余地矣!”
        清静为天下正,虽不能确保一定没有漏测,但至少做到让bug和用户躲猫猫并非不可能。

        用例如剑,无剑不成侠。故不嫌赘述,以下文举例:
        以计算某个存储空间的剩余空间大小为例:如果计算单位是Byte,那么长度为8位,16位,32位的变量所能表示的最大空间分别为256Byte,64KB,4GB;最小空间都是0Byte。TE如果不能知道开发用的是变量是几位,那么就应该分别测试0,1Byte,255Byte,256Byte,(par1)byte,64KB-1B,64KB,(par2)byte,4GB-1B,4GB,(par3)byte。其中256<par1<64k-1,64k<par2<4G-1,par3>4G,par1,par2,par3任意取一个值即可。如果不是如此设计,而是尝试分别输入几字节,几十字节,几百字节……,那么par2以后的输入几乎可以肯定是要被漏测的了。
        再以输入一个字符串为例:如果是在C语言编写的产品输入,除了常见的字母、数字、特殊符号的输入组合之外,还必须有诸如&&、!=以及C语言保留字;如果是在网页输入,则必须保证要有“〈xxx〉〈/xxx〉”这样的输入(为了防止我写东东的网页出意外,使用中文的“〈〉”代替了英文的“<>”)

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号