打造基于企业项目的单元测试实用课程(1):引子
2009-11-02 13:35
274 查看
前段时间,和测试经理杨先生一块聊天,说到单元测试人才的招聘,杨先生提到最近某著名培训机构就业班毕业的一些学员来面试,情况基本一样:理论只了解一些概念,实践只是测试过三角形函数,离胜任实际工作还差很远。类似的抱怨我听过不少。我查看过一些培训机构的教学提纲,也了解过一些大学的相关课程,感觉无论大学、就业培训、公开课、企业内训,似乎都有一个特点:离应用距离太远。具体来说,这些课程并没有基于企业项目基本特性来安排,无法在实际项目中应用的内容很多,实际应用中必须掌握的技术却严重缺失。
企业项目有两个基本特性:项目复杂、时间紧张。
项目复杂,意味着只会测试独立代码是不行的。实际项目中,代码交错纠缠,首先要隔离出测试目标,测试才可能进行。其次,独立代码的用例设计是很容易的,实际项目的用例设计,将面对失真、不可控、复杂的间接输入、局部静态变量、内部输出等等难题。
时间紧张,意味着效率太低的技术是没有实用意义的。举个例子,基路径法设计用例,拿个十行八行、三五个分支的的代码试试还行,五十行、十几二十个分支的代码就难了,半天都做不出来,企业不会给那么多时间的(基路径法更大的缺陷在于“跟着代码走”,有方向性错误,这里按下不表)。不要告诉我,函数代码不要超过十行,这种纯理想化的想法是没意义的,我接触过的企业中,没有一个能执行函数代码不能超过五十行这一规范,这就是现实,技术必须基于现实。
目前的课程还有一个问题,就是把太多本不属于单元测试的东西牵扯进来。我与另一位测试经理聊到这一点时,他开玩笑说,可能是老师和工具厂商的宣传者,因为无法帮助企业实现真正的单元测试,所以把别的扯进来转移视线。这其实也是我想说的。不管是什么原因,这个问题都导致单元测试理论的混乱,更增加了应用的难度,这也是必须解决的。
基于以上,我想尝试编写一个基于企业项目的单元测试课程。思路大致如下:
列出有代表性的现有单元测试课程提纲;
指出其中不适用于企业项目或可有可无的部分,每一条都详细说明理由;
列出企业应用中必不可少的技术,每一条都详细说明原因;
编写完整的新提纲;
编写完整的教程。
这是一个有意义的工作,也是肯定会被拍砖的工作。欢迎广大老师、专家们参与,也欢迎拍砖。
企业项目有两个基本特性:项目复杂、时间紧张。
项目复杂,意味着只会测试独立代码是不行的。实际项目中,代码交错纠缠,首先要隔离出测试目标,测试才可能进行。其次,独立代码的用例设计是很容易的,实际项目的用例设计,将面对失真、不可控、复杂的间接输入、局部静态变量、内部输出等等难题。
时间紧张,意味着效率太低的技术是没有实用意义的。举个例子,基路径法设计用例,拿个十行八行、三五个分支的的代码试试还行,五十行、十几二十个分支的代码就难了,半天都做不出来,企业不会给那么多时间的(基路径法更大的缺陷在于“跟着代码走”,有方向性错误,这里按下不表)。不要告诉我,函数代码不要超过十行,这种纯理想化的想法是没意义的,我接触过的企业中,没有一个能执行函数代码不能超过五十行这一规范,这就是现实,技术必须基于现实。
目前的课程还有一个问题,就是把太多本不属于单元测试的东西牵扯进来。我与另一位测试经理聊到这一点时,他开玩笑说,可能是老师和工具厂商的宣传者,因为无法帮助企业实现真正的单元测试,所以把别的扯进来转移视线。这其实也是我想说的。不管是什么原因,这个问题都导致单元测试理论的混乱,更增加了应用的难度,这也是必须解决的。
基于以上,我想尝试编写一个基于企业项目的单元测试课程。思路大致如下:
列出有代表性的现有单元测试课程提纲;
指出其中不适用于企业项目或可有可无的部分,每一条都详细说明理由;
列出企业应用中必不可少的技术,每一条都详细说明原因;
编写完整的新提纲;
编写完整的教程。
这是一个有意义的工作,也是肯定会被拍砖的工作。欢迎广大老师、专家们参与,也欢迎拍砖。
相关文章推荐
- 打造基于企业项目的单元测试实用课程(2):目前课程展示
- 基于IMOOC强力django+杀手级xadmin 打造上线标准的在线教育平台课程的学习(8)——User models.py的设计
- 基于IMOOC强力django+杀手级xadmin 打造上线标准的在线教育平台课程的学习(10)——Operation models.py的设计
- 免费课程-企业项目管理(EPM)平台与Microsoft SharePoint技术的集成
- 超实用python小项目--基于python的手机通讯录二维码生成网站--2、python代码详解
- [导入]从架构设计到系统实施——基于.NET 3.0的全新企业应用系列课程(9):设计基于CardSpace的身份验证系统.zip(7.98 MB)
- [导入]从架构设计到系统实施——基于.NET 3.0的全新企业应用系列课程(1):基于.NET 3.0的系统架构.zip(8.83 MB)
- [导入]从架构设计到系统实施——基于.NET 3.0的全新企业应用系列课程(5):设计基于WPF的客户端.zip(6.98 MB)
- 基于Web的企业级应用因用户UI的友好性,导致大量核心企业应用项目失败---我们该如何应对?
- 基于spring boot的企业项目完成基础框架搭建需要的模块
- 基于ASP.NET WPF技术及MVP模式实战太平人寿客户管理项目开发(Repository模式)课程分享
- 开始连载啦~每周2更共11堂iKcamp课|基于Koa2搭建Node.js实战项目教学(含视频)| 课程大纲介绍
- 基于ASP.NET MVC 3的企业应用项目总结
- 基于IMOOC强力django+杀手级xadmin 打造上线标准的在线教育平台课程的学习(9)——Course models.py的设计
- 项目视频讲解_基于SpringSecurity3.x, JasperReport5.x等技术实现仿金蝶权限管理的企业信息管理系统
- 中小型企业基于大数据技术的项目实践
- 如何实施好基于MOSS的企业搜索项目(上)
- [导入]从架构设计到系统实施——基于.NET 3.0的全新企业应用系列课程(8):为Vista用户设计Gadget.zip(8.67 MB)
- [导入]从架构设计到系统实施——基于.NET 3.0的全新企业应用系列课程(3):设计基于WF的工作流.zip(11.65 MB)
- [导入]从架构设计到系统实施——基于.NET 3.0的全新企业应用系列课程(4):设计基于IIS7和AJAX的网站.zip(7.53 MB)