软件构造——动态、静态

1.自动检查

(1)静态检查: 在程序运行前。

一般针对:语法错误,例如多余的标点符号或者错误的关键词;错误的名字,例如函数名称、类名等拼写错误;参数的个数不对;参数的类型不对;错误的返回类型。

(2)动态检查: 在程序运行中。

一般针对:非法的变量值,例如位于分母变量为0;无法表示的返回值,例如最后得到的返回值无法用声明的类型来表示;越界访问,例如在一个字符串中使用一个负数索引;引用一个null对象。

(3)无检查: 编程语言本身不帮助你发现错误,你必须通过特定的条件(例如输出的结果)检查代码的正确性。

静态检查好于动态检查好于不检查。

2.测试

(1)静态测试:在编写代码的阶段由程序员或是代码编辑器、编译器等工具进行检查。例如编译器检查语法、代码评审、文本编译器检查源代码结构、数据流作为静态程序分析。

(2)动态测试:通过测试用例实际执行了编写的代码。动态测试可能在程序完全编写完成前就用于测试代码的特定节。典型技术是使用桩/驱动程序或从调试环境中执行。

你可能感兴趣的:(软件构造,java)