Lecture 11: Testing and debugging
本节课主要讲了两个内容,正如标题所述,测试和调试。测试和调试多有不同之处,而本课的偏重点在于基本概念,或者说理论基础。因此,本课并没有举出程序例子。
测试和调试是两种不同的过程。测试(Testing)是比较多组输入值和输出值,看是否符合题目要求或规格说明书(Specification)。而调试(Debugging)则是找出程序中的错误并加以改正的过程。
测试有两种不同的分类,如下:
调试的内容大概分为以下两个方面:
一个比较常用和有效的调试方法是用二分法搜索出错点,具体操作如下:
在上节课的最后提到了异常处理,上一篇笔记并没有特别详细说明,因为课上讲的内容并不是很完整。在参考《王纯业Python学习笔记》和《Python基础教程》第二版之后,整理出如下两个try-except的使用方式:
使用方式①(在上篇笔记中提到的格式):
try:
statement 1
except ExceptionType:
statement 2
这个使用方式的意思是这样的:
使用方式②(较为复杂的使用方式):
try:
statement 1
except (ExceptionType1, ExceptionType2):
statement 2
except(ExceptionType3, ExceptionType4):
statement 3
except:
statement 4
不难看出,这个使用方式相比于前一个更为高级,也更为细致。在同一级别的比较中,不同的ExceptionType可以做不同的操作。若是exception与所述的ExceptionType 1-4都不符合也有except语句去执行statement 4。这个结构就跟if-elif-elif-else的结构相似,但作用不同。
总结:这是一堂调试基础课,可以略过。