【DevOps进行时】自动化测试之单元测试
在DevOps建设中,主流的测试分层体系可以分为单元测试、接口测试和界面测试。Google曾提出一个经验法则:70%的小型测试,20%的中型测试,10%大型测试。当然,这...
·
-
单元测试 粒度最细,外部依赖少,适合开发团队快速排查错误,从而保证代码质量和异常处理; -
接口测试 相对界面测试成本较低,可以在标准的开发环境下运行,效益较高; -
界面测试 最为直观,但成本高,外部依赖多,实施起来最困难,接口测试和界面测试保证了产品的质量和数据验证。
一、单元测试
-
对于面向过程语言,单元是一个函数; -
对于面向对象语言,单元是一个类; -
如果是图形化软件,单元可能是一个窗口或者菜单。
-
强制性测试包括: 模块接口、局部数据结构、出错处理; -
推荐性测试包括: 路径测试、第三方服务、数据访问层、超时测试。
-
模块接口测试,指对通过被测模块的数据流进行测试; -
局部数据结构,要求检查数据类型说明、初始化、缺省值等; -
出错处理,指检查错误处理功能是否包含错误; -
路径测试,指对基本执行路径和循环进行测试,建议覆盖所有的逻辑语句; -
超时测试,指测试生产代码在某些情况下的运行时间是否会超过可容忍程度; -
数据访问层测试,指验收数据访问框架与SQL语句的联合正确性; -
第三方测试,指检查代码是否成功调起第三方服务。
二、自动化单元测试
-
通过版本控制系统实现配置管理; -
由构建工具来管理依赖; -
测试框架方便测试用例编写和批量测试; -
通过反馈平台可以很方便的查看测试结果。
三、农行自动化单元测试实践
-
单元测试、打包、部署等都通过Maven的生命周期管理,测试用例的编写遵循Junit规范; -
项目的构建可以通过代码提交,也可以通过定时按周期触发; -
构建结束后在TFS上能够看到构建单元测试历史,以及单元测试代码覆盖率等信息。
【作者简介】叶岚
2009年加入农行,现任软件开发中心项目管理办公室质量控制组高级专员,从事测试过程管理和质量控制相关工作。
更多推荐
已为社区贡献41条内容
所有评论(0)