联系我:新浪微博@架构师Jack 或 dongjietest#163.com联系.(#换为@)

smart test与测试系统的设计

上一篇 / 下一篇  2012-03-04 08:35:16 / 个人分类:正确的测试思想

   手工测试还是自动化测试只是测试执行的手段,一切测试活动和测试质量的源头都是从测试分析设计开始, 任何行业的分析设计都主要依赖人脑, 手工和自动化之争我们也许应该说是人脑测试与非人脑测试可能更准确性,在国外有一个名词:smart test 意思就是强调测试中人脑的作用及价值。  
  
   类比其他行业:
   软件开发都是从软件需求分析和架构设计开始开工启动,至于后面的代码可以手工生成实施,也可以自动化生成实施执行。
   汽车、手表行业也是,汽车设计师利用辅助分析设计工具把人脑的想法转为有形载体,最后无论是手工制造还是自动化生成都无法改变前端的分析设计靠人脑的方式。
   建筑业也是从一个人脑的设计构思开始,才有后面的架构和框架的实现和更小的子模块建设实现。 
   至今为止,还没有任何一个行业可以不先从人脑开始,真正的设计全自动化是不存在的(直接抄袭它人的设计跳到实现阶段的不算,中国不缺山寨工缺设计师) 。
 
   所以,我也比较认同有的测试专家提出的,训练测试人员先从测试的脑袋开始训练,如何训练这还处于一个未系统化的起步阶段,但有人开始投入相信未来会有更合适更好的方案。
 
    我有一个观点一个厉害的test engineer(not a tester),应该像其他行业的engineer一样,能设计一个测试系统。这个测试系统如软件运行系统一样,有自己的框架(在测试领域是检测框架)保障自己系统的可靠性(测试质量)和性能(测试效率),有自己的实现技术方案。 至于后面的testcase实现还是test code实现如同product code可以通过人工实现也可以软件自动实现。
 
  这个测试系统应该包含至少3种测试件:
   1、测试设计思想体现:包含整体测试设计的检测框架或检测方法架构,各测试类型和后续测试设计侧重及约束; ( 如任何软件产品设计或工程产品设计工作,如乔布斯和苹果首席技术架构设计师对iphone体现的设计实现思想)
   2、测试实现的基础框架:如自动化测试实现的框架及各类测试工具,可重用的测试用例和方法、各测试类型的测试设计框架;(如iphone的CPU,主板,内存,电源,硬盘,操作系统
   3、 拉通设计思想和基础框架的中间载体:testcase和test code; 如 iphoone中的非基础框架的软件代码;
 
   当然我们也可以模仿早期的软件开发模式,跳过从上到下分层分面的架构系统设计活动,直接到代码实现阶段通过bug反馈驱动我们不断修改我们的软件最终达到我们的目的。那个年代是一个修改bug的个人英雄时代,我曾见过有的软件开发人员改了一年bug后才开始真正写下自己的代码,写了2个月后又用了10个月改代码。 有一个人做了3年软件工程师,一共只有5个月开发代码其他时间都在帮其他人改bug。正是过去的软件开发原始状态,让我当时顿时失去了读书时代对软件开发的向往,难道我的工作内容大部分就是打补丁改错吗?软件开发就是不设计的混乱状态吗?用当时说法就是一个IT民工,现在说法更像一个码农而不是一个设计师。 直到后来换了环境见到一些资深10年以上软件牛人非常严谨的详细的设计文档(架构文档、子模块设计文档),参加了其工程化科学化的设计讨论及评审会,才体会到好软件都是设计出来的,而不是补丁打出来。虽然他们也经历了IT民工阶段成长过来的,但对软件工程的追求,对成为设计者的追求让他们成为少有的有系统的工程化方法的技术设计者。
     专业10年后你是系统设计师还是码农,真正取决于自己的追求和付出了。
 
   我们测试工程师希望追求什么样的工作模式?
 
 

TAG:

引用 删除 catherinexu   /   2012-05-11 17:18:08
好软件都是设计出来的,说得好
引用 删除 catherinexu   /   2012-05-11 17:17:51
5
测试人生 引用 删除 mexia   /   2012-04-01 17:01:39
个人认为软件测试模式及测试侧重点,可以参考开发的一些知识,比如测试软件的架构,开发模式等;特定的架构必然有特定的问题.
喝口水就走的测试空间 引用 删除 JekitShieh   /   2012-03-30 10:20:28
5
引用 删除 yaxiongliu1987   /   2012-03-20 12:52:39
5
sunshinekhq的个人空间 引用 删除 sunshinekhq   /   2012-03-13 21:25:03
5
引用 删除 夏花   /   2012-03-12 16:11:54
恩,赞同,一个厉害的测试工程师对软件系统会有自己的眼光,知道从何种角度如何去测试,并且知道如何把测试实现出来 -- 自己搭建框架跑case
引用 删除 mlongmlong   /   2012-03-11 15:46:13
5
引用 删除 wufei1960   /   2012-03-09 13:45:59
-5
引用 删除 evan514   /   2012-03-06 16:21:41
5
zhiyun181的个人空间 引用 删除 zhiyun181   /   2012-03-05 20:50:53
身边的现实是测试执行和测试结果的被关注度大大多于测试设计。常常花了一番心思的测试设计,却少人认可,加之也鲜见可以相互学习的师友,所以不知道扎实的测试设计是否能坚持。
xin_晴的个人空间 引用 删除 xin_晴   /   2012-03-05 11:30:22
您好,我是51Testing软件测试网的编辑,您的本篇博文被推荐至51Testing软件测试网首页发表:http://www.51testing.com/html/16/n-808816.html
感谢您关注并支持51Testing博客,期待您更多的优秀原创博文。
散步的SUN的个人空间 引用 删除 散步的SUN   /   2012-03-04 22:42:22
5
引用 删除 雨夜之月   /   2012-03-04 21:26:43
5
 

评分:0

我来说两句

Open Toolbar