软件缺陷
软件缺陷(defect),有时候称为bug,是对软件产品与其属性的信离现象∶对产品规格说明的偏离或对用户期望的偏离。
具体的软件产品中,主要有以下三类缺陷。
①错误∶未将规格说明书正确实现。
②遗漏;规定的或预期的需求未体现在产品中。
③额外的实现∶规格说明书并未规定的需求被纳入产品并得到实现。
测试由测试人员进行,用于发现、报告和跟踪缺陷调试
调试由开发人员进行,用于定位缺陷位置,识别缺陷产生原因,修改缺陷代码
质量保证
制定和加强促进软件开发并防止软件缺陷的标准和方法,并监督标准和过程被正确的遵循
在最短的时间内发现尽可能多的缺陷,并确保这些缺陷得以修复
有了软件测试,是不是就不会出现软件缺陷了呢?
如果出现,是不是软件测试员不合格呢?
其实即使是再好的测试员,软件缺降也是无法避免的,但有了软件测试,按照科学的方法会尽可能地减少缺陷的数量,尤其是关键部分的缺陷。
软件测试在长期的发展过程中,有着不同的含义
① Glenford JMyers((1979)软件测试是为了发现错误而运行程序的过程。
②IEEE(1983)中对测试的定义∶使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。
③GB/T 11457对测试的定义∶依据规范的软件检测过程和检测方法,按照测试计划和测试需求对被检测软件的文档、程序和数据进行测试的技术活动。
目前,软件测试越来越受到重视形成了各种测试方法、理论和技术,慢慢形成了一门学科。
有了统一认识测试不只是测试执行,它包括从计划开始到测试结束的一系列活动。
软件测试的现状
①国际上,软件测试(软件质量控制)是一件非常重要的工作,测试也是一个非常独立的职业。在IBM、Microsoft等大型系统软件开发公司,很多重要项目的开发测试人员的比例能够达到1∶2甚至1:3。
缺陷产生原因
需求的不完善定义
客户-开发者通信失效
对软件需求的偏离
逻辑设计错误
编码错误
不符合文档编制与编码规定
测试过程的不足
规程(Procedure)错误
文档编制错误