打造基于企业项目的单元测试实用课程(1):引子
来源:互联网 发布:电脑淘宝怎么关注店铺 编辑:程序博客网 时间:2024/06/05 03:29
前段时间,和测试经理杨先生一块聊天,说到单元测试人才的招聘,杨先生提到最近某著名培训机构就业班毕业的一些学员来面试,情况基本一样:理论只了解一些概念,实践只是测试过三角形函数,离胜任实际工作还差很远。类似的抱怨我听过不少。我查看过一些培训机构的教学提纲,也了解过一些大学的相关课程,感觉无论大学、就业培训、公开课、企业内训,似乎都有一个特点:离应用距离太远。具体来说,这些课程并没有基于企业项目基本特性来安排,无法在实际项目中应用的内容很多,实际应用中必须掌握的技术却严重缺失。
企业项目有两个基本特性:项目复杂、时间紧张。
项目复杂,意味着只会测试独立代码是不行的。实际项目中,代码交错纠缠,首先要隔离出测试目标,测试才可能进行。其次,独立代码的用例设计是很容易的,实际项目的用例设计,将面对失真、不可控、复杂的间接输入、局部静态变量、内部输出等等难题。
时间紧张,意味着效率太低的技术是没有实用意义的。举个例子,基路径法设计用例,拿个十行八行、三五个分支的的代码试试还行,五十行、十几二十个分支的代码就难了,半天都做不出来,企业不会给那么多时间的(基路径法更大的缺陷在于“跟着代码走”,有方向性错误,这里按下不表)。不要告诉我,函数代码不要超过十行,这种纯理想化的想法是没意义的,我接触过的企业中,没有一个能执行函数代码不能超过五十行这一规范,这就是现实,技术必须基于现实。
目前的课程还有一个问题,就是把太多本不属于单元测试的东西牵扯进来。我与另一位测试经理聊到这一点时,他开玩笑说,可能是老师和工具厂商的宣传者,因为无法帮助企业实现真正的单元测试,所以把别的扯进来转移视线。这其实也是我想说的。不管是什么原因,这个问题都导致单元测试理论的混乱,更增加了应用的难度,这也是必须解决的。
基于以上,我想尝试编写一个基于企业项目的单元测试课程。思路大致如下:
列出有代表性的现有单元测试课程提纲;
指出其中不适用于企业项目或可有可无的部分,每一条都详细说明理由;
列出企业应用中必不可少的技术,每一条都详细说明原因;
编写完整的新提纲;
编写完整的教程。
这是一个有意义的工作,也是肯定会被拍砖的工作。欢迎广大老师、专家们参与,也欢迎拍砖。
- 打造基于企业项目的单元测试实用课程(1):引子
- 打造基于企业项目的单元测试实用课程(2):目前课程展示
- 基于IMOOC强力django+杀手级xadmin 打造上线标准的在线教育平台课程的学习(1)
- 基于IMOOC强力django+杀手级xadmin 打造上线标准的在线教育平台课程的学习(2)
- 基于IMOOC强力django+杀手级xadmin 打造上线标准的在线教育平台课程的学习(3)
- 基于IMOOC强力django+杀手级xadmin 打造上线标准的在线教育平台课程的学习(4)
- 基于IMOOC强力django+杀手级xadmin 打造上线标准的在线教育平台课程的学习(5)
- 基于IMOOC强力django+杀手级xadmin 打造上线标准的在线教育平台课程的学习(6)
- 实用单元测试技术(1)
- 打造一个实用的Ubuntu
- 打造实用的Fedora 10
- 打造一个实用的Ubuntu
- 打造基于jQuery的高性能TreeView(1)
- 基于IMOOC强力django+杀手级xadmin 打造上线标准的在线教育平台课程的学习(14)——各个App的adminx.py的设置
- 基于IMOOC强力django+杀手级xadmin 打造上线标准的在线教育平台课程的学习(8)——User models.py的设计
- 基于IMOOC强力django+杀手级xadmin 打造上线标准的在线教育平台课程的学习(9)——Course models.py的设计
- 基于IMOOC强力django+杀手级xadmin 打造上线标准的在线教育平台课程的学习(10)——Organization models.py的设计
- 基于IMOOC强力django+杀手级xadmin 打造上线标准的在线教育平台课程的学习(10)——Operation models.py的设计
- 尊重客观环境 (转载)
- http://www.songlecn.com/category/jq/
- 是继续做开发还是改行做DBA呢
- MySQL字符串列类型区分
- 找不到using System.Web.Script.Services 的问题
- 打造基于企业项目的单元测试实用课程(1):引子
- HTML 5 canvas —— 基本语法
- one
- Ext智能提示 - Spket(Visual Studio 2008 插件)
- 网页设计颜色搭配参考
- android 备忘录
- 回族风俗
- test
- mysql 的基本数据类型