使用 PICT 进行测试,但测试用例不完整

标签 testing

我正在 PICT 中测试三角问题。我正在测试三角形是等边三角形、等腰三角形还是不等边三角形。问题是我从来没有得到等边三角形。

Side1:        5,6,7,8,9,10
Side2:        5,6,7,8,9,10
Side3:        5,6,7,8,9,10
Type:         equilateral, isosceles, scalene

IF (([Side1] = [Side2]) OR ([Side2] = [Side3]) OR ([Side3] = [Side1])) THEN [Type] = "isosceles"  ELSE [Type] = "scalene";
IF (([Side1] = [Side2]) AND ([Side2] = [Side3]) AND ([Side3] = [Side1])) THEN [Type] = "equilateral";

但随机的是,当我将最后一行更改为

IF (([Side1] = [Side2]) AND ([Side2] = [Side3]) AND ([Side3] = [Side1])) THEN [Type] = "isosceles";

我随机得到会导致等边三角形的值。如何确保我的正确代码中也包含这些值?

最佳答案

试试这个:

Side1:        5,6,7,8,9,10
Side2:        5,6,7,8,9,10
Side3:        5,6,7,8,9,10
Type:         equilateral, isosceles, scalene

IF (([Side1] = [Side2] AND [Side2] <> [Side3]) OR ([Side2] = [Side3] AND [Side3] <> [Side1]) OR ([Side3] = [Side1] AND [Side1] <> [Side2])) THEN [Type] = "isosceles";
IF (([Side1] = [Side2]) AND ([Side2] = [Side3])) THEN [Type] = "equilateral";
IF ([Side1] <> [Side2] AND [Side2] <> [Side3] and [Side3] <> [Side1]) THEN [Type] = "scalene";

原因是你的逻辑在案例之间有重叠,你应该明确你的条件,比如每个案例只有一个结果。上面的例子有效;我验证了它。祝你好运!

关于使用 PICT 进行测试,但测试用例不完整,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26301157/

相关文章:

android - Robotium 在简单的 Android JUnit 测试期间崩溃

javascript - 为 JavaScript 客户端生成测试覆盖率

rest - Owasp Zap 测试 rest api

regex - QTP:如何在检查点属性编辑对话框中获取 "complex value"编辑控件?

javascript - 如何设置 mocha 以在 Gatsby 存储库中运行测试

ruby-on-rails - 未定义的局部变量或方法 'current_user' (rails)

java - 多次测试多次抛出

spring - 用另一个上下文中的模拟版本替换一个上下文中的 spring bean

拉维尔 |测试

angular - 如何在 karma 测试台中包含 Angular Material 库