等价类结和判定表的软件测试方法应用

发表于:2013-2-27 14:17

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

 作者:未知    来源:51Testing软件测试网采编

  判定表的规则是任何一个条件组合的特定取值及其相应要执行的操作。在判定表中贯穿条件项和动作项的一列就是一条规则。判定表中列出多少组条件取值,也就有多少条规则,条件项和动作项就有多少列。

  应该依据软件需求规格说明来建立判定表,首先确定规则的个数,然后列出所有的条件桩和动作桩,填入动作项形成初始判定表,再通过合并相似规则或相同动作来简化,形成最终判定表。

  4、等价类结合判定表测试

  在实际测试工作中,我们倾向于不仅仅只使用一种测试方法,而是恰当的将多种测试方法有机结合,达到最优的测试效果。这里以实例说明如何将等价类划分与判定表驱动有机结合起来进行软件测试。

  某模块具有数据接收和处理功能,其中接收的数据格式包含了方式字、数据域和校验和3个部分。该模块将接收到的数据进行CRC校验,根据接收的数据进行处理:若接收的数据正确,则将对应缓冲区地址内容设置为接收的数据域内容,且置相应的遥测字;若接收的数据错误,则对应缓冲区地址内容不作设置,且置相应的遥测字。

  这个实例里,我们可以先对输入条件进行等价类划分,然后通过建立判定表,确立规则,从而得出最终的测试用例。这里的输入条件就是需要接收的数据。根据相应的通信协议,数据格式中的方式字可分为AAh、BBh、CCh、DDh共4种,数据域根据其长度可分为16字节、32字节、128字节3种,校验和可分为正确和错误两种。我们通过通信协议的规定,可以划分出输入数据等价类,对每种输入条件的等价类都进行相应的编号。

  根据等价类划分,继续采用判定表驱动法形成测试用例。将已按等价类划分好的输入作为条件桩,产生判定表。

  根据该表,根据规则最终产生了7个测试用例,覆盖了所有输入的有效等价类和无效等价类。下面进行两点说明:

  1)根据测试方法的一般选择原则,若输入条件之间存在组合关系时,一般选用因果图法结合判定表驱动法进行测试用例的设计。本例中的各个输入之间存在简单的组合关系,但由于各输入均为1组数据,且存在有效和无效的情况,而非独立的状态,或独立的输入条件,采用因果图法易造成图的关系复杂,不利于分析;采用等价类划分法则利于信息的归类与分析,再结合判定表驱动法来理清各等价类的组合关系,使用例设计清晰,并可判断是否覆盖所有的等价类,是否存在可合并的冗余用例。

  2)为了简化实例便于说明,本例没有考虑输入边界的取值,实际工作中还可加入对输入条件的边界取值考量,产生更多有效和无效的边界等价类,再加以组合进行测试。

  5、总结

  测试用例的设计方法种类很多,在实际测试中,应当不局限于单个测试手段。依据每个具体的软件的具体特点,制定具有针对性的测试策略,综合使用各种方法,使其有机结合,从各个角度充分测试,从而更加有效的提高测试效率和测试覆盖度。

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

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号