几个制约测试发展的问题(转自中国软件测试论坛)

原创 2004年07月05日 10:49:00
几个制约测试发展的问题

相对软件开发理论的成熟度来讲,测试理论还非常的稚嫩。(当然,和工业开发理论比较,软件开发理论也是非常的稚嫩。)测试行业的兴起,将会有很大一部分取决于测试理论的成熟度。

现在的测试(技术和管理)还有一些问题是没有定论的,也是我在一直思考的问题(也许这些问题已经有人解决,小生孤僻寡闻而已),下面将这些问题作一个总结,以期望能在以后找到解答。

1.测试的终点在哪里?
作为一个工程过程,无法清晰的定义活动的结束准则,就像在大海中航行的船只,没有自己的目的地,是一件很可怕的事情。测试就是这么一条没有目标的船。

最合适的测试结束的准则应该是缺陷数控制在一个可以接受的范围内。但是在实际的过程中,是永远无法知道未发现的缺陷的数量的,虽然会有方法可以估计出未知缺陷的数目,可是其准确性和所付出的成本使其的可行性并不高。所以虽然这个准则最合适,但是并不实用。

另外一个测试结束准则是以过程为衡量标准。按照测试过程走完了相应的步骤,完成了该作的工作,就算测试完成。这种测试结束准则和没有准则没有什么两样,根本没有达到验收的目的。换句话说,该结束准则有一个假设,这个假设就是已定义的测试过程是完全有效的,在这种情况下,才能采用这个准则来结束掉测试活动。所以这个准则虽然不是很准确,却是最常见的测试结束的准则。

还有一个也是很常见的准则,就是时间线结束准则。到了dead line了,不管怎么样,就算结束。这种准则也会经常在一些不规范的公司遇到。个人认为这种准则对测试的危害最大,遇到组织里是以这个准则来结束测试的话,测试质量只能靠上帝来保佑了。


综上所述,如果能够定义出一个既能作为客观的评价标准,又比较容易实施的测试结束准则的话,是将会对测试理论的成熟有深远的影响。

2.如何评价测试员的优劣

作为测试活动的行为主体,测试员的优劣直接影响测试活动的优劣。可是如何才能评价测试员的优劣呢?

不能以发现缺陷的数量去衡量测试员的水平,这样做只能将测试引到以发现表面的缺陷为主的活动。
不能编写的文档的数量时间比去衡量测试员的水平。
不能以被接受的缺陷数去衡量测试员的水平

优秀的测试员能见微知著;
优秀的测试员有独特的思维方法,能不断创新测试方法;
优秀的测试员能清晰的将缺陷描述清楚,并能说服开发人员改正;
优秀的测试员能从用最小的信息获得对系统的最大理解;
优秀的测试员需要思维灵活,知识全面。

这些都是定性的分析,有很大的主观因素在里面,如果能有一种方法,能将这些与结果挂钩,进行量化,将会对测试方面的人力资源管理有很大的帮助。

3.如何体现测试的价值

测试作为开发的一个服务部门,能不能很好的体现自己的价值,这将是以后测试能不能良性的发展的一个重要因素。
体现测试的价值有很多的难点,下面我逐一说明:
1.测试的成果多是无形资产,很难衡量。产品质量和企业形象这类资产可以说是测试能产生的最直接结果,但是这种资产,将会很难度量。测试能产生的第二类成果是提高开发的能力,也同样属于难以衡量的结果。
2.被识别的测试成果很容易被忽略是测试的价值。一提到优秀的软件,很多人首先想到的就是高超的程序设计,娴熟的编程技巧,成熟的软件过程,很少人想到是经过了严格而全面的测试。测试总是生存在这个被遗忘的角落。
3.过多的体现测试的价值会造成开发和测试的对立。测试能产生的最直观的结果就是缺陷,而缺陷恰恰是证明了开发的不足(虽然说是对事不对人,但是谁有能看到自己写的程序被人吹毛求疵,还拿结果来作为其工作成果而保证不大动肝火呢?)过多的强调测试价值,会让敌对的情绪滋生,所以明智的产品经理,往往会弱化测试的功效,而趋向于建立起一种平衡。

所以,现阶段测试价值的体现,往往决定于领导者对测试的态度,测试的价值也只有在他的心中能有所体现。这种不能得到大多数人广泛认同的局面,明显是不利于建立测试的权威性和其它人员对测试活动的支持的。找到恰当的体现测试价值的方法,是困扰测试经理和对测试有良好认识的产品经理的一个大问题。

4.有关测试模式的思考

对测试模式的想法完全起源于设计模式。既然能够把复杂的体系结构设计能抽象,总结成这么一套东西,为什么不能对测试活动也如是观之呢?

现在我对模式的理解还不是很深,也没有很多的测试经验,所以到现在为止,只能抽象成一种模式,我将其命名为包含模式(include)

模块A中引用模块B作为A的子功能,这时的测试方法应该是先测试B模块,然后再将B模块中的任何一个路径作为A的一部分来测试A模块,这时B模块中的任何一条路径,已经被同化成等价类(虽然在B模块的测试中,它们可能不属于同一个等价类)

(这只是一种思维构想,希望能够抛砖引玉,能将这个体系完善起来)

