代码错误分类

博客探讨了代码错误的两个主要方面:性能问题和功能错误。性能问题涵盖时间性能和空间性能,通常在系统测试或性能测试阶段处理。单元测试主要关注功能错误,即程序未按预期工作或在特定输入下产生错误输出。功能错误可分为有特征(如崩溃或超时)和无特征错误。对于软件开发,小错误可能导致大麻烦,部分错误尤其难以定位和修复。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       代码错误可以分为两个方面:性能问题,功能错误。

       性能问题又可以分为时间性能和空间性能。时间性能就是执行效率不符合预期。空间性能就是所占用的资源超出预期。由于单元测试面对的测试目标是比较小的代码单元,时间性能和空间性能比较难于衡量,所以单元测试一般不测试性能问题。性能问题应该在系统测试或者性能测试的时候来完成。

        单元测试主要测试代码的功能错误。功能错误就是程序没有实现正确的功能,它的行为不是我们所预期的,具体来说就是某种输入下没有产生我们想要的输出。崩溃也是一种功能错误的输出错误。

功能错误可以分为有特征和无特征错误两种。有特征错误又可以进一步分为行为特征和语法特征错误。

行为特征错误是指代码在执行的过程中产生的、具有可捕获的特征的错误,例如崩溃或者超时。

语法特征错误是指代码中含有某些语法特征,这些特征可能含有潜在错误,例如在条件表达式当中使用了赋值操作符。

         

        软件开发有一个有趣的现象:错误越小,麻烦越大。如果一个程序,一启动就崩溃,那是大错误,但容易发现,容易定位,也容易解决。如果错误只是在某种不常见的输入下表现出来,好像是小错误,但修正的成本往往极大,尤其是用户在应用中发现的错误。

        对于一个代码单元,常见的错误是部分错误,是指对部分输入处理正确,对部分输入处理错误。例如一个函数有十类可能输入,代码对其有的五六类做了正确处理,两三类的处理含有错误,还有一两类输入则在编码时没有想到,未进行处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值