软件缺陷的分类标准
软件缺陷一般分为输入/输出缺陷、逻辑缺陷、计算缺陷、接口缺陷、数据缺陷。
(1)I/O缺陷
I/O缺陷是业务流中最常见到的一种缺陷,也是数据流传递中首先遇到的缺陷。
如项目开发中开发者未考虑数据输入的有效性,就会导致数据输入缺陷。
例如,在网站的登录或注册页面中,登入功能的程序编写就要考虑到用户名的有效性,如果网站要求使用邮箱登入,邮箱的有效性就是开发者要考虑的主要内容。
--输入缺陷
输入缺陷主要包括不正确的输入缺陷、描述错误信息或者有遗漏缺陷等。国内网站每天会受到几十万至几百万次攻击,如果网站在上线前没有经过严格的测试,那么保障网站的安全将成为无稽之谈,所以要对输入的数据进行严格限制。
--输出缺陷
输出缺陷主要包括输出格式错误缺陷、结果错误缺陷、数据具有不一致和遗漏性缺陷、不合乎逻辑输出缺陷等。对输出缺陷进行检测需要测试人员具备良好的测试修养,测试中不仅要关注逻辑,还要关注提示信息。例如,在密码安全等级的提醒测试中,密码越复杂,提示的安全等级应该越高。提示功能的优劣关系到用户体验,也关系到项目在市场上的生存周期。
(2)接口缺陷
接口缺陷会造成典型的功能问题,使产品的基本功能与开发文档不符。
接口缺陷主要包括I/O 调用错误缺陷、内置功能接口调用错误缺陷、参数传递不符合 API 文档缺陷、兼容效果差缺陷等。
接口缺陷的存在直接影响项目的逻辑变化,很可能导致项目的数据流传递失败。接口缺陷是项目开发一定要避免的缺陷。
(3)逻辑缺陷
逻辑缺陷是造成数据流缺陷的根本问题,逻辑缺陷的存在会导致业务流程中的数据出错。
逻辑缺陷主要包括遗漏条件判断缺陷、重复判断缺陷、程序编写时极端条件判断出错缺陷,还有可能会出现判断条件的丢失缺陷、错误的操作符缺陷。
一般出现逻辑缺陷的可能性较小,但是一旦出现逻辑缺陷,就会对整个项目的核心数据流产生比较大的影响,危害整个数据的业务流。
(4)计算缺陷
计算缺陷主要包括不正确的算法缺陷、遗漏计算缺陷、不正确的操作缺陷、错误的括号缺陷、精度问题缺陷、错误的内置函数缺陷等。
检查计算缺陷时需要测试人员根据项目的开发文档,从计算的业务需求出发,对计算公式与计算方式进行核对,对计算的整个流程、相关参数进行简单的校验。
(5)数据缺陷
数据缺陷主要包括数据的有效范围缺陷、数据类型不正确缺陷、数据的基本不一致缺陷、数据引用的错误等基本错误类型。
数据缺陷可能导致业务展示效果差,出现统计偏差。