博客
关于我
软件测试框架与应用方法
阅读量:75 次
发布时间:2019-02-26

本文共 1407 字,大约阅读时间需要 4 分钟。


随着互联网的不断发展,越来越多的程序员都在学习软件测试技术,而今天我们就一起来了解一下,软件测试框架与应用方法。

测试框架

单体架构时,团队的测试主要依赖基于Selenium的集成测试和后检查测试,基于Rails的单元测试略有欠缺。转到微服务架构后,为了满足新的需求,测试框架也进行了相应调整。测试金字塔可以很好地帮助我们区分不同层次测试的关注点。金字塔从下层到顶层依次为单元测试、集成测试、端到端测试和性能测试。其中,越靠近金字塔的底端,一般而言测试速度越快,反馈周期也越短,测试发现问题后更容易定位受影响的功能;越是靠近金字塔的顶端,测试覆盖的范围越大,但需要花费更长时间完成测试,经过测试后功能的正确性也更有保证。

单元测试

“单元”是软件的小可测试部件。单元测试就是软件开发中对小单元进行正确性检验的测试,它是所有测试中底层的一类测试,由开发人员在开发代码时同步编写,是一个也是重要的一个环节。

团队后端开发使用的语言是Go,Go语言自带有一个轻量级的测试框架testing,可使用自带的gotest命令进行单元测试。同时,我们使用了TDD,即在开发功能代码之前,先编写单元测试用例,以测试代码来确定需要编写的产品代码,提高代码质量。

Mock实践

单元测试的编写往往有独立性的要求,很多时候因为业务逻辑复杂,代码逻辑也随之变的复杂,掺杂了很多其他组件,导致在编写单元测试用例时存在比较复杂的依赖项,如数据库环境、网络环境等,这些增加了单元测试的复杂度和工作量。

Mock对象就是为解决上述问题而诞生的,mock对象能够模拟实际依赖对象的功能,同时又省去了复杂的依赖准备工作。当前,在核心业务团队Go代码库中,存在2种mock实践。一种是和mockery结合使用的Testify/mock,另一种是和mockgen结合使用的Go/gomock。

Testify/Mock

Testify包中一个优秀的功能就是它的mock功能,在进行单元测试时,代码中往往有大量的方法和函数需要模拟,此时vertra/mockery就成为了我们的得力助手,mockery的二进制文件可以找到任何在Go中定义的interfaces的名字,然后自动生成模拟对象到mocks文件夹下对应的文件中。

Golang/mock

Gomock是Google开源的golang测试框架,gomock通过mockgen命令生成包含mock对象的.go文件,它可以根据给定的接口自动生成代码。这里给定的接口有两种方式:接口文件和实现文件。


如果你也想在2021人才争夺战中

夺得一席之地

进入高薪有前景的行业

这都是可行的


最后:自动化测试(视频、面试)赠送一波

我推荐一个群吧!测试员~~来吧,313782132(Q群里有技术大牛一起交流分享,测试学习资源的价值取决于你的行动,莫做“收藏家”)获取更多大厂技术、面试资料

如果对python自动化测试、web自动化、接口自动化、移动端自动化、面试经验交流等等感兴趣的测试人,可以关注微信公众号:【伤心的辣条】,获取软件测试工程师大厂面试资料!

最后:

凡事要趁早,特别是技术行业,一定要提升技术功底,丰富自动化项目实战经验,这对于你未来几年职业规划,以及测试技术掌握的深度非常有帮助。

如果文章对你有帮助,麻烦伸出发财小手点个赞,感谢您的支持,你的点赞是我持续更新的动力。

推荐好文:

转载地址:http://ktvk.baihongyu.com/

你可能感兴趣的文章
Nginx keepalived一主一从高可用,手把手带你一步一步配置!
查看>>
Nginx Location配置总结
查看>>
Nginx log文件写入失败?log文件权限设置问题
查看>>
Nginx Lua install
查看>>
nginx net::ERR_ABORTED 403 (Forbidden)
查看>>
vue中处理过内存泄露处理方法
查看>>
Nginx RTMP 模块使用指南
查看>>
Nginx SSL 性能调优
查看>>
nginx ssl域名配置
查看>>
Nginx SSL私有证书自签,且反代80端口
查看>>
Nginx upstream性能优化
查看>>
Nginx 中解决跨域问题
查看>>
nginx 代理解决跨域
查看>>
Nginx 做负载均衡的几种轮询策略分析
查看>>
Nginx 入门,一篇搞定!
查看>>
Nginx 利用代理转发请求示例
查看>>
Nginx 动静分离与负载均衡的实现
查看>>
Nginx 反向代理 MinIO 及 ruoyi-vue-pro 配置 MinIO 详解
查看>>
nginx 反向代理 转发请求时,有时好有时没反应,产生原因及解决
查看>>
Nginx 反向代理+负载均衡
查看>>