首页 > 知识点讲解
       Foster的ESTCA覆盖准则
知识路径: > 测试技术的分类 > 白盒测试技术 > 白盒测试综合策略 > 测试覆盖准则 > 
考试要求:掌握      相关知识点:2个      
        前面介绍的逻辑覆盖,其出发点似乎是合理的。所谓“覆盖”,就是想要做到全面而无遗漏。但事实表明,它并不能真的做到无遗漏。甚至对于像前面提到的,将程序段:
        
        错写成:
        
        这样的小问题都无能为力。
        我们分析出现这一情况的原因在于,错误区域仅仅在I=0这个点上,即仅当I取0时,测试才能发现错误。它的确是在我们力图通过全面覆盖来查找错误的测试的“网上”钻了空子,并且恰恰在容易发生问题的条件判断那里未被发现。面对这类情况,我们应该从中吸取的教训是测试工作要有重点,要多针对容易发生问题的地方设计测试用例。
        K.A.Foster从测试工作实践的教训出发,吸收了计算机硬件的测试原理,提出了一种经验型的测试覆盖准则,较好地解决了上述问题。
        Foster的经验型覆盖准则是从硬件的早期测试方法中得到启发的。我们知道,硬件测试中,对每一个门电路的输入、输出测试都是有额定标准的。通常,电路中一个门的错误常常是“输出总是0”,或是“输出总是1”。与硬件测试中的这一情况类似,我们常常要重视程序中谓词的取值,但实际上它可能比硬件测试更加复杂。Foster通过大量的实验确定了程序中谓词最容易出错的部分,得出了一套错误敏感测试用例分析ESTCA(Error Sensitive Test Cases Analysis)规则。事实上,规则十分简单。
        . [规则1]对于A rel B(rel可以是<,=和>)型的分支谓词,应适当地选择A与B的值,使得测试执行到该分支语句时,AB的情况分别出现一次。
        . [规则2]对于A rel1 C(rel1可以是“>”或是“<”,A是变量,C是常量)型的分支谓词,当rel1为“<”时,应适当地选择A的值,使:
        A=C-M。
        (M是距C最小的容器容许的正数,若A和C均为整型时,M=1)。同样,当rel1为“>”时,应适当地选择A,使:
        A=C+M。
        . [规则3]对外部输入变量赋值,使其在每一测试用例中均有不同的值和符号,并与同一组测试用例中其他变量的值和符号不一致。
        显然,上述规则1是为了检测rel的错误,规则2是为了检测“差1”之类的错误(如本应是“IF A>1”而错成“IF A>0”),而规则3则是为了检测程序语句中的错误(如应引用一变量而错成引用一常量)。
        上述三个规则并不完备,但在普通程序的测试中确是有效的。原因在于规则本身针对着程序编写人员容易发生的错误,或是围绕着发生错误的频繁区域,从而提高了发现错误的命中率。
        根据这里提供的规则来检验上述小程序段错误。应用规则1,对它测试时,应选择I的值为0,使I=0的情况出现一次。这样一来就立即找出了隐藏的错误。
        当然,ESTCA规则也有很多缺陷。一方面是,有时不容易找到输入数据使得规则所指的变量值满足要求。另一方面是,仍有很多缺陷发现不了。对于查找错误的广度问题在变异测试中得到了较好的解决。
 
 相关知识点:
 
软考在线指南
优惠劵及余额
在线支付
修改密码
下载及使用
购买流程
取消订单
联系我们
关于我们
联系我们
商务合作
旗下网站群
高级资格科目
信息系统项目管理师 系统分析师
系统架构设计师 网络规划设计师
系统规划与管理师
初级资格科目
程序员 网络管理员
信息处理技术员 信息系统运行管理员
中级资格科目
系统集成项目管理工程师 网络工程师
软件设计师 信息系统监理师
信息系统管理工程师 数据库系统工程师
多媒体应用设计师 软件评测师
嵌入式系统设计师 电子商务设计师
信息安全工程师
 

本网站所有产品设计(包括造型,颜色,图案,观感,文字,产品,内容),功能及其展示形式,均已受版权或产权保护。
任何公司及个人不得以任何方式复制部分或全部,违者将依法追究责任,特此声明。
本站部分内容来自互联网或由会员上传,版权归原作者所有。如有问题,请及时联系我们。


工作时间:9:00-20:00

客服

点击这里给我发消息 点击这里给我发消息 点击这里给我发消息

商务合作

点击这里给我发消息

客服邮箱service@rkpass.cn


京B2-20210865 | 京ICP备2020040059号-5 |京公网安备 11010502032051号 | 营业执照 | Copyright ©2000-2023 All Rights Reserved 软考在线版权所有