在构建软件系统时,测试是软件开发工作流程的必不可少的部分之一。作为软件开发人员,都希望编写的程序按预期工作。程序没有BUG,测试可以协助这个目标的达成。本文将讨论一种称为单元测试的测试方法。什么是单元测试?应该如何实施?单测优点和局限性是什么?什么是单元测试单元测试的目标是隔离程序的每个部分并显示各个部分按预期工作。单元测试是由软件开发人员编写和运行的自动化测试,以确保应用程序的一部分(称为单元)
我曾经天真以为,性能测试场景我已经无敌了,可现实又轻轻拍了我一下。研发提出了一个下单之后延迟10s撤单的压测需求,着实让我迷糊了一会儿,最后参考了Java的延迟队列java.util.concurrent.DelayQueue实现了这个需求。需求在某个场景中,我之前的设计是下单,成功的话撤单,原因是为了避免测试用户资产被耗尽。最近研发对服务功能逻辑进行了优化,在回归测试中,发现这个用例测试结果与之
前文提到GoWebSocket开发与测试实践【/net/websocket】(https://mp.weixin.qq.com/s/Yj4vD5AYVWcTlmsbSrxHng),今天分享一下另外一个GoWebSocket实现库gorilla/websocket,这个类库功能这也是我找到资料最多的实现方式。gorilla/websocket得到官方认可的库,如果大家使用Go语言做WebSocket
最近在开发某个功能的过程中,需要调用一个第三方的接口。我查看某个接文档中请求参数示例时候,有点hold不住了,这这么也太复杂了。震惊之余还是得继续工作,然后我刚写了几行代码,就已经重建了三个JSONobject和一个JSONarray对象,属实有点复杂过头了。!接口文档请求参数示例(https://s4.51cto.com/images/blog/202111/19104416_61970f809
之前吹过的牛逼终于实现了,之前分享过一个简化的版本动态模型之增压暂停【FunTester测试框架】(https://mp.weixin.qq.com/s/HRLhZ98dI9yxYEmCIEd6Xg)。今天给大家分享一下动态增减压力的实现的简化版本,总的来说就是在压测过程中随时调整(增加或者减少)压力(线程数)。思路首先要抛弃原有的模型结构,将每个多线程任务都当做一个可管理对象,需要有一个中断方法
最近学习出现了一个分叉:levelDB,前进的路上总有意外,经过短暂学习已经掌握了基本使用,并没有阻碍太长时间。今天就分享一下levelDBAPI在Java&Go两种语言中的基本使用。体验下来levelDB像是个简化版本的Redis,如果作为本地数据库的话,还是非常好用的,特别是用到本地缓存的时候。官方给的使用场景是适合大量写入少量读取,特别适合做性能测试数据记录。以后有机会我会做一个基于leve
测试自动化挑战之一修改SeleniumWebDriver中的请求请求头。我将分享如何使用SeleniumWebDriver修改HTTP请求请求头。什么是HTTP请求头HTTP请求头是HTTP协议的重要组成部分。它们定义了HTTP消息(请求或响应)并允许客户端和服务器与消息交换可选的元数据。它们由不区分大小写的头字段名称后跟一个冒号,然后是头字段值组成。标题字段可以扩展到多行,方法是在每一额外行前至
代码覆盖率VS测试覆盖率
学习完HTTP的基础,自然而然到了WebSocket协议,刚好前两天为了对比Java和Go两种语言WebSocket脚本性能,又实践了一遍,感觉自己已经行啦,特意来写篇文章记录一下。先回顾一下Java和Python关于Socket、WebSocket、Socket.IO相关测试文章。socket接口开发和测试初探(https://mp.weixin.qq.com/s/uhmkbrMp91PP1pQ
无代码Web UI自动化工具Automa初体验
在学习Java语言的过程中,多线程是一个算是进阶的选择。我最近又学到了一个新技能ReentrantLock类,这个应该目前最简单的线程安全使用方式了,当然暴力synchronized除外。首先回顾一下之前的线程安全常用同步类的文章:CountDownLatch类在性能测试中应用(https://mp.weixin.qq.com/s/uYBPPOjauR2h81l2uKMANQ)CyclicBarr
在最近跟粉丝交流的过程中,发现还有有个问题还是困扰了一部分,自动化测试的入门选手:学习Java还是Python?当然有些豪气冲天的选手从不做选择题,他全都要,我想大多数人都只能从中选择一个语言去学习。我昨天在回答类似的问题时候,突然想到另外一个思路,这个解答思路源于我的高中物理老师,这里先感谢一下。如果遇到一个选择题,不要先去看选项,因为选项里面的正确答案隐藏在其他三个错误答案中,这些答案都是某一
拥抱自动化即使通过在每个阶段手动测试代码以获取质量结果,也可以实现连续测试。尽管如此,测试自动化可以加快错误检测的速度以及作为过程一部分的其他一切。在每个阶段更快的解决意味着更快的软件发布。尽管从手动到自动化的转变不可能一蹴而就。但是,一旦实施,从长远来看,肯定会获得巨大的收益。在持续测试框架内实现自动化不仅仅意味着实施优化的回归测试套件。从单元测试开始,验证功能的代码片段和组件测试。这个端到端自
学完了net/http和fasthttp两个HTTP协议接口的客户端实现,接下来就要开始Server的开发,不学不知道一学吓一跳,居然这两个库还支持Server的开发,太方便了。相比于Java的HTTPServer开发基本上都是使用Spring或者Springboot框架,总是要配置各种配置类,各种handle对象。Golang的Server开发显得非常简单,就是因为特别简
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号