自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(107)
  • 收藏
  • 关注

原创 敏捷开发&质量管理(敏捷开发下怎么做QA、测试)

参考1 https://www.sohu.com/a/128624542_177747参考2 https://wenku.baidu.com/view/b9080553ed630b1c58eeb564.html参考3 https://www.cnblogs.com/mikeyond/archive/2011/06/30/2094274.html参考4 https://segmentfault...

2019-09-04 20:35:59 4827

原创 测试左移与右移

测试左移与右移大家熟悉的测试工作(也是传统的瀑布式),是接到项目后参与需求评审,然后根据需求文档写写用例和准备脚本,等开发提测之后正式开始测试、提bug、回归,测试通过后就结束了,项目交给运维上线,之后投入下一个项目继续重复这样的流程。这样的流程看似没什么问题,但缺点是:测试过程是在一定时间间隔内发生的,测试人员必须等待产品完全构建才能找到错误和故障。不可否认,花费的时间超过了可以商定的时...

2019-09-02 20:20:08 10555

原创 敏捷开发初步了解

敏捷开发  敏捷开发,现在大多数团队都在推崇敏捷开发模式  笔者最开始理解的时候,也在疑惑到底什么是敏捷开发,带来的好处又是什么?  笔者也只是一个入行没多久的新手,以下只是笔者自己对于敏捷开发的一些理解,并不全面,如有不同理解/或更深刻的理解可以回复进行互相学习。更深入的理解仍需要长时间实践的沉淀1. 敏捷开发是什么?  敏捷开发是一种以人为核心、迭代、循序渐进的开发方法...

2019-08-23 19:38:07 2706

原创 VirtualBox虚拟机安装

虚拟机安装

2022-04-13 23:54:14 5026

原创 各种ISO镜像下载

ISO镜像

2022-04-13 23:53:05 5488 1

原创 python distutils、setuptools打包第三方库

1. 项目目录|-- src # 引用时的包名,可随意修改;| -- http # 子类包名,可随意修改| --__init__.py| -- xxx.py| --__init__.py| --xxx.py|--readme.md|--setup.py # 打包信息例如上命名方式,打包后引用时为import srcimport src.xxximport src.httpimport src.http.xxxxxx.py文件内写函数方法即可,例如# -

2022-01-13 20:12:23 1349

原创 selenium捞取http请求信息

UI自动化过程中,经常存在需要获取http请求信息的场景。例如:元素文案为接口返回需要,需要验证文案正确性;出现报错时方便排查问题,打印http请求日志等方式一:selenium-wireselenium-wire官网 该库仅支持python3.6+# 以获取API商城 - IP查询服务的timestamp签名为例# 是seleniumwire 不是 seleniumimport timefrom seleniumwire import webdriverdriver = webdrive

2021-11-12 18:20:02 7528

原创 各系统剪切板内容获取

小编最近在做UI自动化,出现点击按钮复制文案到剪切板的操作,由于执行机器有mac、win10、liunx,出现不同的兼容问题1、各种获取方式Python xerox模块import xeroxxerox.copy(str) # 复制内容到剪切板xerox.paste() # 读取剪切板内容# Liunx可以选择粘贴到xsel中xerox.copy(str, xsel=True)xerox.paste(xsel=True)Python pyperclip模块import pyper

2021-09-27 15:59:24 1707

转载 git忽略而不提交文件的3种情形

