软件构造——动态、静态

本文探讨了程序错误的两种主要检查方式——静态检查和动态检查,以及它们各自的关注点。静态检查在编译阶段发现语法错误和类型匹配问题,而动态检查则在运行时捕获如除数为零或空指针引用等错误。此外,还介绍了测试的静态与动态方法,包括代码审查和使用测试用例执行代码。强调了错误检查和测试对于确保代码质量的重要性。
摘要由CSDN通过智能技术生成

1.自动检查

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

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

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

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

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

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

2.测试

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值