单项选择题

A.人都会犯错误,因此在由人设计的程序也会引入缺陷
B.所有的缺陷都会产生失效
C.失效主要是由人的错误造成的,和环境条件没有关系
D.当存在缺陷的代码被执行时,才可能引发软件错误