白盒测试

Ztm0929留言 | 贡献2024年12月20日 (五) 00:16的版本 (创建页面,内容为“白盒测试(White Box Testing)需要测试人员了解代码实现,测试代码逻辑是否正确,覆盖率是否达到要求。与之相反的概念是黑盒测试。 == '''典型操作''' == * '''语句覆盖''':确保代码中每个语句都至少被执行一次。 * '''分支覆盖''':确保代码中每个分支条件(如 <code>if-else</code>)都被执行。 * '''路径覆盖''':验证代码中所有可能执行的路径都已测试…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

白盒测试(White Box Testing)需要测试人员了解代码实现,测试代码逻辑是否正确,覆盖率是否达到要求。与之相反的概念是黑盒测试

典型操作

  • 语句覆盖:确保代码中每个语句都至少被执行一次。
  • 分支覆盖:确保代码中每个分支条件(如 if-else)都被执行。
  • 路径覆盖:验证代码中所有可能执行的路径都已测试。
  • 单元测试:编写测试代码对单个函数或模块进行测试。

操作示例:假设你有以下函数计算两个数的商

def divide(a, b):

    if b == 0:

        return "Error: Division by zero"

    return a / b
  • 语句覆盖
    • 测试 divide(4, 2),覆盖正常路径。
    • 测试 divide(4, 0),覆盖 if b == 0 的分支。
  • 分支覆盖
    • 确保 b == 0b != 0 两种情况都被测试。
  • 路径覆盖
    • 检查 if 条件后的路径以及 return 是否正确执行。
  • 单元测试
    • 使用测试框架(如 Python 的 unittest)编写测试用例:
import unittest
class TestDivideFunction(unittest.TestCase):
    def test_normal_case(self):
        self.assertEqual(divide(10, 2), 5)
    def test_zero_division(self):
        self.assertEqual(divide(10, 0), "Error: Division by zero")

如有内容修改建议,请联系天明