首页
学习
活动
专区
工具
TVP
发布

Python自动化测试

专栏作者
258
文章
261822
阅读量
137
订阅数
BTrace监控调试(一)
在前面的服务端性能测试实战系列文章中详细地介绍了性能测试中性能测试的理论,以及针对JVM中它的监控和GC日志输出等信息。当应用程序部署后,也可以通过动态的方式来关注应用程序中需要关注的信息。BTrace通俗的理解就是应用程序在运行的情况下可以动态的修改程序的字节码,通过这样的手段可以达到针对运行的应用程序监控调试的目的,通过BTrace可以动态的实现向目标应用程序的字节码注入追踪代码,下面详细的介绍下这部分的案例应用。
无涯WuYa
2023-02-28
2860
内存泄漏分析
在内存映像文件导出中详细的介绍了当应用程序出现内存泄露的时候自动导出内存映像文件。在实际的生产环境中主要是使用jamp通过命令行的模式来导出内存镜像文件,下面详细的阐述下这个过程。
无涯WuYa
2022-12-03
1.8K0
内存映像文件导出
在测试IO密集型应用程序的时候,当出现内存泄露的时候,往往需要针对这部分进行分析内存泄露的具体原因。常规的一种方式是我们使用JVM的监控工具来监控这部分,来查看堆内存以及非堆内存的实际使用率和过程中应用程序本身的CPU使用率。但是被测试的服务一旦出现内存泄露,该服务就会疯狂的打印内存泄露的日志信息同时客户端请求服务,服务一直处于超时的情况。那么这个时候如JVisualVM的监控也会失去连接,并不能够看到很关键的信息。所以下面详细的阐述下当被测试的服务一旦出现内存泄露的时候,使用自动导出以及命令行导出的方式来获取到内存映像的文件,从而对分析内存泄露提供有利的信息。
无涯WuYa
2022-12-03
1.2K0
搭建监控基础设施
在性能测试的过程中,需要关注到各个不同维度的资源变化趋势的过程,比如操作系统中CPU与内存以及平均负载资源变化的趋势,当然还有很多的指标。主要需要关注的是DB资源,操作系统资源,被测服务的资源,以及其他涉及到的中间件(RabbitMQ,Kafka,Nginx,Redis等)的资源。那么针对这些涉及到的资源需要进行监控和关注,这样的好处是在最终分析性能测试的结果中可以结合各个不同资源来分析存在的问题。比如请求一个列表耗时非常长,那么过程到底是数据库的问题,还是服务本身的问题以及服务对应的操作系统资源瓶颈导致的问题,其实在这个过程中,这些都是存在可能性的,所以在具体排查的过程中,就需要知道在这个过程中各个资源的变化趋势,可以借助这些信息来定位到底是什么导致了请求耗时长的问题。因此,在性能测试的过程中,针对资源的监控是非常重要的。
无涯WuYa
2022-12-03
3340
如何系统学习接口测试?
接口测试技术可以说是测试的基本功,这主要的核心原因是管理层需要测试需要有更高的业务交付的能力,能够在有效时间内快速完成业务的同时又满足质量发布的标准,坦白说,这是一个挑战,但是现实情况就是如此。第二个原因是新技术的落地以及在企业的应用,这个过程中测试需要更多的聚焦于底层服务的质量保障,而不是传统模式中在页面上进行输入输出的一个校验过程。
无涯WuYa
2022-12-03
4170
性能测试中等待队列
在调度算法中详细的介绍了不同调度方式在程序中的调度策略,下面继续沿着调度的思路来说在性能测试中的等待队列。调度的核心是为了让底层的服务始终保持在一个可持续运行的一个状态中,再说的具体点就是保持服务的高可用,这样的方式对服务层而言是非常有利的。但是如果客户端发送请求的任务太多,那么就涉及到排队等待,核心是等待时长到底来如何设计了?
无涯WuYa
2022-12-03
4630
混沌工程中数据库调用延迟
混沌工程的核心是通过实验的方式来验证系统在稳定下下它的不稳定性,从而通过混沌工程实验的方式来模拟这种情况并给出合理的解决方案,所以它最重要的不是混沌实验,而是实验背后的解决方案。业内最早实践混沌工程的公司是Netfix,混沌工程具体它的定义为:“混沌工程是一门在系统上进行实验的科学,目的是建立系统抵御生产环境中失控情况的能力以及信心”。比如在生产环境中数据库的实例突然瘫痪,云服务器的实例突然消失以及底层服务出现雪崩等等一系列的故障情况下,这个时候整个系统层面需要考虑的是出现这种极端以及很平常的故障下,如何使用技术的手段来保障系统依然能够给客户提供价值从而保障系统的可用性,特别是在分布式架构下服务复杂的调用链以及涉及众多中间件,更加需要考虑在异常的情况下系统的伸缩性和高可用性。
无涯WuYa
2022-12-03
7010
Pytest测试实战
Pytest测试框架是动态语言Python专用的测试框架,使用起来非常的简单,这主要得易于它的设计,Pytest测试框架具备强大的功能,丰富的第三方插件,以及可扩展性好,可以很好的和unittest测试框架能够结合起来在项目中使用。本文章主要介绍Pytest测试框架中参数化的详细信息。
无涯WuYa
2022-06-16
7700
Thrift接口测试实践
Thrift是Facebook实现的一种高效的并且支持多种主流编程语言的远程服务调用的框架,Thrift服务器包含了用于绑定协议和传输层的基础架构,也是基于HTTP/2.0的版本实现,Thrift提供阻塞,非阻塞,单线程,多线程的模式运行在服务器上,结合容器化技术可以实现无缝的对接。
无涯WuYa
2022-06-16
6910
自动化测试价值与质量
产品质量很难孤立的去看,不管是自动化测试团队还是业务测试团队,最终的目的都是为了产品质量服务,从而打造很酷很好的产品来赋能客户。但是现实的情况很多时候并不是这样的,往往是测试开发团队会开发很多的工具,也会做很多的自动化测试,业务团队的测试人员并没有感到轻松,随着产品的体系越来越大的时候,这种压力会递增式的增加,在这个过程中,就得需要重新来思考自动化测试的价值和质量内建这部分。
无涯WuYa
2022-04-27
5500
基于Docker的可持续交付
在测试的立场上,希望开发编写的代码都是经过开发的单元测试的,但是事实上,这中间总是存在理想和现实的差距,既然如此,我们何不来开发部署环境后,对服务进行自动化测试验证了。整体的设计思路就是开发编写的代码,使用Dockerfile构建成镜像文件,然后使用docker-compose自动化启动镜像文件,下一步其实就很简单了,我们测试这边进行智能化的自动验证,其实在前面的文章体系中,介绍中智能化测试完成后,在测试结束的时候出具体的测试报告以及如果存在问题,触发整体报警的机制。本文章系列中主要结合CI持续集成的工具,把这个过程完全的自动化,以及智能化的过程。当然,使用的技术栈主要是Spring Boot。
无涯WuYa
2021-12-31
3620
页面对象设计模式详解
在前面的技术文章中已经很系统的介绍了UI自动化测试的技术栈的知识体系,但是在维护的成本而言还是需要考虑进一步的优化,那么我们可以使用页面对象设计模式,它的优势具体可以总结为如下:
无涯WuYa
2021-12-02
9140
服务端测试之业务关联
在整体的测试效率而言,API测试技术是提升测试效率最有效的手段之一,因为它的执行效率是非常高的,另外一点就是前后端的分离开发的模式,也需要我们更多的精力和时间投入到API的测试技术以及API的测试技术在企业的落地和应用。当然,这仅仅是功能层面的,还需要考虑非功能的点,比如队列,调度机制,服务的性能测试,稳定性的因素,这些是非常多的。在本篇文章中,只单纯的考虑API测试技术中关于关联的解决思路和案例应用。API测试的核心,其实并不在于单个API的测试,单个API无法保障业务的覆盖度,所以我们更多需要结合业务场景来测试这些点,但是一旦结合具体的业务场景,也就涉及到关联的思路,所谓关联,其实我们可以理解为上个API的输出是下个API的输入部分。下面结合主流的测试工具以及代码来演示这部分的具体解决方案和案例实战。
无涯WuYa
2021-12-02
4930
Docker镜像的导入导出
在企业案例中,我们往往打包成一个镜像后,就会打包,然后把它发送给其他的同学来使用。其实这样的场景是很普遍的,比如开发和测试同学都在异地的开发模式中,开发同学更新完代码后,进行发布并且使用Docker进行打包成镜像,那么可以把镜像文件直接发送给测试同学,测试同学导入镜像后,运行镜像就可以直接进行测试。那么在本案例中,我主要包一个centos的镜像,里面也是安装了vim的编辑器,然后再在另外一个docker的导入和执行。
无涯WuYa
2021-12-02
1K0
UnitTest测试框架全栈详解
从软件架构的⻆度来说,测试最重要的步骤是在软件开发的时候界入比较好,所以在早期测试的界入,从软件经济学的⻆度上来说,发现的问题解决成本低,投入的资源比较少。因此,对一个测试的系统,开始最佳的测试就是源代码级别的测试,也就是单元测试阶段,这个过程也被成为白盒测试。单元测试是最基本也是最底层的测试类型,单元测试应用于最基本的软件代码,如类,函数。方法等,单元测试通过可执行的断言检查被测单元的输出是否满足预期结果。在测试金字塔的理论上来说,越往下的测试投入资源越高,得到的回报率越大,⻅测试金字塔模型:
无涯WuYa
2021-11-16
6090
Selenium3元素定位详解与封装
在学习自动化测试之前,首先需要思考清楚的是为什么需要学习自动化测试,以及今天业界谈的研发效能对测试而言意味着什么?其实这就需要在测试以及整体研发的角度来思考问题,在今天这样的市场环境中,打造高质量的持续交付产品质量,基本是所有互联网研发团队的测试团队都追求的一个方向。在敏捷流行的今天,以及新的技术在企业全面的落地,在测试而言,就需要通过测试技术的手段以及质量管理的思维能力,来提升测试效率,和交付满足市场期待的产品质量。自动化测试是所有测试形式里面在目前而言,是最基础的也是最核心的,因为自动化测试连接了功能测试以及高阶的测试开发的测试技术栈的知识体系。即使初级的测试同学,也得具备自动化测试的思维能力和技术能力。
无涯WuYa
2021-10-13
8710
持续交付之测试报告
在Gitlab自动触发执执行和Gitlab的CICD执行中详细了演示了API测试框架的执行过程。本文章主要在CI中整合Allure的测试报告。
无涯WuYa
2021-08-27
5150
服务端测试之进程通信
在Python中,进程之间互相隔离,但是进程之间是需要互相通信的,在进程中可以通过两种方式实现进程之间的数据通信(传输):队列和管道。这两种方式都可以实现消息的传递。队列使用到的关键字是Queue。下面具体演示队列方法的基本使用,具体案例代码如下:
无涯WuYa
2021-08-27
3230
轻量级测试框架Tavern(一)
Tavern是一款轻量级的测试框架,集合Pytest的测试框架,可以把测试的描述信息(API的请求信息)以及测试断言都可以编写在Yaml的文件中,然后结合Pytest的测试框架直接解析Yaml就可以来批量的执行。在Tavern的测试框架中,它追求的是“Easier API testing”的设计理念,不过从目前实践的应用来看,它是符合这样的一种简单的模式的,Easy to Write, Easy to Read and Understand。
无涯WuYa
2021-07-09
8620
Kafka之消费者模式(六)
前面系统的介绍了Kafka的生产者模式以及常用命令的操作,和它的监控的信息查看。其实不管是在协议层的维度,还是在MQ的维度,它的模式都是生产者与消费者的模式,本质上可以理解为拿到数据(可能来自第三方),进行生产后,最后对这些数据进行消费。如果生产者大批量的生产数据,消费者可能就会出现数据的积压以及最终导致堵塞,在Kafka的系统里面,面对这样的情况,通常可以参加多个消费者的程序来保持水平的扩展,从而解决积压导致堵塞的问题。
无涯WuYa
2021-05-31
1.1K0
点击加载更多
社区活动
RAG七天入门训练营
鹅厂大牛手把手带你上手实战,赢鹅厂证书、公仔好礼!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档