5.测试与开发的关系
测试到底和开发处在怎么样的一个关系下才能够较好的产生测试应该达到的效果呢?

测试部门独立于开发部门。这种模式可能源于传统制造行业的QC和生产部门的分开。其目的是为了保证测试过程和测试结果的客观性和有效性。这种模式相当于把测试和开发分成两个泾渭分明的活动,并没有过多的考虑两种活动之间的互为补益。在这种模式下,很可能演变成测试和开发之间的对立,或者增加测试和开发之间的沟通成本。

边测试,边开发。这是XP的轻量级开发过程所倡导的,现在的测试驱动开发理论就是符合了这种模式。采用先设计测试,再进行开发,当开发的软件通过了所有的测试,软件就完成了。这种方式其实并没有规避自己测试自己代码所产生的局限性问题,只是将思维的顺序作了些改变,降低了思维定式对软件开发产生缺陷的影响。

测试部门属于研发中心,但独立于项目组。这种模式保证了测试与项目组之间的最终目标的一致性(高质量的软件产品),能有效的降低沟通成本,又能保证测试人员有一定的独立性,不会过分的受产品经理的控制,避免测试失效现象产生。但在这种情况下,相比两个部门独立,测试的结果有可能不会被项目组所重视,需要频繁的进行协调,才能及时处理缺陷。

软件测试在国内的现状与趋势

软件测试在国内的现状与趋势 前导语1:先了解一下什么是软件测试,及其重要性 软件测试是保证软件质量、提高软件可靠性的重要途径,软件测试的质量与测试人员的技能、经验以及对被测软件...
  • Living_Ccj
  • Living_Ccj
  • 2017年03月03日 22:43
  • 939

关于软件测试的几点反思 - 关于测试团队的组织

这一篇是系列文章的第三篇,前面两篇分别谈了测试的必需性(http://blog.csdn.net/superqa/article/details/21406611),以及测试工作的一些内容(http:...
  • superqa
  • superqa
  • 2014年03月24日 16:19
  • 6275

【转贴】几个制约测试发展的问题

相对软件开发理论的成熟度来讲,测试理论还非常的稚嫩。(当然,和工业开发理论比较,软件开发理论也是非常的稚嫩。)测试行业的兴起,将会有很大一部分取决于测试理论的成熟度。 现在的测试(技术和管理...
  • maoyiming1988
  • maoyiming1988
  • 2011年12月03日 23:49
  • 107

软件智能自动化测试

对于软件工程有所认知的人都会知道,手动测试是无法取代自动化测试的。但是我觉得,在将来,自动化测试是完全可以取代手工测试的。( ( ⊙ o ⊙ )啊!!????? )         在大家喷我之前,我...
  • jinzheng069
  • jinzheng069
  • 2013年11月29日 20:39
  • 1942

软件测试技术常见问题汇总

 一、常见问题 1、 单元测试主要内容是什么? 单元测试大多数由开发人员来完成,测试人员技术背景较好或者开发系统软件时可能会安排测试人员进行单元测试,大多数进行的单元测试都是开发人员调试程序...
  • morwind
  • morwind
  • 2015年04月01日 10:02
  • 2437

老徐谈谈软件测试职业的现状,以及市场情况

最近确实是很忙 导致很久没有认认真真的写几篇博客了 平时也只是随记一些重要的知识点,非常零散,有时间好好整理出来; 刚刚简单翻阅了CSDN博客,发现很少测试相关的文章; 今天老徐就来聊一聊测试职业...
  • dieyong
  • dieyong
  • 2016年01月23日 17:24
  • 1515

高速发展的中国的社会问题,潜在超级大国和未来经济大势

【写这篇博客的目的】 在写基金投资之前,再啰嗦一下我们国家的未来发展大方向,有句话说,皮之不存毛将焉附??买房子,买基金做投资都要看经济大势。 我自己很喜欢看香港凤凰卫视的脱口秀节目《锵锵...
  • hdfyq
  • hdfyq
  • 2013年03月30日 00:07
  • 1987

国外人气最旺的软件测试网站

 http://bdonline.sqe.com/   一个关于网站测试方面的网页,对这方面感兴趣的人可以参考 http://citeseer.nj.nec.com/   一个丰富的电子书...
  • wauit
  • wauit
  • 2015年03月11日 13:09
  • 1791

软件测试相关的63个国外网站和几个国内网站

http://bdonline.sqe.com/一个关于网站测试方面的网页,对这方面感兴趣的人可以参考http://citeseer.nj.nec.com/一个丰富的电子书库,内容很多,而且提供著作的...
  • lihongzhai
  • lihongzhai
  • 2009年10月13日 09:52
  • 4133

软件测试的层次

有经验和没有经验的测试在团队起到的作用是很不一样的。从测试中遇到问题采取的行动来看,我观察到的测试人员能达到的层次大概有这么几个级别: 开一个bug;查找一些额外的资料如设计文档和历史,确定这是...
  • autumnVoice
  • autumnVoice
  • 2014年05月13日 22:12
  • 443
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:几个制约测试发展的问题(转自中国软件测试论坛)
举报原因:
原因补充:

(最多只允许输入30个字)