- 博客(49)
- 资源 (8)
- 收藏
- 关注
转载 代码覆盖率在手工测试上的实践(转自网易数帆)
同理,一个版本的测试必然发现bug,必然出现代码的更新和重部署,虽然不需要切分支,但也需要重启服务,问题依然存在。以上介绍的是一些最普通的覆盖率统计过程,通过查看Jacoco的源码,我们可以发现很多个性化的设置,帮助我们实现各种实际测试过程中的特殊需求,比如手工覆盖率。测试服务器上开启tcp端口,Jacocoagent作为服务跟随项目进程启动并监听测试过程、记录测试覆盖的数据,同时监听客户端Jacocoant通过Socket发送的请求,诸如生成测试覆盖率文件、映射源码得出测试报告等。不同版本的覆盖率情况。
2023-05-11 18:16:07
564
1
原创 mac python3.0安装scrpy 抛出异常architecture not supported
问题原因:xcode 12编译了ARM64 版本的二进制文档导致了异常的抛出解决方法:启动的时候增加一个环境变量:ARCHFLAGS="-arch x86_64" ,强制使用 x86_64的架构: ARCHFLAGS="-arch x86_64" pip install scrapy...
2020-11-09 19:04:49
497
原创 DevOps流程之测试中台
首先我们聊一下中台的作用,中台将系统的通用化能力进行打包整合,通过接口的形式赋能到外部系统,从而达到快速交付产品目的。那么在整个测试流程中,哪些动作是可以封装成通用能力的呢?我大概梳理了一下:1.用例:一个应用的主流程的用例是可以不断继承复用的,所以用户可以纳入到中台的管理范围2.测试数据:测试数据的构建是测试动作中最耗时,对专业需求要求也最高的动作,开发同学抵触全流程自测的最大障碍之一就是不知道如何构造符合特定场景的测试数据,测试同学在每个迭代版本中,也会消耗大量的时间在构造各种测试数据上,所以如果
2020-06-28 18:29:25
2839
原创 devops从理论到落地
devops是什么?DevOps 是通过平台(Platform)、流程(Process)和人(People)的有机整合,以 C(协作)A(自动化)L(精益)M(度量)S(共享)文化为指引,旨在建立一种可以快速交付价值并且具有持续改进能力的现代化 IT 组织devops发展史:...
2020-04-28 16:22:00
560
原创 devops之版本控制的目的
在推行DevOps的过程中,持续集成和持续部署都是DevOps落地时需要重视的重要基石。而最终保证DevOps成功实施则需要更多更加细致的细节落到实处,比如版本管理,下面和大家一起来聊聊,版本控制到底能为我们解决哪些问题:版本控制需要具备的能力:以上线版本为维度,端到端的控制需求——研发——测试——发布的全过程,关联的实体有:需求内容,代码分支,测试用例,缺陷情况,配置信息,sql信息,基于这...
2020-04-24 17:51:07
872
原创 jmeter字体调整的方法
升级到5.1的客户端之后,发现字体变小了,网上搜到的一些方法并不能达到效果,我这边总结的方法如下:1、jmeter5.1升级后可以把jdk降级到1.82、修改 jmeter.properties 属性文件:jsyntaxtextarea.font.family=Hackjsyntaxtextarea.font.size=25...
2019-08-08 11:17:06
2594
原创 jmeter二次开发java请求
1.创建一个Java工程: idea操作步骤:file——new——project——java——next——create project from templete[java hello word]——next2.引入依赖jar包,idea操作步骤: file——project struct——libiraries—— + —— java——选择对应的jar包,其中ApacheJMeter_...
2019-08-07 17:38:32
472
原创 java 操作redis集群信息
首先要在pom里引入如下的依赖<!-- redis --><dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version></...
2019-08-06 16:17:51
448
转载 mysql日期处理获取本周本月开始日期
--今天SELECTDATE_FORMAT(NOW(),'%Y-%m-%d00:00:00')AS'今天开始';SELECTDATE_FORMAT(NOW(),'%Y-%m-%d23:59:59')AS'今天结束';--昨天SELECTDATE_FORMAT(DATE_SUB(CURDATE(),INTERVAL1DAY),'%Y-%m-%d00:00:0...
2019-07-18 10:40:31
1451
原创 java 自定义日期类留着备用
package com.example.springbootghw.util;import lombok.extern.slf4j.Slf4j;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;impor...
2019-07-10 18:32:02
181
转载 jmeter正则匹配详解
原文转自https://blog.youkuaiyun.com/quiet_girl/article/details/50724313在使用Jmeter过程中,会经常使用到正则表达式提取器提取器,虽然并不直接涉及到请求的测试,但是对于数据的传递起着很大的作用,本篇博文就是主要讲解关于正则表达式及其在Jmeter的Sampler中的调用。一、首先来介绍一下J meter中正则表达式提取器的元素组成,下...
2019-07-05 10:31:17
1203
原创 jacoco + ant 监控远程服务器上springboot应用的代码覆盖率
参考博客:https://blog.youkuaiyun.com/qq_26392615/article/details/82228972 大概步骤:1、远程服务器上安装jacoco2、本地安装ant + jacoco3、重启远端服务,加上javaagent 参数,nohup java -javaagent:/root/jacoco/lib/jacocoagent.jar=includes...
2018-10-15 11:54:57
1535
3
转载 JaCoCo 代码覆盖率工具(基于Maven+TestNG)
JaCoco是一个代码覆盖率库。官方网站:http://www.jacoco.org/ 安装: 以 Maven(http://www.testclass.net/maven/) 安装为例:<dependencies> <dependency> <groupId>org.testng</groupId>...
2018-09-21 17:25:32
3470
转载 BVT测试
什么是BVT?BVT也即Build Verification Test,是在将release发布给test team做进一步测试之前,通过在每天新的build之上跑一系列的case来验证build是否可以测试。它的时间点发生在build完成之后,正式测试完成之前。 BVT也叫冒烟测试或者build验证测试。 (有的文章说和冒烟测试有一定的区别,至于区别是什么,我现在也没有弄明白,只是翻译人家的...
2018-09-21 17:06:45
14814
转载 Robot Framework如何向Android发送keycode键盘事件
转自:https://www.aliyun.com/jiaocheng/4255.html摘要:在之前的博客“RobotFramework+Appium测试Android设备”,我们已经介绍了如何使用RobotFramework和Appium测试Android设备,如果对这部分还不熟悉的童鞋,可以参考本人之前的博客。今天,我聊一聊如何向Android发送keycode键盘事件,这是在Andro...
2018-09-13 18:12:19
1085
原创 robotframwork+appium 元素坐标的计算方法
问题背景:有时候appium-desktop不能获取到弹出的view中的元素信息,需用通过元素坐标的方式点击元素,而不同设备的分辨率不一样,导致x,y轴的值不一样,需要有一种通用的方法计算,计算的思路如下:1、计算出弹出view的坐标信息,计算思路是 通过关键字:Get Element Location 算出view的左上角的x1,y1的值,再通过Get Element size算出vie...
2018-09-05 19:24:39
1235
转载 软件测试之缺陷预防
某前辈的PPT,供大家参考,转自:https://blog.youkuaiyun.com/kaka1121/article/details/51699134
2018-09-04 12:28:46
772
原创 基于jmeter的java请求的二次开发
一、JMeter Java Sampler介绍 Arguments getDefaultParameters() 用于获取界面的参数 SampleResult runTest(JavaSamplerContext context) 类似于LR的Action,result.sampleStart()一个事务开始,result....
2018-08-29 15:57:55
1874
原创 robot framework ——关键字run keyword if 使用总结包括
1、if后要执行多关键字方法用 Run Keywords AND ,或者封装一个关键字的组合2、if 后面的条件是多条件的用and,见下图3、run keyword if ELSE 注意这个ELSE 不能用小写,robotframwork 的关键字不区分大小写,但是这个ELSE例外4、常用的比较符合见下图,供参考...
2018-08-21 11:54:05
12856
转载 Xpath中关于部分常用轴表达式使用总结
此文章为转载,转自:https://blog.youkuaiyun.com/qingchunjun/article/details/54772940我们在自动化测试中会经常使用到xpath来进行对象的选择。之前我写的文章中介绍了一些xpath的基本表达式。但有些比较特殊的情况中,仅靠这些比较基本的xpath表达式还不够灵活,所以今天继续介绍几种比较常用的基于“轴(Axes)”的表达式。本文中的示例HT...
2018-08-13 19:24:17
592
转载 robotframewor+python2.7安装+ jmeter安装
1、robotframewor+python2.7安装 参见 https://www.cnblogs.com/yinrw/p/5837828.html 2、jmeter安装参见 https://www.cnblogs.com/mgzc-1508873480/p/7040997.html
2018-08-08 10:08:01
460
原创 常用网址
1、所有的chromedriver 下载以及与 chrome 版本的对应关系:http://npm.taobao.org/mirrors/chromedriver/2、不错的自动化的培训教程http://www.cnblogs.com/zidonghua/p/7430083.html#_label153、springboot 常用注解的解释https://www.cnblogs.co...
2018-07-31 14:45:50
224
转载 一个测试工程师面试官的真实分享!个人超赞同!
最近一段时间都在做集中招聘,参加了许多面试,累个半死。加上之前在团队中最近几年也做了不少面试,关于测试工程师招聘的话题,刚才没事特意google了一下,除了一些面试题外居然没有几篇心得方面的文章。上午招聘轮空,抽空写一下自己的看法,仅供参考。记得看完即焚。 所有团队的招聘,基本上都是要找最“合适”的人,而不是技术最强的人,或者最优秀的人。技术最强的人不一定合适,原因有很多, 1. 岗位一定的情况...
2018-05-28 13:46:48
26406
10
转载 2016年:软件测试趋势前瞻
2015年11月,ThoughtWorks发布了新一期的技术雷达。技术雷达是以独特的形式记录ThoughtWorks技术顾问委员会对行业产生重大影响的技术趋势讨论的结果,为从CIO到开发人员在内的各方利益相关者提供价值。这期雷达的技术趋势主要体现在:受到热捧的微服务相关技术,逐步成熟的以Docker为典型的容器化生态系统,备受企业和用户关注的信息安全问题。本文就从这几个新趋势来分析一下给软件测试带...
2018-04-12 20:10:17
384
原创 bug与故障的区别以及防范措施
最近跳到了新东家之后,忙于学习各种技能和业务流程好久没更新学习总结了,新的环境的确扩充了自己的知识面,也对之前混淆的概念有了些更深的认识,今天就来聊聊bug与故障的区别,以及对应的防范措施,聊之前我先申明一下,这些只是我个人的理解,不是真理,也不是定律,有不同观点的同学可以尽情的提出来,只有充分的讨论才有可能产生“爱情的结晶”:),好了废话不多说直接上主菜 我理解的b...
2017-11-02 15:44:09
3059
原创 robotframework中常用的js脚本,持续更新中
1、在浏览器的tab页中打开一个新窗口 execute javascript window.open('http://loan.${env_test}?pageNumber=1&_input_charset=utf-8&ctoken=${ctoken}','newwindow4')2、拉动浏览器滚动条到最下面 Execute JavaScript js="var q=documen...
2017-07-04 11:14:19
1478
原创 robotframework 操作弹出div
故事背景:页面中有个div div id="modifyModal" class="modal hide fade in" style="display: none;">, 正常此div处于不可操作状态,当触发某个操作的时候,会弹出此div,此时用robotframe 里的关键字不能操作div里的元素,需要通过js直接操作页面的元素,示例代码如下execute javascript
2017-05-02 21:10:17
8083
1
原创 python解析json字符串
#-*- coding:utf-8 -*-import jsondata = r'{"data":{"a":[{"s":"2017033110102500100369297088B","d":"调查中","e":"2017033110102500000369297188B","f":"fffff","j":"jjjj","applyDate":"2017.03.31"}],"hasNext
2017-03-31 17:48:00
817
原创 robotframework xpath根据属性值定位元素
故事背景:自动化定位元素的时候,xpath的路径经常会变化,但很多时候元素的属性值是不变的,在这种场景下可以考虑根据属性值定位元素,使用方法如下:1、文本值定位click element xpath=.//a[text()='申请记录'] 等同于 xpath=.//*[@id='react-content']/div/div[4]/ul/li[3]/a此元素的html代码a h
2017-03-31 16:12:12
7735
1
原创 robotframework实现在浏览器tab页中打开一个新的窗口
问题背景:利用robotframework在写自动化脚本的时候, 有些场景下需要新建一个浏览器窗口,但是又需要共享原窗口的session,这时候只需要在浏览中新打开一个tab页就可以,脚本如下: Execute JavaScript window.open('你要打开的网址'); close window #如果你想在新窗口中操作,调用此关键字会把原来的窗口关闭掉
2017-03-29 21:25:04
8897
1
翻译 TestNG入门——@DataProvider
一 、基本用法package test;import org.testng.Assert;import org.testng.annotations.DataProvider;import org.testng.annotations.Test;public class BetweenValue { //待测试方法 public boolean isBetween(int n,
2017-02-11 10:23:40
2310
翻译 TestNG入门——注解之@Test
TestNg提供的最基本的注解之一就是Test注解,作用在方法或者类上,此注解支持的属性有:1、alwaysRun:提供一个false or true值,如果设置为true,则被标记的方法会永远被执行,即使被标记方法所依赖的方法执行失败了。2、dataProvider:此属性的值为标记方法提供数据驱动的数据源3、dataProviderClass:此属性指出提供数据驱动方法的所在类
2017-02-08 17:48:06
8343
翻译 TestNG入门——注解之Before/After
注解是java 5新增的功能,可使用于类,方法,变量,testNG包提供的注解功能请见下表1、@BeforeSuite or @AfterSuite 被注解的方法,将在整个测试套件之前 or 之后执行。2、@BeforeTest or @AfterTest 被注解的方法,将在某个用例执行之前 or 之后执行。3、@BeforeGroups or @AfterGroups 被注解的方法
2017-02-08 14:33:19
13562
翻译 TestNG入门指导——include/exclude中的正则表达式
TestNG中的include/exclude属性支持使用正则表达式,下面让我们一起来学习其用法:新建一个java项目,如下结构
2017-02-08 11:27:34
3028
翻译 TestNG 入门指导——理解testng.xml执行/不执行某个包,某个类,某个方法
这一篇我们主要学习如下几个知识点:⑴关于testng.xml⑵创建一个测试套件⑶执行testng.xml⑷在测试套件中创建多个测试用例⑸在用例中增加class,packages, method⑹用例中包含/不包含class,packages, method⑺⑻⑼⑽在开始学习这些知识点之前,需要在eclipse中先创建一个java 项目,结构如下:在每个c
2017-01-27 09:13:44
11266
原创 TestNG入门指导——安装篇
TestNG 简介:TestNG中的NG 是“next generation”的意思,是一个用java编写的自动化测试框架,设计思路来源于JUnit与NUnit的功能,可以用于单元,功能,集成,端到端测试,相比于JUnit,TestNG利用了java中的注解的特性,使得测试方法的配置管理更加方便,详细的TestNG的介绍可参考网站http://testng.org/doc/index.ht
2017-01-27 08:23:37
2696
原创 jmeter实现返回json串的断言
本篇主要解决的是对返回的整个json串进行处理,如果是针对json串中单个属性进行处理,可以下个json插件,相关下载地址 https://jmeter-plugins.org/wiki/JSONPathExtractor/, 废话不多说下嘛是故事背景与解决方法。背景:通过接口返回的json串中的属性位置有可能不固定,这就导致了通过jmeter自身的字符串比较来做断言行不通思路:先获取到接
2017-01-09 11:35:58
6418
原创 解决jmeter 处理大数据量结果返回导致jmeter卡死的问题
故事背景: 调用某个查询接口,一次性返回200多条记录,总量有400k+,返回的报文中一直报Response too large to be displayed. Size: 412152 > 204800,而且每次点击查看“察看结果树”后会导致jmeter卡死,解决方法:step1、在user.property中增加 view.results.tree.max_size=0 并重
2017-01-05 14:13:59
17949
1
原创 jmeter 参数值写入到指定的文件中 or 线程组之间实现参数的传递
事情背景: 在用jmeter实现订单模块的接口功能自动化后,为了将测试数据还原,需要批量的取消已经创建好的订单大体的思路: 每次创建订单成功后,通过正则表达式获取到订单编号,通过Bean shell调用已经写好的java代码,将 订单编号写入指定的文件中,通过订单取消接口循环调用记录在文件中的订单编号,实现取消订单的目的步骤如下:1、编写java 类AppendFile ,代码如下
2016-12-19 16:22:10
6655
spring源码分析
2018-10-12
jmeter web与接口自动化的培训文档
2017-08-06
MySQL 5.1参考手册
2009-05-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人