关于断言与错误处理,以及测试用例的设计

来源:互联网 发布:ubuntu install ssh 编辑:程序博客网 时间:2024/05/21 18:33

错误处理:净化从外部接口输入的参数,它是用来处理预期会发生的情况;
断言: 处理绝不应该发生的情况,用于子程序,系统内部的程序,用于调试开发中

如果在子程序接口入口处发生了断言,则说明:调用了该子程序的外部程序存在错误,而不是子程序本身有错误!
如果在程序内部执行中发生了断言,则说明:该程序在该断言之前的代码存在错误!

当然,这些说法的前提是:对断言中条件的使用是合乎程序功能设计的。


所以,在设计测试用例时,内部子程序的测试用例中不需要包含非法的输入参数,如NULL值的情况,只需要关心逻辑上的异常参数即可。
对于包含非法参数的测试用例,是用于对外接口函数的,以此来测试对外接口对外界输入的鲁棒性和健壮性。


对于何时使用异常处理,而何时使用断言,有这样一种判断准则:
1:如果使用了异常处理,那么如果异常发生,并且程序能够捕捉到这种异常情况,程序就能够很好的做出响应和反馈,就说明了程序设计良好,具有鲁棒性
2:如果使用了断言,那么当断言触发时,它说明的是:程序的设计本身存在问题,需要修复,并重新编译和发布。