前不久,在与测试同行沟通,提到了这样一个话题,测试与质量存在什么样的关系?当时,我回答她的是,软件测试是检测质量的一种重要手段,为什么这么说咧? 首先,从软件测试的定义来看,有以下三点:
软件测试需要确认
• 评估将要开发的软件产品是否正确无误、可行和有价值的。确认意味着确保一个待开发软件是正确无误的,是对软件开发构想的检测。 软件测试需要验证
• 检测软件开发的每个阶段、每个步骤的结果是否正确无误,是否与软件开发各阶段的要求或期望的结果相一致。验证意味着确保软件会正确无误地实现软件的需求,开发过程是沿着正确的方向进行的 软件需要测试
• 使用人工操作或软件自动运行的方式来检验它是否满足规定 的需求或弄清预期结果与实际结果之间的差距的过程 其次,从质量的六个属性:功能性、可靠性、易用性、效率、可移植性、可维护性来看,软件测试的测试策略,也是基于质量的这六大特性而来,要验证软件是否满足客户的需求,达到一定的质量目标,需要从这六大特性入手,找到合适的测试方法,比如功能测试方法、易用性测试方法、性能测试方法等等。
那么,软件测试是不是就是保证软件质量的咧,或者说,软件出了质量问题,第一责任人就是软件测试咧?(估计,存在这样的观点的人,大有人在)。提到这一点,我个人认为,软件质量并不是依赖某个环节而决定的,因为,整个软件开发是一项工程,在这个工程里面,牵涉到太多的环节,比如需求阶段、设计阶段、开发阶段、测试阶段等等,每个环节都会存在缺陷被引入的可能,因此,软件的质量,要依赖于各个环节,只有各个环节工作做到位了,那么软件的质量也能达到一定的预期。 既然,说到手段,那这种手段,只应用在开发结束后吗? 答案当然是,不。我们常说,测试要及早介入,越早介入,修复缺陷的成本越低,很简单的来说,在需求阶段来说,如果发现缺陷了,修改文档的成本,应该比修改代码的成本要低很多吧! 测试与质量的关系:“我们关系紧密着咧!”
|