
软件测试
文章平均质量分 58
ljyfree
网络,通信,SDN,云计算,开源
展开
-
基于gitlab API刷新MR的commit的指定status
自己部署的gitlab + Jenkins每个MergeRequest都可以触发多个Jenkins pipeline,pipeline结束后会将状态更新到gitlab希望可以跳过pipeline运行,直接将指定的MR的指定pipeline状态刷新为success。原创 2024-12-05 09:46:23 · 645 阅读 · 0 评论 -
对已经运行的flask服务测试代码覆盖率
上一篇文章《》展示了用pytest的测试用例验证flask的函数,获取代码覆盖率信息。但是上述方法要求web服务没有提前启动,而是由pytest来启动,然后运行测试用例。那么对于已经启动的web服务,能否也用pytest来做代码覆盖率的验证呢?答案是肯定的,需要使用。原创 2024-09-29 11:09:29 · 375 阅读 · 0 评论 -
用pytest-cov获取flask项目的测试代码覆盖率
本文举了一个简单的例子,用来展示如何用pytest的测试用例验证flask的函数,获取代码覆盖率信息。原创 2024-09-29 08:59:18 · 573 阅读 · 0 评论 -
meson+ninja获取C源码代码覆盖率
meson+ninja生成C源码的代码覆盖率报告原创 2024-08-30 09:05:05 · 521 阅读 · 0 评论 -
学习使用meson+ninja构建C语言工程(含单元测试)
Meson是一个高效、易用且跨平台的构建系统,主要用于描述和管理项目的构建过程。Meson 使用简洁的配置语言来定义项目的构建规则,并生成 Ninja 构建文件以实际执行构建任务。Ninja是一个轻量级的构建工具,专注于快速并行构建。它通过构建任务的依赖关系图,实现高效的并行构建,从而加速项目的构建过程。CMocka则是一个适用于 C 语言的单元测试框架,用于编写和执行单元测试,验证代码的正确性。原创 2024-08-23 09:27:04 · 1362 阅读 · 0 评论 -
使用semgrep做代码规范扫描
关于如何用semgrep编写检查代码规范原创 2024-07-11 11:06:23 · 1502 阅读 · 0 评论 -
通过一个例子理解pytest的fixture的使用
【代码】通过一个例子理解pytest的fixture的使用。原创 2023-11-23 09:54:05 · 618 阅读 · 0 评论 -
涉及gcc wrap的一个问题的探索
尝试在基于cmocka的单元测试中加入打桩,发现了一个原创 2023-01-30 14:50:32 · 538 阅读 · 1 评论 -
基于gtest/gmock/mockcpp的单元测试探索
gtest/mockcpp的探索原创 2023-01-14 18:12:23 · 1886 阅读 · 0 评论 -
基于soft-RoCE运行OSU Micro Benchmark
基于Soft RoCE运行OSU Micro Benchmark原创 2022-11-17 14:04:21 · 755 阅读 · 0 评论 -
Linux虚拟机部署运行OSU Micro Benchmark
Linux部署运行OSU Micro Benchmark原创 2022-11-15 14:38:58 · 1489 阅读 · 2 评论 -
记录pytest-assume失效的一个问题
在使用pytest的时候,希望在teardown阶段能够产生最终fail的结果,但是不要影响teardown中所有步骤的执行,立即想到了pytest-assume,然后验证的结果出乎我的意料之外。基本case基本测试用例如下pytest@Ubuntu18:~$ cat test_demo.pyimport pytestclass Test_Demo(): def setup_method(self): pass def teardown_method(s.原创 2021-08-23 07:50:09 · 1103 阅读 · 0 评论 -
利用pytest_collection_modifyitems调整pytest运行顺序的坑
对pytest的测试用例运行顺序想做一下调整,在使用pytest_collection_modifyitems的过程中掉到一个坑里,特此记录一下。需求简化后的需求就是,希望pytest按照原来的反序执行测试用例通过pytest_collection_modifyitems来实现不用pytest-ordering,是因为不想把这个顺序写死在case里脚本$ cat test.py import pytest class TestDemoA: def test_A_003.原创 2021-07-19 17:15:58 · 496 阅读 · 2 评论 -
解决一个pytest的fail-list保存和运行的问题
Pytest的优势是可以自动搜索测试用例并执行,并且还会自动保存上次运行fail的用例列表,但是在实际应用中还是有不方便的地方。遇到的问题在实际回归中,很可能是这样操作的运行10个case,结果有5个是fail的开始逐个调试这5个case调完之后准备单独把之前fail的5个case连跑此时如果带上“–last-failed”运行pytest,跑的是最后一次fail的case,并不是我想要的结果分析问题首先要明确fail的case列表存在哪里,其实就存在运行pytest的隐藏目.原创 2021-03-24 08:13:19 · 269 阅读 · 0 评论 -
使用getopts提取参数的一个问题的解决
在封装pytest的命令过程中遇到一个问题,记录一下解决方法。getopts是一个非常好用的shell工具,方便提取参数,例如$ ./script -a 123 -b 456但是如果最终的参数,一些是这样的参数对,剩下的参数只是想直接跟在后面,不做这样的参数解析提取,该怎么办呢?例如pytest可以直接跟多个文件或是文件夹,但是我又想方便地添加一些参数。最后解决方法如下:$ cat run.sh#!/bin/bashfunction show_help_and_exit(){ .原创 2020-11-26 08:28:20 · 221 阅读 · 0 评论 -
利用docker部署loganalyzer
因为监控的需要,想要部署一个log server,想起了之前搭建过的loganalyzer。前段时间一直用docker,何不用docker来搭建?寻找loganalyzer docker网上一搜,果然找到了有人已经build好了,戳这里。事情不会这么简单吧?docker运行起来发现,不会接收log。进一步定位发现,UDP的514端口根本没有打开,mysql/rsyslog都没有安装。看来这只是一个Webapp的空壳。自己动手既然这是一个Debian9的系统,那么是不是在上面安装配置好mysql/.原创 2020-11-07 08:14:39 · 1101 阅读 · 1 评论 -
推荐一款pytest插件——pytest-live
pytest虽然好用,但是有个问题是要等到所有case都跑完才会出最后的结果(pytest-html)。很自然的需求就是能不能在跑的过程中,实时查看已经跑过case的情况?pytest-sugar虽然能显示进度和大体情况,能不能有更好的显示的插件?pytest-live就是这样一款好用的插件,安装非常简单pip install pytest-live然后在运行的时候,加上pytest --live=True --livetimestamp=True在运行的目录里,会生成一个pytest_.原创 2020-09-29 11:35:41 · 350 阅读 · 0 评论 -
Jenkins docker搬运过程中的插件问题
引子因为内网网络访问受限,所以准备现在外网启动jenkins的docker,然后把一堆插件都装上 ,再搬移到内网运行,期望插件就都有了。操作流程外网主机上启动Jenkins dockersudo mkdir /var/jenkins_nodedocker run -d --name myjenkins -p 9090:8080 -p 50000:50000 -v /var/jenkins_node:/var/jenkins_home jenkins_with_plugin登录http:原创 2020-08-28 17:44:34 · 399 阅读 · 0 评论 -
SONiC(3):手动运行docker ptf
尝试直接启动确认ptf这个docker是存在的testbed@u1804-vm:~$ docker images | grep ptfsonicdev-microsoft.azurecr.io:443/docker-ptf latest b8abca09d487 5 weeks ago 792MB没有的话手动拉到本地testbed@u1804-vm:~$ docker pull sonicdev-microsoft.azurecr.原创 2020-08-13 15:05:18 · 884 阅读 · 0 评论 -
SONiC(2):手动运行sonic-vs
SONiC的testbed都是用ansible自动部署的,下面尝试手动来创建准备工作ansible生成的vlab-01这个虚机的vir配置xml文件如下testbed@u1804-vm:~$ ll /etc/libvirt/qemu/vlab-01.xml -rw------- 1 root root 10993 7月 23 08:01 /etc/libvirt/qemu/vlab-01.xmltestbed@u1804-vm:~$testbed@u1804-vm:~$ sudo ca.原创 2020-08-13 10:24:24 · 1525 阅读 · 1 评论 -
使用Python记录CPU内存使用率变化
总体思路使用python脚本每隔1秒获取CPU和内存的使用率,并记录到csv文件中利用Excel/WPS表格的折线图汇出结果运行Python脚本需要使用psutil这个包,可以直接安装python-psutil或者通过pip install psutil先给出参考代码$ cat resource_record.py #!/usr/bin/python import psu...原创 2020-04-30 14:08:27 · 1756 阅读 · 0 评论 -
SONiC(1):运行SWSS测试用例
参考:https://github.com/Azure/sonic-swss/blob/412c5ebd1762f94afc51b1129f54a27a53f132bb/tests/README.mdhttps://github.com/Azure/sonic-swss-common/blob/7ee11792342f2673ea6905952d556e3f9a27234d/README.m...原创 2020-04-28 16:13:41 · 1057 阅读 · 0 评论 -
记录生成离线pytest依赖包
因为需要在一台访问外网受限的Ubuntu主机上安装pytest,记录一下如何生成离线依赖包。准备先找一台可以接入外网的主机更换pypi源root@eve-ng:~/deb_package# vim ~/.pip/pip.conf [global]index-url = http://mirrors.aliyun.com/pypi/simple/[global]index...原创 2020-04-27 09:30:25 · 1088 阅读 · 0 评论 -
谈测试(5):测试人员对自己的定位
按照我的理解,测试人员对自己的定位,对测试工作的认知高度,直接决定了自己能到达的水平。第一个层次:找bug软件开发人员交付给测试之后,测试人员开始针对该软件版本进行测试验证,寻找其中的问题。在这个阶段,能够源源不断找出问题,摸索出自己的测试思路,能够借助自动化工具进行规模和压力测试,都可以获得一定的成就感和能力提升。软件开发人员因为需要用代码来实现功能,因此具体实现细节上肯定比测试人员更...原创 2020-04-09 08:31:44 · 468 阅读 · 0 评论 -
谈测试(4):测试的“输入”和“输出”
测试的“输入”所谓的“输入”,就是测试同学能够搜集到的信息,包括但是不限于:客户的原始需求和产品实现具体的方案“别人家”是如何实现的开发提供的相关文档自身(包括)团队的技术积累无论是做什么产品,满足客户的需求都是最重要的,这个直接会体现在客户满意度和销售量上。那么理解客户的原始需求是非常重要的起点和根基。如果对需求理解出现偏差,那么就会导致“南辕北辙”的后果,越是投入,越是努力,浪...原创 2020-04-09 08:30:54 · 3386 阅读 · 0 评论 -
谈测试(3):问题单的处理
在测试的过程中,测试人员对发现的问题(bug)进行记录跟踪,除了对于问题本身的解决非常重要之外,也是衡量测试和开发工作质量和产出的重要依据。现在有很多成熟的问题单跟踪软件或者叫管理系统,例如Jira和bugzilla。每个问题单都有自己的生命周期,下面对于各个阶段进行一下简单描述。问题单的创建记录问题是在哪个平台上出现的,属于哪个模块,出问题的是哪个版本当时出现这样的问题是做了哪些操作...原创 2020-04-09 08:29:52 · 966 阅读 · 0 评论 -
谈测试(2):测试部门的分工
决定分工程度的,还是要看测试部门的规模和工作量。例如只有两个人,那么埋头干就是了,反正不是我做就是你做。如果是成百上千人的测试,这种规模我是无法体会的。下面主要就十几几十个人的测试团队进行一下描述。第一类 管理人员负责测试团队管理的人,需要对公司发展方向和产品规划有比较清晰的认识能够分清楚测试任务的轻重缓急,尤其是哪些事情是不应该占用资源的对下属的能力和优势比较了解,着眼于团队的培...原创 2020-04-09 08:28:38 · 1331 阅读 · 0 评论 -
谈测试(1):对测试的一些误解和澄清
观点1:测试只是开发的附庸我的理解:回答这个问题其实很简单,只需要反问一下为什么需要设置测试这个岗位,让开发人员自己来验证为什么不行。首先开发人员在开发工程中是存在一些思维定势的,在测试的时候有意无意有可能会绕开一些坑,因此必须引入其它人员来做测试验证。由此可见,测试人员的独立思维非常重要,需要考虑到测试覆盖的广度和深度。对于开发给出的测试建议只能是作为参考,测试人员必须形成对产品的应用场景...原创 2020-04-09 08:27:46 · 225 阅读 · 0 评论 -
谈测试(0):为什么要写这个系列文章
笔者从事网络交换机测试多年,回想起来,当初进入测试这个行业也有一些误打误撞的原因。随着市面上IT公司对于测试这个行业越来越重视了,专心能够做好测试已经可以算是一条技术上升的正路。可是我始终没有找到一套专门讲测试的目的/途径/衡量标准的资料,于是萌生了自己试着写一下的冲动。现在招聘网站上能够看到的需求最多的是测试网络服务或是APP的测试岗位。但是我觉得,在测试这个行业,还是有一些东西是相通的,想必...原创 2020-04-09 08:27:08 · 119 阅读 · 0 评论 -
Web服务加Jmeter模拟多线程通信
在测试的过程中,需要模拟多线程通信,马上想到了Jmeter启动多线程去访问Web服务器实现,先简单验证一下搭建web服务器已有的CentOS7.2主机上,安装并设置好http服务# yum install httpd -y # vi /etc/httpd/conf/httpd.confListen 80DocumentRoot "/var/www/html"[root@lo...原创 2020-04-09 08:25:15 · 312 阅读 · 1 评论