typora-copy-images-to: Python 编程导论
文章目录
Python 编程导论 Chapter 6 —— 测试与调试
-
测试指通过运行程序确定它是否按照预期工作,调试指修复已知的未按预期工作的程序
-
关键是将程序分成独立的部分
-
函数是一种程序模块化的机制
6.1 测试
- 目的是证明错误的存在
- 测试的关键在于找到特殊的一组输入,称之为测试套件
- 对所有可能的输入空间进行分区,划分为对程序正确性提供相同信息的多个子集,构建套件,但这个子集的构建是一个不可能达到的理想状态
x为正,y为正 x为负,y为负
x为正,y为负 x为负,y为正
x = 0,y = 0 x = 0,y≠0 x≠0,y≠0
isBigger(x, y) 可以分为以上7个子集
# 我们通常需要将代码和规范结合起来,进行各种路径探索,并在此基础上发展出一种启发式方法
# 基于代码探索路径的启发式方法为白盒测试
6.1.1 黑盒测试
-
基于规范探索路径的启发式方法为黑盒测试
-
黑盒测试允许测试者和开发者来自不同的人群,相当于独立的质量保证团队
-
黑盒测试易于规避类似于程序编写者做了一个错误的隐含假设这类错误
def sqrt(x, epsilon):
"""假设 x 和 epsilon 是浮点数
x >= 0
epsilon > 0
如果存在满足 x - epsilon <= result * result <= x + epsilon的result,
就返回result"""
上述例子的规范只有两个,这两种测试的情形是必须的,还必须测试边界条件
**边界条件**包括,空