开发测试

范围

开发人员-dev的对代码质量的保证方式,进行的代码级别验证或者方法论驱动写出质量能达到要求的代码,非测试人员范围内的测试。java

概念区分

  1. 单元测试 单元测试只测试程序单元自身的功能spring

  2. 集成测试 将全部模块按照概要设计要求组装成为子系统或系统,验证组装后功能以及模块间接口是否正确的测试工做框架

  3. tdd:方法论:写代码只为修复失败了的测试,基于单元测试单元测试

  4. atdd:ATDD是一种团队行为及过程,基于集成测试测试

例如:若是须要启动spring容器来进行,已经属于集成测试范围,参考springdoc,spring-test包自己定义为集成测试,单元测试须要mock注入;设计

mock东西太多,因此咱们会启动spring容器来注入;但若是是tdd这种运行速度确定不是咱们能接受的。
方法论接口

现状与问题

有鄙视没有单元测试的代码,有以为没有测试就无法写代码的,但项目里面不少处于中断使用或者干脆没有。缘由各类各样,最后结果是没有作或者中途中止。开发

常见以下:it

  1. 没有流程上统一约束,全靠开发自身决定test

  2. 没有可度量的方式,没法衡量

  3. 进度缘由放弃,意味着价值比例整体仍是体现占比较小

  4. 简单业务crud,很明显,没几行业务代码,是否值得测试,大量依赖其余系统的测试又须要不少mock

  5. 集成测试调用外部系统没法反复进行,对其余系统形成的脏数据问题

尝试改进

经过测试增长代码质量,这件事自己可能会遇到不少难点,不是搭建一个demo的测试框架就能够解决。测试可能会促进你代码的改变,好比mock太多

提供统一框架,仅可能解决一些常见点,但具体问题仍是一个个解决。ATDD要求总体流程配合,先作单元测试与集成测试的交集点。

简单crud经过测成准备数据解决,复杂逻辑须要单元测试覆盖,再集成测试仅可能覆盖。集成测试一些点能够mock,好比外部调用。

准备结合咱们项目选用测试集成以下:支持动态语言groovy并支持javaspock spring-test H2 junit jersey-test Mockito

相关文章
相关标签/搜索