我们如何验证电子表格引擎的正确性

主要观点:

  • 电子表格是有趣的软件领域,其特征相互重叠,特征交互数量随特征数量平方增长,手动测试不可行,需确保软件质量。
  • 依赖轻量级属性基础测试,其一般形式为从可能输入分布中采样输入,进行测试操作,与恒真属性或参考实现比较结果,重复多次。
  • 有三种主要的属性基础测试用于验证电子表格:黑盒参考模型测试、不变式测试、崩溃测试。
  • 介绍了测试的实际实现,包括模板(非确定性、复杂性、迭代、确定性)及具体代码示例(内置函数、CSV 解析、处理损坏 CSV、隐藏行)。
    关键信息:
  • 电子表格特征交互多,手动测试难,需用属性基础测试。
  • 属性基础测试框架及提供功能。
  • 三种测试类型及具体做法。
  • 测试模板各部分作用及具体代码示例细节。
    重要细节:
  • 非确定性使用 OS 随机数,增加测试覆盖面。
  • 复杂性通过循环控制测试深度,从低到高找简单 bug。
  • 迭代次数可根据情况调整,初始通常为 10000。
  • 确定性在单个测试用例中用种子可重现测试。
  • 具体代码示例涵盖内置函数测试、CSV 相关测试、崩溃测试及隐藏行测试等。
阅读 7
0 条评论