(单选题)
关于软件测试,以下说法错误的是( )。
A.测试能提高软件的质量,但是提高质量不能依赖测试
B.测试只能证明缺陷存在,不能证明缺陷不存在
C.开发人员测试自己的程序后,可作为程序已经通过测试的依据
D.80%的缺陷聚集在20%的模块中,经常出错的模块改错后还会经常出错
参考答案:C
参考解析:
软件测试的目的就是确保软件的质量、确认软件以正确的方式做了你所期望的事情,所以他的工作主要是发现软件的错误、有效定义和实现软件成分由低层到高层的组装过程、验证软件是否满足任务书和系统定义文档所规定的技术要求、为软件质量模型的建立提供依据。软件的测试不仅是要确保软件的质量,还要给开发人员提供信息,以方便其为风险评估做相应的准备,重要的是他要贯穿在整个软件开发的过程中,保证整个软件开发的过程是高质量的。软件测试时在软件设计及程序编码之后,在软件运行之前进行最为合适。考虑到测试人员在软件开发过程中的寻找Bug、避免软件开发过程中的缺陷、关注用户的需求等任务,所以作为软件开发人员,软件测试要嵌入在整个软件开发的过程中,比如在软件的设计和程序的编码等阶段都得嵌入软件测试的部分,要时时检查软件的可行性,但是作为专业的软件测试工作,还是在程序编码之后,软件运行之前最为合适。因此A项正确,C项错误。测试无法显示软件潜在的缺陷,“测试只能证明软件存在错误而不能证明软件没有错误”。最初的测试通常把焦点放在单个程序模块上,进一步测试的焦点则转向在集成的模块簇中寻找错误,最后在整个系统中寻找错误。在测试中不可能运行路径的每一种组合。然而,充分覆盖程序逻辑,并确保程序设计中使用的所有条件是有可能的。B项正确。pareto原则:测试发现的错误中80%很可能起源于20%的模块中。当某个功能出问题,其对用户的影响有多大?然后根据风险大小确定测试的优先级。优先级高的测试,优先得到执行,一般来讲,针对用户最常用的20%功能(优先级高)的测试会得到完全执行,而低优先级的测试(另外用户不经常用的80%功能)就不是必要的,如果时间或经费不够,就暂时不做或少做。D项正确。本题选非,故本题正确答案选C。