白盒测试(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")

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