如何使用pict生成测试用例

时间:2010-07-08 14:09:07

标签: ruby

我使用pict(Pairwise Independent Combinatorial Testing工具)作为我的工具。我正在尝试使用这些约束生成测试用例:

video_resolution: 352x240,352x288,640x480,704x480,704x576,720x240,720x480,720x576
video_rotate: 0,90,180,270

IF [video_resolution] IN { "640x480"} THEN [video_rotate]="90" OR "180";

但我遇到了麻烦。

还有一件事:<> sig用于什么?意味着<>运营商。

2 个答案:

答案 0 :(得分:2)

阿米特,

一对评论。第一个是解决方案。第二个问题涉及到您所询问的测试设计方法的好处往往是最大的。

1)这是一个非常短的视频,介绍如何使用类似于PICT的测试用例生成器Hexawise解决您的问题。要标记无效对,只需单击相关参数值右侧的符号即可。

http://www.screencast.com/users/Hexawise/folders/Camtasia/media/5c6aae22-ec78-4cae-9471-16d5c96cf175

2)您的问题涉及8种屏幕尺寸分辨率和4种视频旋转。成对覆盖(AKA双向覆盖)将需要32个测试用例 - 或者一旦消除2个无效组合就需要30个测试用例。这是对PICT或Hexawise的正确使用(例如,他们会确保你不会忘记任何有效的组合)但是当你有很多参数时,你会真正看到显着的好处。在这种情况下,您将能够识别一小部分测试条件组合,这些组合在触发缺陷方面具有惊人的效果,仅占总可能测试用例的一小部分。

3)例如,如果您有20个参数,每个参数有4个值,那么您将有超过1万亿次可能的测试。如果将覆盖强度设置为成对(例如,双向覆盖),则只能在 37次测试中的至少一次测试中实现所有值对的100%覆盖率。

此处显示了演示此示例的示例:http://www.screencast.com/t/YmYzOTZhNTU

覆盖范围也是可调整的。您可以根据可用于测试的时间和/或基于风险的测试考虑因素来改变覆盖强度。如果您希望在至少一次测试中实现100%覆盖3个参数值的所有可能组合,则需要 213次测试。此外,如果您相对更关注3组参数之间的潜在相互作用(例如,在抵押贷款申请示例中考虑“收入”和“信用评级”和“房屋价格”与其他不太重要的测试输入),然后您就可以创建 80测试来匹配该目标。这种测试设计方法的灵活性(可在PICT和Hexawise中使用)是使用这些测试设计工具的有力理由。

希望这些提示有所帮助。

完全披露:我是Hexawise的创始人。

答案 1 :(得分:0)

迟到的答案,但仅针对遇到类似问题的其他人:您的情况必须是:

video_resolution: 352x240,352x288,640x480,704x480,704x576,720x240,720x480,720x576
video_rotate: 0,90,180,270  
IF [video_resolution] = "640x480" THEN [video_rotate] in {"90", "180"};

<>表示NOT。在你的情况下,你可以这样做:

IF [video_resolution] <> "720x576" THEN [video_rotate] >= 180; 

这意味着:&#34;如果video_resolution不是720x576,那么video_rotate必须是 等于或大于180&#34;