《软件测试方法和技术》-读书笔记(二)软件缺陷的产生

由于软件系统越来越复杂,不管是需求分析、程序设计等都面临越来越大的挑战。由于软件开发人员思维上的主观局限性,

且目前开发的软件系统都具有相当的复杂性,决定了在开发过程中出现软件错误时不可避免的,造成软件缺陷的主要原因有哪些?

可以从软件本身、团队工作和技术问题等多个方面分析,以确定造成软件缺陷的主要因素。

1、技术问题

a、开发人员技术的限制,系统设计不能够全面考虑功能、性能和安全性的平衡。

b、刚开始采用新技术,解决问题和处理问题时不够成熟

c、由于逻辑过于复杂,很难在第一次就将问题全部处理好

d、系统结构设计不合理或算法不科学,造成系统性能低下

e、接口参数太多,导致参数传递不匹配

f、需求规格书中有些功能在技术上无法实现

g、没有考虑系统崩溃后自我恢复或数据的异地备份、灾难性恢复等需求,导致系统存在安全性、可靠性隐患

h、一般情况下,对应的编程语言编译器可以发现这类问题;对于解释性语言,只能在测试运行的时候发现

2、软件本身

a、不完善的软件开发标准或开发流程

b、文档错误、内容不正确或拼写错误

c、没有考虑大量数据使用场合,从而可能会引起强度或负载问题

d、对程序逻辑路径或数据范围的边界考虑不够周全,漏掉某几个边界条件造成的问题

e、对一些实时应用系统,缺乏整体考虑和精心设计,忽视了时间同步的要求,从而引起系统各单元之间不协调、不一致性的问题

f、与硬件、第三方系统软件之间存在接口或依赖性

3、团队工作

a、团队文化(如对软件质量不够重视)

b、系统分析时对客户的需求模糊,或者和用户的沟通存在一些困难,从而造成对用户需求的误解或理解不全面

c、不同阶段的开发人员相互理解不一致,软件设计对需求分析结果的理解偏差,编程人员对系统设计规格说明书中某些内容重视不够,或存在误解

d、设计或编程上的一些假定或依赖性,没有得到充分的沟通

软件缺陷的造成

规格说明书(需求41%)、系统设计结果(12%+24%)、编程代码(23%)

猜你喜欢

转载自www.cnblogs.com/yronl/p/9044303.html