习题:
printStack与printmessage不重复,一个是输出出现异常时的栈内容,一个是输出异常信息。
checked exception:程序员不背锅,客户端使用出现问题。
unchecked exception:一般是程序员的bug,例如precondition,postcondition,RI的错误。
assert主要测试三种类型:1.不变量系列 2.postcondition 3.precondition
代码中的assert不一定会严重影响代码运行性能,不用谨慎使用。
从防御性编程的角度,不要窥视用户的内心,precondition错了就是错了,老老实实返回异常后asserterror。
Observable是抽象类!
debug过程:重现 诊断 修复 反思
debug方法:假设,检验
修改完bug后运行所有测试用例确保其他类没改变。
黑盒测试
检查代码功能,不检查内部实现。
用尽可能少的测试用例,尽快运行,并尽可能大的发现程序的错误
等价类划分:针对每个输入数据需要满足的约束条件,进行等价类划分。
每个等价类代表着对输入约束加以满足/违反的有效 /无效数据的集合
边界值分析:极限条件
加上边界值
两种覆盖方法
Test只测试spec中的值范围。