这是一个在论坛,在身边经常会听到和谈到的话题,软件测试的价值是什么?在组织中它能够给企业带来什么好处?我们如何在工作中体现这种价值,为此谈谈个人的拙见。
首先,谈价值是需要有前提条件的,软件测试的价值只对能够认知并且能够接受它的人才有价值,否则,测试本身得不到认可则价值则无从谈起,即只有在一个有质量氛围的公司谈测试才有价值。组织对测试的重视程度体现在下面几个方面:
1. 测试人员的素质和技术能力;
2. 测试人员的待遇和影响程度;
3. 相关的其他方面;
其次,软件测试的价值和组织的产品类型,用户对质量的期望等密切相关。
软件测试不是没有成本的,对企业来说并不是测试的越多就越好,对于测试,对于飞机控制系统,手机产品,企业办公软件,游戏软件等需要区别对待,并采取不同的测试策略,同时用户对质量的期望程度也决定了组织对测试的重视程度;
第三,软件测试的核心价值与组织愿意支付的质量成本密切相关
在这并不是说组织在质量方面花的钱多就意味着能够获得高质量的产出,那不一定,有些事情花了很多的银子,但质量并没有达到期望的要求,但反之则必然,如果组织在质量方面不舍得花钱,则非常可能得与之成本相当的质量程度。
最后,测试价值取决于自身附加值的体现
质量不是一个单独的商品,它必须依托与产品或者服务这个载体才能够体现它的价值,软件测试作为质量保证的重要手段,份内工作是用来验证产品的功能,并通过各种不同的测试手段找出影响产品使用的各种问题和缺陷,在这期间测试的干系人是开发,产品经理等,他们对测试的诉求是尽快的,准确的提出缺陷,以便于能够得到及时的修复,确保产品的顺利发布。
从纵向分析,若测试人员在能力上能达到缺陷分析和错误定位的程度,则将提高测试覆盖率和测试深度,并帮助开发提高修改的效率,令其刮目相看,从这个层次上来说,测试的团队需要配置并培养一些技术类型的测试专家角色。通过采取各种先进的测试手段,测试工具,改善测试流程等方法,在这个层面上测试的价值都是以缺陷的数量和严重程度呈现在众人面前,优秀的人员将被成为bug killer,做到这,测试做好了自己的本职工作,发现缺陷和发现更多的缺陷,这也只是按照正确的方法在做事情。
从横向分析,若测试人员能够从测试本身追溯到产品需求,并且能够在产品定义阶段介入并对相关成果物体进行评价和审核,找出产品定义的不足和缺陷,从产品需求源头就进行把关,则在项目组中的地位和影响程度将日益扩大,在此阶段,测试人员,需要展示出对产品需求细节的把握,对业界标准的精通等。
再向前走一步,从产品需求朝着产品策划迈进,对测试人员来说,最熟悉的就是产品,不只是测试的产品本身,还应该包括国内外的市场同类产品,通过对用户群的分析和用户习惯的把握,提出产品设计的卖点,不限与功能和外形,测试人员参与应该作为潜在的用户的代表参与,为产品提出创意,提出卖点,要知道,这不只是市场部门的工作,ipod之所以风靡全球,其关键的滚轮设计并不是出自市场部门,这对测试人员也是一个启示。
在整个产品的生命周期中,测试作为用户代表,作为产品的第一手的使用者,他们是最有发言权,没有哪个角色能够像测试一样贯穿全程,能够有机会从不同的方面来使用产品,他们应该最有有资格对产品提出自己的看法和观点,产品应该尊重他们的观点和建议,利用这个得天独厚的优势,测试人员应该拓宽自己的活动范围,在纵向上,提高自己的技术能力,赢得程序员的尊重,在横向上,拓宽自己的知识面,包括产品设计,用户体验,项目管理等方面。