yiwing001 2007-10-1 19:41
用别的眼光去感悟软件测试(转)
曾经对[u][b][u][b]软件[/b][/u]测试[/b][/u]很轻视,因为我那时很无知,只是一名普通的中国[u][b]程序[/b][/u]员,这也是那时绝大多数程序员的心态,那时中国程序员最讲究“[u][b]编程[/b][/u]才是硬道理”。
如今却非常热爱软件测试,包括软件测试[u][b]工具[/b][/u],[u][b]方法[/b][/u],理论,[u][b]技术[/b][/u]。因为我在3年的测试[u][b]工作[/b][/u]中,深刻体会到软件测试的重要性和趣味性。此时,我已经跳出了“小程序员”的圈子,以软件[u][b]系统[/b][/u]工程的更大视角审视软件测试这项工作。
很长时间以来我一直被下面的[u][b]问题[/b][/u]而困惑,有些问题至今仍然只是具有肤浅的认识,而且,我感觉我做的测试项目越多,阅读的测试书籍越多,我越感到我对软件测试理解的越肤浅。因为我越来越感受到软件测试的广度和深度的无限性,它像大海宽广,像宇宙那样深邃。 为什么要进行软件测试?软件测试的前途[u][b]如何[/b][/u]?软件测试的工具和思想谁更重要?软件测试的最高境界是什么?
软件测试是保证软件[u][b]质量[/b][/u]的重要活动,是软件项目[u][b]实施[/b][/u]的不可缺少的环节。软件测试的直接目的是发现软件中存在的缺陷。此为测试的有效性。
在软件项目没有结束之前的全部软件缺陷主要由软件[u][b]开发[/b][/u]人员负责,因为软件缺陷来自程序员的编程。软件项目结束后的软件缺陷主要由软件测试人员负责,因为软件测试人员没有在软件发布之前的测试中没有发现隐藏的错误。 但这不是绝对的,因为软件项目是一个系统工程,软件质量牵扯到多个部门和人员,以及[u][b]需求[/b][/u][u][b]分析[/b][/u],[u][b]设计[/b][/u],编码等各个环节和[u][b]过程[/b][/u]。软件测试只能证明软件存在缺陷,不能保证软件没有错误。
软件测试不是万能的,因为不可能发现全部的软件缺陷,而且软件的[u][b]功能[/b][/u]和[u][b]性能[/b][/u]不是由测试决定的。此为测试的有限性。
软件测试目前主要以手工测试为主,[u][b]自动测试[/b][/u]工具虽然很多,但实际[u][b]应用[/b][/u]的广度和深度还有很大潜力,自动将有很大的发展空间!。