未提交过忽略从未提交过的文件可以用.gitignore 也就是添加之后从来没有提交(commit)过的文件,可以使用.gitignore忽略该文件 该文件只能作用于未跟踪的文件(Untracked Files),也就是那些从来没有被 git 记录过的文件 比如,忽略log/下的日志文件,可以在.gitignore中写 log/*已在远程忽略已经推送(push)过的文件,想从git远程库中删除,并在以后的提交中忽略,但是却还想在本地保留这个文件 执行命令git rm --cached app/conf

2021-07-09 16:51:52 1009

原创 抓包工具Mitmproxy使用

由于Chrales收费、fiddler安装mac又比较麻烦,就找到了简单便捷的Mitmproxy。Mitmproxy简介mitmproxy是一组工具,可为HTTP/1,HTTP/2和WebSockets提供交互式,支持SSL/TLS的拦截代理。官网地址3个强大的核心工具mitmproxy项目的工具是一组暴露通用底层功能的前端。当我们谈论“ mitmproxy”时,我们通常指这三种工具中的任何一种-它们只是同一核心代理的不同前端。mitmproxy是具有SSL / TLS功能的交互式拦截侦听代理,

2020-11-30 23:22:27 1394

原创 appium、selenium、webdriver运行原理图解

整理的appium、selenium、webdriver的运行原理图解,如果有不对的地方还请提醒参考:《Appium ,Selenium ,Webdriver 运行原理与机制》《Appium实现原理》《Appium原理整理总结》

2020-07-29 17:49:17 394

原创 单元测试理解

最近一段时间跟朋友沟通到单元测试的问题,朋友吐槽公司技术大佬对于单元测试完全是不接受状态,质量工作完全由测试人员通过UI自动化、手工黑盒测试完成,导致测试人员异常痛苦,每次开发人员交付的代码几乎接近不可运行状态。我最近也有幸就单元测试问题咨询了一位互联网团队技术总监的看法,加上对我参与、了解的所有团队单元测试做法的回顾。发现对于不同的团队、不同的技术背景,对于单元测试的认同度、测试策略都是不相同的(有完全认为没有必要浪费时间的、有非常认同要求单测覆盖率达到90%并且要求单测必过的)。简单整理一下个人对于单

2020-06-21 23:23:30 877

原创 自动化测试,除了coding还需要掌握什么?

一、自动化测试项目自动化测试本身是一个项目,它属于业务项目的子项目,因此自动化测试项目也具有项目所有的特征上面我们提高自动化测试是一个项目,那么首先需要大家理解一下为什么叫做自动化测试项目,而不单单是自动化测试。1.1 软件项目生命周期首先我们可以先看一下项目的几个主要阶段:起始阶段 – 有一个好的想法:具体构想出终于产品的设想和它的业务案例,确定项目的范围 。细化阶段 — 计划必要的活动和所需资源,具体确定功能并设计构架 。构建阶段 – 构建产品,发展最初的设想、构架和计划,直到一个能够

2020-06-17 21:29:05 416

原创 云测试平台推荐与简单比较

相信做APP产品的小伙伴经常会遇到机型兼容问题。特别是Android,各大厂商都在做自己的系统MIUI、EMUI、H2OS等等,更是增加了机型兼容的难度。小型团队和公司一般没有太多经费购买各种机型,就可以考虑使用云测试平台进行测试,下面向各位推荐一些云测试平台的简单比较。有需要使用的小伙伴可以进入相应的官网对比选择最合适自己的平台名称所属地址真机设备数价格(单价)免费应用收费特色应用Testin北京云测https://www.testin.cn1000+3元/分钟

2020-06-03 16:21:00 2631

原创 Cypress(基于JS的UI、API、单元测试自动化测试工具)

处理自动打开的新页签方式一:设置发现新页签时自动切换至新页签(推荐)cy.visit('http://localhost:3000', { onBeforeLoad(win) { cy.stub(win, 'open') }})cy.window().its('open').should('be.called') # 检查点:验证窗口新开页签的函数被调用过}方式二:直接切换至新urlcy.visit('http://localhost:3000/new-window')

2020-05-30 18:51:20 9729 1

原创 Android APP专项测试之ADB命令

Android环境准备Android APP专项测试需要使用adb命令需要安装Android SDK参考,验证adb数据线连接Android设备(或打开安卓虚拟机)Android设备进入开发者模式,打开USB调试、USB安装、USB调试(安全设置),修改GPU呈现模式分析为“在adb shell dumpsys gfxinfo中”(用于fps数据获取)APP专项测试说明:获取A...

2020-04-28 17:14:35 1808 8

原创 Appium环境搭建(Ubuntu)

需要环境ubuntu16.04JDK 8AndroidSDKPython(直接使用ubuntu自带python3.5即可)Node.jsAppiumAppium-Python-ClientPyCharm一、安装JDK安装Oracle JDK(可以不安装,直接安装open-JDK即可)sudo add-apt-repository ppa:webupd8team/jav...

2020-04-23 12:04:21 2393 6

原创 Python执行shell命令(并获取执行结果)

执行shell语句os.system(“xxx”)可执行shell语句,执行会将结果打印至工作台执行shell语句并获取结果os.popen(“xxx”).readlines()执行并获取全部的执行结果,获取结果为list,每行内容为list的一个值。需要具体哪一行内容可直接list[0]提取(推荐使用,其实通过ctrl可以看到popen方法源码底层就是subprocess.Po...

2020-04-22 14:53:45 39479 2

原创 Android获取APP的Package和Activity

在使用android自动化测试工具中启动应用时,需要填写被测程序的包名和启动的Activity,以下有几种查看应用包名package和入口activity名称的方法aapt使用aapt//aapt是sdk自带的一个工具,在sdk\builds-tools\目录下(配置好Android SDK即可)aapt dump badging D:\work\appium\com.tencent.mm_...

2020-04-20 16:34:49 434

原创 《测试工程师—全栈技术进阶与实践》读书笔记

介绍这本书是茹炳晟老师,根据极客时间专栏课程—”软件测试52讲“再次整理完善的。系统地梳理软件测试知识体系,深入讲解自动化测试、移动应用测试、性能测试和测试基础架构设计的核心原理。通过一系列行业实践案例的讲解,呈现一副包括GUI/API自动化测试、移动应用测试、测试数据平台、测试基础架构、性能/压力测试、代码级测试、测试新技术和大型网站架构等在内的软件测试技术全景图读后感通过阅读本书深刻...

2020-04-16 21:12:42 1846 2

转载 python英文(无空格)文本分词模块wordninja使用

在NLP中,数据清洗与分词往往是很多工作开始的第一步,大多数工作中只有中文语料数据需要进行分词,现有的分词工具也已经有了很多了,这里就不再多介绍了。英文语料由于其本身存在空格符所以无需跟中文语料同样处理,如果英文数据中没有了空格,那么应该怎么处理呢?今天介绍一个工具就是专门针对上述这种情况进行处理的,这个工具叫做:wordninja,地址在这里。下面简单以实例看一下它的功能:def word...

2020-03-27 13:14:26 851 3

原创 《质量全面管控-从项目管理到容灾测试》读书笔记

这本书之前就已经在测试书籍跟大家进行分享,最近决定重新读一遍并记录一下读书笔记跟大家分享。该书的特点是全面,让你对软件项目的各个环节均有基础的了解,可以引导读者从各个环节挖掘质量控制手段、方法。但并没有对于各个环节的质量控制手段进行描述,仅是引导作用,正如本书定位一样帮助你查缺补漏。简单谈一下重新读一遍的感受(仅代表个人):确实很全面,项目每个环节都有提到;作者对于身处项目、团队的工作方式...

2020-01-20 16:40:33 816 2

原创 Selenium使用(Python)

介绍Selenium是一个用于Web应用程序测试的工具。框架底层使用JavaScript模拟真实用户对浏览器进行操作,直接在浏览器中运行,就像真实用户所做的一样。最初是由ThoughtWorks的Jason R. Huggins和他的团队开发开源出来的组件:Selenium IDEFirefox插件,可以录制用户的基本操作,生成测试用例。Selenium WebDriver(Se...

2020-01-17 16:11:38 803 1

原创 Python控制命令行打印的方法

禁止结果打印import sysdef block_print(): sys.stdout = open(os.devnull, 'w')继续结果打印import sysdef enable_print(): sys.stdout = sys.__stdout__

2020-01-15 13:53:22 1729

原创 JIRA7.x版本及插件安装(2)

# 安装环境、版本ubuntu16.04jira版本7.3.8(本文安装仅对应7.3.8版本,其他版本破解方法有差异,可以官网直接下载也可以使用本人分享https://pan.baidu.com/s/1nY8GqVGsLNiKhIa0R8z5xQ  提取码bpmh)(windows安装方式类似仅安装时方式不同   安装包https://pan.baid...

2020-01-11 19:58:17 1263

原创 JIRA8.x版本及插件安装(4)

参考 https://www.qinjj.tech/2019/01/04/confluence%20install/参考 https://gitee.com/pengzhile/atlassian-agent感谢分享安装环境、版本ubuntu16.04jira8.3.3数据库准备电脑安装mysql,内容就不在陈述(网上很多教程)创建数据库及授予权限mysql -u root ...

2020-01-11 07:47:04 15100 6

原创 软件测试、敏捷图书分享

小编在测试这一行已经入坑3年(真的是入坑)看了一些书籍,最近整理了一下进行了一下分类推荐给各位小伙伴有一些书,小编找到了电子版一起分享给大家链接: https://pan.baidu.com/s/1ep1H72VSmvoorviebU_1pw 提取码: wtgk测试测试基础篇《软件测试的艺术》测试深入篇《测试架构师修炼之道》《测试工程师全栈技术进阶与实践》《质量全面质量管理-从项...

2020-01-10 22:45:56 22285 1

原创 Lettuce(基于Python的BDD工具,中文编写自动化测试用例)

安装LettucePython2命令行安装(当前的lettuce0.2.x版本仍然只支持python2)pip install LettucePython3如果需要使用python3,Github有大佬更新的版本https://github.com/e0ne/lettuce/tree/python3git clone https://github.com/e0ne/lettuce....

2020-01-09 19:07:42 2807 2

原创 Locust(性能测试)

环境ubuntu16.04locust0.11.0安装sudo pip3 install locustlocust -V # 检查版本号是否安装成功sudo vim /etc/profile # 如果执行上述检查命令报错没有locust文件,就修改本机环境变量export PATH=/usr/local/lib/python3.5/dist-packages/bin:$PATH ...

2020-01-06 19:03:44 1634

转载 Python操作mongodb

一 导入 pymongofrom pymongo import MongoClient二 连接服务器 端口号 27017连接MongoDB连接MongoDB我们需要使用PyMongo库里面的MongoClient,一般来说传入MongoDB的IP及端口即可,第一个参数为地址host,第二个参数为端口port,端口如果不传默认是27017。conn = MongoClient("loca...

2019-12-20 11:04:06 630

原创 Ubuntu18.04安装Mysql重设root密码

Ubuntu18.04版本安装mysql是没有提示填写密码等操作,使得安装成功后无法使用root登录sudo apt-get install mysql-server # 安装mysql首先,需要找出默认账户sudo cat /etc/mysql/debian.cnf使用默认账户登录(帐号密码是上个步骤获取),重置root账户(执行如下语句)即可use mysql; upda...

2019-11-26 21:14:13 967

原创 Mac安装Python3

安装pipmac是默认安装python2.7的python -V就可以看到已经安装2.7的版本,但是没有安装pipsudo easy_install pip即可安装pip安装python3.*官网下载 https://www.python.org/downloads/mac-osx/直接根据你的需要下载相应的版本, 下载后直接双击安装即可,安装完成后你的mac即同时存在pyt...

2019-11-11 16:30:25 666

原创 正交法生成测试用例

下载地址:链接:https://pan.baidu.com/s/1-zK25SGE_DljSpUNI6vvfA 提取码:32qn使用方式解压文件至任意位置unzip pairs.zip ~/software/写入数据,新建文本,写入参数和可选值,例如:参数A有5中可选值,参数B有3种可选值,参数C有4种可选值,参数D有6种可选值a b c da1 b1 c1 d1a2 b...

2019-10-21 12:51:35 3967 4

原创 Jmeter设置分布式(ubuntu)

环境ubuntu16.04jmeter5.1.1(尽量使用新版本)配置原理:slaver(执行机)配置安装jmeter,官网下载并解压提取(此处不进行详细说明)修改配置文件/apache-jmeter-5.1.1/bin/jmeter.properties修改本机host文件sudo vim /etc/hosts # 修改当前IP为非回环地址,127.0.0.1即为回环...

2019-10-16 18:25:07 468

原创 Ubuntu安装配置使用redis

环境Ubuntu 16.04安装安装Redis服务器端sudo apt-get install redis-server # 安装完成后,Redis服务器会自动启动ps -ef | grep redis # 检查Redis服务器系统进程命令行终止启动Redis服务sudo service redis-server stopsudo service redis-serv...

2019-10-14 10:39:18 360

转载 SQLAlchemy 查询(限制,偏移,排序)

flask查询先对所要查询的表进行排序,然后是所要查询的内容newslist=News.query.order_by(db.des...

2019-09-20 17:53:09 787

转载 SQLAlchemy(Python)操作数据库

参考文档 https://www.ctolib.com/topics-96759.html文章目录1 简介1.1 对象关系映射 OR...

2019-09-20 17:50:45 355

原创 SQLAlchemy将查询结果对象转为dict/list

转换mysql = "mysql+pymysql://{}:{}@{}:{}/{}?charset=utf8".format(mysql_user, mysql_password, mysql_host, mysql_port, mysql_database)# 创建对象的...

2019-09-20 11:14:59 10702

原创 Mysql的int(11)、int(10) unsigned理解

mysql的int类型对于 int 类型的一些基础知识其实上图已经说的很明白了。int(11)在这里想讨论下常用的 int(11) 代表什么意思,与varchar不同11 代表的并不是长度,而是字符的显示宽度,在字段类型为 int 时,无论你显示宽度设置为多少,int 类型能存储的最大值和最小值永远都是固定的。当 int 字段类型设置为无符号且填充零(UNSIGNED ZEROFILL)...

2019-09-12 10:28:12 9719 1

原创 Mockman-Mock服务工具推荐

相信很多项目中都有对接第三方服务的情况,例如支付、查询第三方数据平台等等。为了测试系统的健壮性(第三方服务接口不稳定、返回异常数据、崩溃等情况下,系统对其的处理情况),往往通过构建mock桩的形式实现。如果由开发将mock桩直接写在代码里,维护、测试成本就比较高(测试每一种情况都要推一次代码),所以最好的方式是将mock桩独立出来做成服务。Mockman是一个非常便捷实现mock服务的开源工具,...

2019-09-11 19:36:12 2251

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除