假如没有“测试”

发表于:2011-2-14 14:08

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

  业界一直存在着一个有争议的命题“质量是开发保证的还是测试保证的?”,我认为“产品的初始质量取决于设计及开发过程,产品的最终质量取决于测试过程”。对于开发和测试作为产品研发最重要的两部分力量,大家却通常会不自觉的轻视了后者的重要性。——H3C测试部总监刘宇

  阅读下研究机构或学院派对国内软件测试行业的调查,都会认为国内的软件测试处于起步阶段——虽然十年前就这么说,国内企业对软件质量和其根本保障的软件测试还是在投入和认识上存在偏见,但已经逐步改善云云。你也会偶尔看到“软件质量测试需求日益旺盛”、“软件测试招聘需求第一”、“软件测试薪酬看涨”等软性文章

  所谓的偏见无处无时不在,大到国家种族,小到行业分工甚至阿猫阿狗。对于测试最常见的偏见是认为测试没有什么技术含量的——和打劫差不多。事实上测试是一份需要激情的职业,同时也是需要相当耐性的职业,测试经验积累多了,测试做久做深了你会发现“好的测试”的技术含量丝毫也不比开发来的差,大多数的偏见也是出于偏见者的狂妄和无知。

  测试是个幕后的工作,产品质量好了难得有人提起你的功劳,出问题了常听到的指责就是“测试是怎么测的!”。就连测试人员自己也习惯了幕后,通常的场景是一个开发工程师会指着街边的公共信息亭,很自豪的说,这里面的浏览器是我做的,而作为测试工程师的你可能不好意思对朋友说,这个信息亭的软件是我测试的。

  一、认识测试

  测试不就是随便动手操作折腾吗?很容易嘛,这是很多人对测试的第一印象。事实上,动手操作,也就是我们说的测试执行,只是软件测试工作的一小部分。测试是一个系统工程,要系统的解决测什么,怎么测,如何安排测试,产品质量如何科学度量分析,测试是否可以收敛结束,后续如何改进测试过程等各种问题。

  首先,测试团队需要结合产品定位、产品规格、典型应用以及积累的经验来确定需要测试哪些内容,这个过程称为“测试需求分析”,解决测什么的问题。

  其次,需要考虑使用什么样的测试方案,设计什么样的测试用例,采用什么样的测试步骤来验证这些测试需求,如何自主开发或利用商用测试工具及软件来辅助深入测试,如何利用自动化测试来提高效率,这个过程称为“测试设计”,解决怎么测试的问题。在测试之前,还需要根据产品质量情况和代码变更情况,明确哪些内容可以不测或减少测试投入,哪些内容需要重点测试,各个测试内容的时间和人力安排等等,这是确定“测试策略和测试计划”的过程;然后,就是分阶段,利用已有的测试设计对产品实施测试,检验产品质量到底如何,这个过程就是“测试执行”过程。

  在计划的测试任务完成之后,我们需要进行测试过程度量和缺陷分析,对产品的缺陷趋势、测试人力投入、测试执行合理性以及缺陷分布给出合理的评估,结合经验数据,判断产品是否达到了我们的质量目标,测试是否可以结束。通过对测试过程的分析,我们还能知道在哪些方面,我们需要继续改进,为下一次测试提供优化依据。

  只有完整经历了上面讲的这个能不断优化的闭环,你才能说你做了一次完整的软件测试。这个过程的复杂性比软件开发过程有过之而无不及,因为测试团队需要面对的是无限的可能性和不确定性,不同的客户对你的系统会有无数种可能的使用方式,新的业务也会不停的冒出,你不可能说所有的可能性我都测试完备了。

  但是,我也反对测试过度提倡“经济”的测试。测试活动,是一种代价高昂,又不得不进行的消耗活动。测试投入会得到回报,但测试投入也应该有一定限制。测试并不是开展得越充分越好,测试作为企业商业行为的一部分,投入和回报始终是放在第一位考虑的因素。测试的目标是确保产品质量在可控范围内,通常状况下,对质量的过度追求会导致得不偿失。但“经济测试”不应该成为部分人弱化测试的借口,而是要建立在科学独立的质量达标评估和风险决策规避的基础上。

  以上是我强调的一点,测试是一个非常复杂的系统工程,另一点是测试非常重要,需要在系统开发全程投入。认识到这两点,才能做好测试,保证好产品质量。

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号