Node后端开发的几种测试方式

发表于:2017-6-12 09:57

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:天如    来源:51Testing软件测试网采编

  Node 后端开发的几种测试方式
  后端开发中,只需要针对接口(无 GUI)做自动化测试,还是比较容易实现的,所以在开发过程中尽量写好测试。在这里总结下我在工作中用到的测试方法。这里以 Nodejs 的后端开发为例。
  单元测试
  单元测试的重要性不言而喻,算是业界共识了。
  在有完善的单元测试的基础上,可以很方便地做到持续集成。
  提到单元测试,大家很容易想到 TDD,我个人认为 TDD 并不是一件很容易做到的事情,特别是小团队需求多变的时候,往往会追求先出功能后补测试。
  集成测试
  考拉里的集成测试一般是通过一个接口对 N 个方法进行集成,这个接口会调用 N 个方法。这种集成测试是对单元测试的一种补充。
  因为集成测试的粒度比较大,在做测试的时候往往会碰到个很麻烦的问题:怎么准备测试数据?
  准备测试数据
  测试数据存储位置
  使用 js 来存储数据,相对于 json 来说 js 可以编程,例如需要定义一个日期是昨天,json 是做不到的。
  在测试开始前载入测试数据
  准备测试数据是件比较繁琐的事情,建议直接从生产环境拉取用户数据。脱敏后作为测试数据用。
  写个脚本去线上拉取数据
  GenTextUserData.test.js
  关键点:
  mongodump with query
  tosource
  平行测试
  重构用,新写一个方法,新旧方法一起执行,判断结果是否一致。把不一致的结果收集起来。
  效果卓群,可以发现很多意想不到的 BUG。
  但是比较使用范围有限,只能测试只读的方法。
  灰度测试
  最实用,成本很低的方案。
  灰度发布,只有部分人可以使用新功能,观察一段时间。
  全量覆盖测试
  使用大量真实数据来测试,真实数据可以提供足够的样本。
  例如开发一个新功能,把所有用户的数据 load 进来,模拟使用这个新功能,看看是否有报错。
  但是这个做法成本毕竟高,只有重要的功能才需要这样做。
  而且用户数据大于百万级别时,整个测试耗时将非常漫长,可以考虑过滤部分用户把量控制在10万以内。
  人工测试
  在测试环境,作为用户,体验一遍此次开发的功能,看看前面的测试是否有遗漏。
  辅助工具
  HDC
  POSTMAN
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号