软件测试 - 可行路径
软件测试通过黑盒测试、白盒测试和灰盒测试方法进行。黑盒测试侧重于验证从各种输入数据集中获得的输出,而白盒测试则验证源代码、算法、逻辑和数据流。它还测试代码的语句、决策、条件和路径。最后,灰盒测试通过结合黑盒测试和白盒测试流程的功能来工作。
什么是软件的可行路径?
可行路径是可以执行的路径,前提是有可用的输入数据的逻辑组合,迫使程序选择该特定路径。程序代码包含多个路径。在测试开始时,目标是至少执行和验证所有路径一次。但可以看出,其中一些路径是不可行的,任何数据集都无法执行。
软件可行路径分析
白盒测试过程用于评估软件代码的可行路径。白盒测试用例是借助代码生成的,以满足以下验证:
语句覆盖率 (Statement Coverage)
在此验证中,主要焦点是至少触及程序源代码中的所有语句和节点一次。它有助于识别代码中错误的部分。
分支覆盖率 (Branch Coverage)
在此验证中,主要焦点是至少触及程序源代码中所有决策点的所有分支一次。
条件覆盖率 (Condition Coverage)
在此验证中,主要焦点是触及程序源代码中的每个条件。
多条件覆盖率 (Multiple Conditions Coverage)
在此验证中,主要焦点是至少触及程序源代码中条件可能结果的所有组合一次。
路径覆盖率 (Path Coverage)
在此验证中,首先创建控制流图,然后测量程序代码的圈复杂度。它识别可以从程序源代码中每个独立路径设计的最小测试数量。
循环测试 (Loop Testing)
在此验证中,主要焦点是触及所有循环,以识别其开头和结尾处的问题。
软件的不可行路径
不可行路径是不可能被任何输入组合执行和验证的路径。每个源代码都包含多个路径。一开始,每个路径的目标都是执行和测试。但在某些情况下,观察到一些路径是不可行的,因此根本无法遍历。这些被称为不可行路径。
软件不可行路径的缺点
软件不可行路径的缺点如下:
- 软件不可行路径导致测试人员浪费时间、精力和金钱。
- 软件不可行路径使自动化效率低下。
- 软件不可行路径在白盒测试时会带来很多问题。
软件可行路径和不可行路径示例
让我们以以下代码片段为例,来确定软件的不可行路径和可行路径。
- 下单,金额为特定金额。
- 如果订单金额少于五百卢比。
- 则不给予折扣。
- 否则给予25%的折扣。
- 如果订单金额大于一千卢比。
- 则给予35%的折扣。
- 结束
通过评估上述代码段及其控制流图,我们可以推断路径1 → 2 → 3 → 5 → 6 → 7 指向不可行路径,因为不可能执行节点或语句6。但是,路径1 → 2 → 4 → 5 → 6 → 7和1 → 2 → 4 → 5 → 7都是准确且可行的。
结论
本教程对软件可行路径的全面讲解到此结束。我们从描述什么是软件的可行路径、软件可行路径的分析、什么是软件的不可行路径、软件不可行路径的缺点以及软件可行路径和不可行路径的示例开始。这使您能够深入了解软件可行路径。明智的做法是继续练习您所学的内容,并探索与软件测试相关的其他内容,以加深您的理解并拓宽您的视野。