What
什么是可测性。我个人总结如下:一个功能点如果能在影响入程序服务状态的情况下,进行正确性验证,那么这个功能点称为可测的。程序可测点与全功能点之间的比例称为可测度。可测度的大小称为可测性。
Why
TODO
Feature
根于以上定义,其中程序全功能点一般情况下是不可计算的。因为程序的全功能点即为程序的全部代码(包含第三方依赖、系统依赖)与全部执行状态的总集,这是一个NP问题;相似的,在测试理论中存在BUG必存在性。 那么是不是说可测性就是一个虚无缥缈的东西,没有实际意义呢?答案显然是否定的,正如测试一样,虽然无法“测试”到所有的BUG点,但是程序出现问题是具有明显的不均性,具有钟型分布特点(比如正态分布)。由于程序是人为编写,会更加具有聚集性。 因此如何以较小投入获取到较大产出(高ROI)就成了可测性的基本目标。
How
methods
- 标准log
- 分层&接口意识
- try...catch
- 汇总调试点
actions
- Unit Test
- Log&Analysis
- Trace