因为开发测试对于技术的要求来的是没有那么高的,只要求你会一点点的编码就可以了而前端要求你是各个技术能力都要求精通,而且在面试招聘的时候测试的要求都没有前端技术的要求高,所以开发测试更容易上手一些。
前端见效快,范围广
渗透测试,范围窄,但深度深
谢谢邀请!
为什么需要单元测试?
测试的作用当然是为了找出存在的问题,虽然在上线前需要经过QA测试,但是往往有很多逻辑是QA不了解的或者是不容易触发的,其次做好的QA还是开发者本身,只有自己最了解自己的代码,可以利用单元测试全方位的对代码进行体检,减少线上bug率!
需要单元测试的场景
理论上任何代码都需要单元测试,虽然对开发者的能力要求不算太高,但是会导致开发周期加长,所以个人理解是高复用率的代码需要单元测试,比如组件、开源代码、工具等等,业务代码不太适合做单元测试!
测试框架
karma
jasmine
mocha
jest
这些比较流行
什么是karma?
不是测试框架,只是一个web服务器,需要自己配置测试框架,比如jasmine等
在连接它的浏览器上执行测试代码,可以做调试,在本地控制台可以查看单侧结果
可以配置多样的报表
测试框架特点
mocha最流行,社区最成熟,需要引入断言库,简单,灵活,支持promise,也可以添加对generators的支持
jasmine适合tdd测试,没有依赖,社区大,通过‘done’支持async和promise测试
jest mock简单,运行速度快,支持dom测试,支持RN测试等
如何选择框架?
断言库是否好用
测试风格:测试驱动 or 行为驱动
对异步是否支持良好
社区是否活跃
测试结果
测试会生成报告,考虑覆盖率的四个维度
行覆盖率:是否每一行都执行了?
函数覆盖率:是否每个函数都调用了?
分支覆盖率:是否每个if逻辑都执行了?
语句覆盖率:是否每一条语句都执行了?
喜欢偶的回答就关注偶吧,有问题可以发表评论,大家一起学习,共同成长!