[本文出自天外归云的博客园]

多种单测技术

1. 要学会Spring MVC/Boot测试中自带的mock方法。

2. 学会junit中的方法,对于注解的使用等。

3. 学会使用结合第三方Mockito来做mock测试。

一些技巧和概念

1. 对于复杂方法中,要学会如何拆解逻辑,划分单元。

2. 单元测试并不是针对方法级别的测试,而是单元级别的测试。

3. 所谓单元,在软件测试的单元测试中狭义上讲我们通常是指逻辑不可拆分的最小单元,而不是针对某个方法进行测试。

4. 一个方法中可能涉及到多个service的调用,我们要学会mock,将不必要的逻辑,不针对的逻辑mock掉,记住单测是有相对性的,否则就不是单测。

5. 实际的白盒测试中经常将多个逻辑单元组合成不同的场景进行测试,来达到我们对于代码预期效果的测试。所以我们针对一个单元进行测试,也组合多个单元进行测试。

测试后端逻辑的方法有很多

1. 通过对应创建与开发分支对应的测试分支,添加log发布在服务端,在测试的过程中进行观察,这叫日志观察法。

2. 在单元测试代码中调试某一段代码逻辑,观察指定代码块的输出是否符合我们预期,这叫单元观察法。

3. 在单元测试中进行断言测试,这叫断言法。

4. 结合前端请求分析,后端日志分析,数据库查询结果分析,redis查询结果分析,memcache查询结果分析等等综合进行产品的功能逻辑分析,这些都是后端测试常用方法。

如何做好后端测试

1. 发现bug自行分析得出结论,定位问题,尝试修复。在这个过程中,测试与开发的同源性会越来越明显,测试感知度也会越来越强,能够更清晰的理清功能逻辑,有经验的QA在走查的过程中就可以发现一些问题。

2. 能够独立进行前端和后端的开发,熟悉两端通信过程,知道原理,对于请求的来回经过途经何处了然于心,知其然,知其所以然。

Java后端测试概述的更多相关文章

  1. 招聘前端、Java后端开发、测试、Mysql DBA

    公司介绍: http://www.lagou.com/gongsi/43095.html http://www.yamichu.com 简历发到: zhuye@yamichu.com 招聘职位: JA ...

  2. Java后端部署以及与Android通信注意事项

    1 概述 本文列举了一些Android+后端Java通信/部署时的问题以及注意事项,覆盖的问题包括但不限于安全组.数据库.路径等,如果各位读者的Android端不能正常访问Java后端,希望这里的解决 ...

  3. 从app上传图片到php,再上传到java后端服务器的方法一览

    在现在的网络开发中,上传图片类的需求实在是太普通不过了,但是对于怎么样做到上传图片,对于刚开始建立项目的时候,还是有点不知所措的.也许有幸,我们做的项目是之前已经有人写过类似的用例了,那么我们只需要依 ...

  4. (Java后端 Java web)面试时如何展示自己非技术方面的能力(其实就是综合能力)

    这篇文章的适用范围其实不仅限于Java后端或Java Web,不过其中有些是拿这方面举例的,在其它方面,大家可以举一反三,应该也能得到些启示. 我们在面试时,会发现有些候选人技术不错,比如在Java ...

  5. JavaScript前端和Java后端的AES加密和解密

    在实际开发项目中,有些数据在前后端的传输过程中需要进行加密,那就需要保证前端和后端的加解密需要统一.这里给大家简单演示AES在JavaScript前端和Java后端是如何实现加密和解密的. 直接上代码 ...

  6. Java后端程序员都做些什么?

    这个问题来自于QQ网友,一句两句说不清楚,索性写个文章. 我刚开始做Web开发的时候,根本没有前端,后端之说. 原因很简单,那个时候服务器端的代码就是一切:接受浏览器的请求,实现业务逻辑,访问数据库, ...

  7. 以技术面试官的经验分享毕业生和初级程序员通过面试的技巧(Java后端方向)

    本来想分享毕业生和初级程序员如何进大公司的经验,但后来一想,人各有志,有程序员或许想进成长型或创业型公司或其它类型的公司,所以就干脆来分享些提升技能和通过面试的技巧,技巧我讲,公司你选,两厢便利. 毕 ...

  8. java后端学习记录2019

    学习计划 2019年计划 1.学习计算机基础,并加以实践.包括LeetCode刷题.数据库原理(索引和锁.Sql优化等).网络协议(Http.Tcp).操作系统(加深Linux).<Http权威 ...

  9. 第65节:Java后端的学习之Spring基础

    Java后端的学习之Spring基础 如果要学习spring,那么什么是框架,spring又是什么呢?学习spring中的ioc和bean,以及aop,IOC,Bean,AOP,(配置,注解,api) ...

随机推荐

  1. 【LeetCode】235. Lowest Common Ancestor of a Binary Search Tree (2 solutions)

    Lowest Common Ancestor of a Binary Search Tree Given a binary search tree (BST), find the lowest com ...

  2. 终极 Shell

    在开始今天的 MacTalk 之前,先问两个问题吧: 1.相对于其他系统,Mac 的主要优势是什么?2.你们平时用哪种 Shell?…… 第一个童靴可以坐下了,Mac 的最大优势是 GUI 和命令行的 ...

  3. Windbg(2)

    摘抄于:http://www.cnblogs.com/awpatp/category/228209.html Debug相关的一些小技巧 摘要: 1. 如何Debug一个进程的子进程? 答: 使用Wi ...

  4. C/C++查找一定范围内的素数(筛法)

    本文转自于:http://dalu.blogbus.com/logs/37977984.html 由于一个合数总是可以分解成若干个质数的乘积,那么如果把质数(最初只知道2是质数)的倍数都去掉,那么剩下 ...

  5. iOS-获取当前View所在的控制器

    用一个分类,具体: .h #import <UIKit/UIKit.h> @interface UIView (CurrentController) /** 获取当前View的控制器对象 ...

  6. elasticsearch实现按天翻滚索引

    最近在做集中式日志,将应用的日志保存到Elasticsearch中,结合kibana实现集中化日志监控和报警.在设计ES存储的时候.考虑到日志的特殊性,打算采用Daily Indices方式.名称为: ...

  7. Docker学习笔记 ---存储与管理

    存储管理 为了适应不同平台不同场景的存储需求,Docker提供了各种基于不同文件系统实现的存储驱动来管理实际的镜像文件 元数据管理 镜像在设计上将元数据和文件存储完全隔离.Docker管理元数据采用的 ...

  8. 删除wordpress评论表单中的网址文本框

    原始效果如下 想要去掉这个链接表单,一般想到的方法就是找到 comments.php 文件中的对应表单代码删掉.但是现在只需要一段非常简单的代码就可以去除: 代码如下 复制代码 add_filter( ...

  9. 查看指定java进程的jvm参数配置命令之jinfo

    一.查看所有的参数 jinfo -flags PS:3739为JAVA进程ID Attaching to process ID , please wait... Debugger attached s ...

  10. labview中小黑点,小红点

    小黑点:在labview中每一个小黑点就代表了一次内存的分配,通过小黑点可以帮助我们分析数据变量的内存拷贝情况