本次课程主要讲解测试和调试。
一.
测试主要是为了验证给定一个输入,是否能得到我们预期的输出;
调试则是为了寻找为什么程序没有得到我们预期的输出。
测试分为单元测试和集成测试,单元测试是测试一个方法,一个函数,一个类的正确性;集成测试则是将程序集成起来测试它最终的正确性。先做单元后做集成。
调试的目的不是为了消除一个bug,而是为了创造一个没有bug的程序。
调试的两个最重要的工具:print ,阅读代码。
调试的最好的是系统化的做调试,即在寻找bug时,不断减少寻找空间来定位问题源。
系统化的方法:
1.阅读程序
2.思考为什么会返回这个结果
3.这个bug是否只是一小部分
4.怎么修复这个bug
修复bug的方法:
1.寻找一个重现bug的最简单的输入
2.找出最可能出错的代码部分。
使用二分法查找。