软件测试相关
文章平均质量分 67
learn112
这个作者很懒,什么都没留下…
展开
-
接口自动化测试
接口自动化测试框架结构login.py—业务模块"""规划接口示例:接口名称:登录接口接口类型:token机制(有些项目是cookies--sessionid机制)用途: 1.本身需要做接口测试 2.获取token,给后续的接口做鉴权"""import hashlibfrom pprint import pprintimport requestsfrom configs.config import HOST# 封装一个md5加密函数def get_md原创 2021-03-20 12:58:00 · 344 阅读 · 4 评论 -
appium-常用操作
appium常用操作1.app相关操作启动appdriver.launch_app()#默认启动的是capabilities配置中的app切换appdriver.start_activity('包名', '活动页')后台运行appdriver.background_app(10)#使当前前台运行app切换到后台10秒,然后又切回到前台关闭appdriver.close_app()#默认关闭capabilities配置中的app关闭驱动driver.quit()2.抓取toa原创 2021-03-19 19:24:08 · 768 阅读 · 0 评论 -
appium-滑动、拖动操作
appium滑动、拖动操作要实现在手机中滑动、拖动操作,首先需要定位到点的坐标,或者使用元素实现滑动、拖动可以使用绝对坐标和相对坐标由于绝对坐标在更换手机或改变分辨率大小后不能重复利用,推荐使用相对坐标首先获得屏幕width、heightscreen_size = driver.get_window_size()#返回一个当前屏幕宽高的字典width = screen_size['width']height = screeen_size['height']1.使用点的坐标实现滑动、拖动原创 2021-03-18 21:05:45 · 3934 阅读 · 0 评论 -
appium使用之元素定位
appium使用之元素定位使用appium时,可以使用各种各样的元素定位方式,先来看一下这些元素在哪,如下图在appium中可以找到的属性都在这里id定位driver.find_element_by_id('')#这里填入的id就是resource-id#如果resource-id重复,那么使用其他方式定位className定位driver.find_element_by_class_name('')#这里的calssName就是对应appium中的class,#在appium中,原创 2021-03-17 13:09:30 · 481 阅读 · 0 评论 -
微信小程序基础介绍
微信小程序基础介绍什么是微信小程序?微信小程序本质上就是一个计算机软件程序,不同与APP,它依赖与微信平台,可以理解为是嵌套在微信平台中的一个APP。微信小程序的优缺点优点不需要安装,省去了安装的麻烦体积小,节省手机空间使得手机桌面更加简洁可以依靠微信平台传播、获取客户,节省了推广成本开发周期短,节省了开发成本开发门槛相对较低连接线上线下,给生活带来了便利…缺点微信小程序整个体系依赖于微信推送消息有诸多限制小程序不能承载用户的所有需求与其他相关概念的区别与H5的区别原创 2021-03-09 13:45:34 · 2927 阅读 · 0 评论 -
adb安卓调试桥
adb安卓调试桥工具adb是什么?adb的全称为Android Debug Bridge,就是起到调试桥的作用,是一个使用计算机来调试手机的工具adb能干什么?运行设备的shell(命令行)管理模拟器或设备的端口映射计算机和设备之间上传/下载文件将本地apk软件安装至模拟器或android设备adb的组成原理adb客户端(运行在PC电脑上)adb服务端(运行在PC电脑上),在任务管理器中后台进程可查看adb守护进程(运行在模拟器/手机/平板中)adb客户端、服原创 2021-03-03 18:00:02 · 519 阅读 · 1 评论 -
Android系统基础介绍
Android系统基础介绍Android系统发展史Android系统从1.5版本迭代到现在10.0需要注意的几个版本:5.0界面设计技术发生变革,采用全新的MaterialDesign界面,做测试时考虑5.0之前的版本和5.0(含)之后的版本Dalvik虚拟机速度比ART慢,但占用空间小ART虚拟机速度更快,但占用更多资源(空间)(但由于现在磁盘等越来越便宜,所以使用ART)6.0采用全新权限机制,做测试时考虑6.0以前的版本和6.0(含)之后的版本在6.0之前权限机制就是安装时权限:原创 2021-03-02 16:42:31 · 1118 阅读 · 0 评论 -
jmeter系统参数
jmeter系统参数设置jmeter系统参数设置在函数助手对话框里:配置系统参数这里以__time为例:将生成的结果复制到请求名称中:添加结果树,查看结果,会发现每一个请求都带上了发送请求时的时间:...原创 2021-02-27 20:01:37 · 125 阅读 · 0 评论 -
jmeter后置处理器
jmeter后置处理器作用当给一个请求添加后置处理器时,那么可以将前一个请求的响应结果传给后一个请求使用场景后一个请求需要前一个请求的响应中的结果作为参数时实施步骤新建测试计划,添加线程组等在加入后置处理器之前先查看前一个请求的响应数据:提取响应数据,方便后面后置处理器使用在请求1中添加后置处理器,如正则表达式处理器,配置如下:在后一个请求中,输入变量作为参数:到了这一步,就使得前一个请求的响应结果中的某个数据通过后置处理器传给了后一个请求...原创 2021-02-27 19:43:52 · 205 阅读 · 0 评论 -
jmeter测试其他协议
jmeter测试其他协议除了测试http协议,jmeter还可以测试其他协议,如:SOAP协议jmeter测试SOAP协议SOAP协议是一个基于XML的简易协议,该协议都是post方式的请求实施步骤新建一个测试计划,添加线程组,然后添加一个http信息头管理器信息头设置如下:这里添加格式管理为xml格式,是为了满足SOAP协议(SOAP协议就是基于XML的)添加一个http请求,设置如下:添加结果树查看结果:...原创 2021-02-27 19:10:58 · 507 阅读 · 0 评论 -
jmeter连接mysql数据库
jmeter连接mysql数据库为什么要用jmeter去连接数据库在对数据库进行性能测试(一般测试查询)时,可以借助jmeter工具连接具体步骤在jmeter中新建一个测试计划,并将jdbc连接mysql的jar包导入添加一个配置原件:JDBC Connection Configuration在线程组中添加一个JDBC Request取样器设置取样器内容添加结果树,运行脚本...原创 2021-02-27 18:47:14 · 111 阅读 · 0 评论 -
接口测试之postman
接口测试之postman接口说白了就是对应计算机中的一个文件夹,一个接口对应一个文件夹http://www.baidu.com/search?usename=‘xxx’&password=‘xxx’这里的search就是一个接口什么是接口测试测试的是后端,对后端逻辑的测试检查数据的交换和传递的正确性,包括登录,商品服务,订单服务等待为什么要做接口测试企业中前后端开发进度不一致(一般前端耗时比后端长,后端先做完了那么就先做接口测试),测试越早介入越好UI界面非常多,项目周期有限,原创 2021-02-23 11:19:28 · 165 阅读 · 3 评论 -
web自动化测试框架
web自动化测试框架所谓框架,就是一种思想,一种整合的思想,就是将所做的事情的各个部分整合到一起构成一个框架。使用selenium构建web自动化测试框架的流程在项目中添加7个包:browserdriver、config、business、test_data、test_case、test_report、test_runbrowserdriver包browserdriver包:专门用来存放游览器驱动config包config包:存放配置文件,config.ini、read_ini.py、fw原创 2021-02-22 11:33:13 · 1339 阅读 · 0 评论 -
selenium与unittest结合使用
selenium与unittest的结合使用import unittestfrom selenium import webdriverfrom HTMLTestRunner import HTMLTestRunnerClass MyTest(unittest.Case): def setUp(self): self.br = webdriver.Firefox() self.br.get("https://www.baidu.com") def tearDown(原创 2021-02-21 11:48:13 · 487 阅读 · 4 评论 -
selenium常用API介绍
selenium常用API介绍文本的清空与提交br.find_element_by_id("xxx").clear()#清空文本br.find_element_by_id("xxx").submit()#提交,当然也可以点击提交按钮提交退出游览器br.close()#关闭当前选项卡br.quit()#退出整个游览器获取页面标题和当前页面源码#这两个都是属性br.titlebr.page_source游览器窗口最大化br.maximize_window()刷新页面br.re原创 2021-02-20 11:41:06 · 1132 阅读 · 1 评论 -
web安全测试
web安全测试web安全测试是指:检验web产品抵抗网络攻击能力的一个过程web攻击两个特点:1.影响范围广;2.经济损失大安全测试的三种方式代码静态扫描工具:Fortify,sonarqube等内存扫描可以使用杀毒软件黑盒动态测试(也叫渗透测试)模拟黑客对系统进行攻击渗透测试三个阶段(过程)收集信息比如收集ip地址、操作系统、中间件、版本号、数据库类型等等发现漏洞、验证漏洞开始发起攻击利用漏洞渗透测试的两个特点渗透测试是个逐渐渗透的过原创 2021-02-03 22:54:03 · 914 阅读 · 0 评论 -
web测试
Web测试测试内容:功能,性能,兼容,易用,安全等测试方法:判定表,等价类,场景法等web测试更注重性能和安全测试链接测试该链接将用户带到它所说明的地方,所见即所得该链接页面确实存在保证web应用系统上没有孤立的页面,所谓孤立的页面是指没有链接指向该页面链接指http://xxxxx链接测试工具:Linkbot,Xenu表单测试程序是否检验信息的正确性(可通过填写表单并提交,到数据库验证)(一条有效等价类即可)每一个输入框都要考虑等价类,边界值,正交实验原创 2021-02-01 22:26:20 · 3308 阅读 · 0 评论 -
jenkins持续集成之java发布与总结
jenkins持续集成之java发布1.将项目推送到gitlab2.使用jenkins新建一个任务流水线模式和freestyle都可如上图,填入3个关键信息3.脚本的修改注意点jenkins的工作空间为:/var/lib/jenkins/workspace每当从gitlab上拉取一个项目,/var/lib/jenkins/workspace路径下就会出现一个与gitlab上的任务同名的目录,(默认是同名,也可以使用流水线脚本修改)php项目的发布1.如果是php项目,需要安装php-原创 2021-01-30 18:33:07 · 360 阅读 · 0 评论 -
jenkins持续集成基础介绍
Jenkins持续集成持续集成就是一点点的发布成果,给用户使用持续集成最大的作用就是实现快速发布Jenkins就是一个工具(软件),用来结合其他工具共同完成持续集成也就是快速发布Jenkins使发布的整套流程自动化,包括拉取项目到Linux,构建运行环境,发布(Jenkins安装在Linux中)介绍Jenkins前先介绍一下GitlabGitlabGitlab同Github和Gitee作用一样,都是用来托管代码(远程仓库)的工具,只不过Gitlab用在内网其本质就是一个软件因为服务器一般原创 2021-01-27 23:33:57 · 94 阅读 · 0 评论 -
git分支管理与远程仓库
git 分支管理与远程仓库git 分支管理分支就是小仓库,如master就是git默认的第一个分支当然,只有在第一次commit之后,才会出现第一个分支(master)分支的查看查看当前工作空间所有分支:git branch -a分支的创建git branch 分支名git checkout -b 分支名(该命令在创建分支的同时会切换到该分支)创建分支的时候,每个新分支都会复制master分支的内容,自动就作为自己的第一个版本分支的切换git checkout 分支名(原创 2021-01-27 01:03:22 · 275 阅读 · 0 评论 -
git基础介绍
git基础介绍git就是一个版本控制工具,其他版本控制工具还有:SVN,CVS(老牌),VSS(微软)git环境配置git config --global user.name “yangdaxian”git config --global user.email “[email protected]”配置git初始文件git init使用该命令后会出现一个.git的隐藏文件夹master表示第一个默认仓库名(第一分支)将文件放入git暂存区也就是将文件交给git管理(还没有提交)git原创 2021-01-25 23:48:11 · 78 阅读 · 0 评论 -
其他测试设计方法
其他测试设计方法输入域测试法(1)概念:针对软件系统的输入部分综合运用等价类划分和边界值分析进行测试用例设计的一种方法;(2)测试的值:极限值:类似于边界值上点离点的概念(最大;最小;最多;最少。。。。。);中间范围值:类似于边界值中的内点的概念;特殊值:特殊处理的数据与其他数据处理的方式都不一样;(次边界值)通讯行业:中国(119;110;100086;10010;10000);移动的充值号码(13800138000)日期:传统节日;国庆日;输出域覆盖法(1)概念:某些软件系统(需求)原创 2021-01-24 20:39:58 · 212 阅读 · 0 评论 -
状态迁移图法和流程分析法
状态迁移图法概念针对有限状态机进行测试,测试在给定条件下能够正确的跳转以及是否存在一些未可达的状态相关术语有限状态机:是为研究有限内存的计算过程和某些语言抽象出来的模型。有限状态机拥有有限个数量的状态,每个状态可以迁移到零个或多个状态,通过给出指令(跳转条件)进行迁移。典型的有限状态机:嵌入式系统(手机,电梯,家用电器,交通信号灯…);游戏(贪吃蛇);Web端软件系统(链接页面)状态:某个时间点的一种表现跳转条件:状态发生变化的输入迁移:状态发生变化的过程状态迁移图法的使用步骤将软原创 2021-01-24 13:34:25 · 8278 阅读 · 0 评论 -
因果图法
因果图法概念将具有特别复杂逻辑关系的需求转化为判定表的一种中间系统化方法最终会生成判定表因果图就像是一个草稿,帮你理清逻辑关系,借助因果图生成判定表有时候不一定要使用因果图生成判定表,但是需要画出因果图以便分析相关术语原因:可以叫条件桩或者输入条件(输入条件只取布尔量,1;0)结果:可以叫动作桩或者输出条件(输出条件只取布尔量,1;0)中间节点:1.当多个原因(输入条件)不是单纯的与和或的关系,可以利用中间节点存取中间结果,使因果图更加清晰;2.当多个原因(输入条件)都在描述同一件事原创 2021-01-22 18:17:55 · 4585 阅读 · 1 评论 -
判定表法
判定表法概念分析和表达多种输入条件进行组合完成不同动作的一种工具方法。这种方法可以明确且具体的将具有复杂逻辑关系的需求表示出来说白了就是测试组合的方法,如:账号和密码的组合相关术语条件桩:输入条件;条件项:输入条件的取值;动作桩:输出结果;动作项:输入结果的值判定表法的使用步骤将软件需求规格说明书划分成多个需求子片段;分析需求子片段,找出条件桩,条件项,动作桩,动作项;计算条件项的组合数量(每个条件桩的条件项的个数相乘),并生成合并规则;分析生成的组合规则,对相似规则进行合原创 2021-01-21 17:36:45 · 4681 阅读 · 0 评论 -
等价类划分法与边界值分析法
测试设计方法之等价类划分法与边界值分析法在我们完成测试需求分析之后(在测试方案中的测试设计中的测试用例设计之前)需要对测试用例进行设计,对测试用例设计要用到测试设计方法,但是测试设计方法不只是用在测试用例的设计,还用在文档评审中系统测试的依据:SRS->软件需求规格说明书(黑盒)单元测试的依据:LLD->详细设计说明书,数据库的表结构(白盒)集成测试依据:HLD->概要设计说明书,,接口的规格,接口的内部结构(灰盒)测试设计方法思维导图1.等价类划分法概念从输入(输原创 2021-01-20 18:31:40 · 11554 阅读 · 0 评论 -
测试需求的分析
测试需求的分析测试需求分析思维导图什么是测试需求分析测试需求分析就是根据测试计划中确定的测试范围,然后利用测试需求分析方法来确定我们真正要测试的点,得到了我们要测试的内容后,再进行测试设计为什么要分析测试需求帮助客户明确他们对最终产品真正需求的一个过程澄清需求信息传递的一些误解明确测试的工作,为后续的测试计划工作提供一个指导不会遗漏测试的内容测试需求分析在哪一步在(系统)测试设计中的测试设计中的测试用例设计之前,就是说进行了测试需求分析之后,才能对测试用例进行设计,编写出完善的测原创 2021-01-19 22:29:07 · 2273 阅读 · 0 评论 -
测试需求在项目各个阶段的区别
测试需求在项目各个阶段的区别原创 2021-01-16 12:38:25 · 342 阅读 · 0 评论 -
系统测试方案编写(五)
系统测试方案的编写一.系统测试计划与方案的区别系统测试计划是站在管理者的角度,由测试经理或测试组长编写,把控系统测试全过程的一个文档。内容包括:组织形式,测试对象,需求跟踪,通过/失败标准,挂起标准/恢复条件,任务分配,应交付的测试工作产品。系统测试方案是站在技术角度上,由测试设计师编写,根据测试计划规定的目标来给定资源限制和一些具体的方法和方案,是对后续测试工程师工作如何开展的技术层面的指导。内容包括:概述,被测对象,应测特性,不应测特性,测试模型,测试需求,测试设计。二.系统测原创 2021-01-16 00:38:00 · 5980 阅读 · 0 评论 -
系统测试计划编写(四)
系统测试计划一.迭代与回归的概念区别1.迭代的概念什么是迭代式开发迭代开发就是将软件生命周期分成多个小的迭代(2~6周),每个小的迭代都有计划,需求分析,设计,实现,测试在内的多个活动组成,每个迭代都可以交付一个稳定的可验证的软件版本。2.迭代与回归的区别迭代是根据客户每个阶段的需求来进行一系列的软件活动,回归测试可以穿插在迭代的各个版本之间二.系统测试的详细过程1.流程要素2.系统测试活动的输入,输出三.系统测试计划的内容1.系统测试计划内容概述2.组织形式(人员组原创 2021-01-15 19:09:06 · 3200 阅读 · 1 评论 -
pytest基础介绍
pytest 测试框架基础介绍pytest是python测试框架,常用测试框架还有unittest,robot framework(rf)robot framework 使用的是关键字驱动的形式,包括:1.数据关键字;2.业务关键字pytest安装cmd中使用命令:pip install pytestpytest命名规则以test或test_开头编写模块,类,函数以test或test_开头编写类,函数,以test或_test结尾编写模块执行测试用例新建一个模块专门用来执行原创 2021-01-10 22:34:31 · 476 阅读 · 0 评论 -
Docker基础介绍
Docker 基础介绍什么是DockerDocker是一种基于Linux内核的,属于操作系统层面的虚拟化技术,是一种环境部署工具,本质就是一个软件.用来发布网站的这里提一下VM,Vmware虚拟机是基于硬件(CPU,内存,磁盘)的一种虚拟化技术Docker图解Docker的优点当我们需要搭建环境的时候,如果用传统的方式,每一个环境就需要一个服务器,产生的费用会很高,那么用Docker来搭建:可以在一台Linux服务器上搭建多个环境(这里的环境指的就是Docker容器)容器之间的隔离性原创 2021-01-09 20:16:18 · 307 阅读 · 1 评论 -
Linux基本介绍
Linux基本介绍定义狭义Linux操作系统就是一个Linux kernel(内核),内核负责管理硬件,并为上层应用提供接口.广义指以Linux kernel为基础的包括OS和各种应用在内的各个Linux版本.各版本之间的差异体现在客户群,维护,界面等方面.因为Linux是开源的,所以各个公司会根据自己的需要编写Linux系统,所以会有很多不同版本的Linux.Linux图解内核–>库,库函数–>shell:就是一个人机接口–>应用程序.小结Linux只是一个内核,一个原创 2021-01-04 20:31:21 · 819 阅读 · 0 评论 -
unittest单元测试框架
python unittest单元测试框架unittest单元测试框架的作用unittest单元测试框架就是自动化测试中为了便于维护和管理测试用例的,能够生成测试报告和进行测试统计的一个框架unittest单元测试框架的4个组件1.测试用例一个函数(必须以test为前缀命名,否则会被视为普通函数)就是一个测试用例2.测试套件一堆测试用例的集合3.测试执行器用来执行单元测试,并给出测试报告4.测试固件(1)setUp(self),每个测试用例执行前都会调用,在setUp(self)之前还原创 2021-01-04 00:39:21 · 843 阅读 · 7 评论 -
python类介绍
python 类介绍新建类用class关键字class Human(object): #object和()可写可不写,注意类名首字母大写 def __init__(self, name, age, sex):#构造函数(可写可不写) self.sex = sex #公有属性,外部可调用 self._name = name #私有属性,外部可以调用 self.__age = age #绝对私有属性,外部不能调用,在类的内部其他成员原创 2021-01-01 21:07:58 · 212 阅读 · 2 评论 -
MongoDB数据库,集合,文档查询
MongoDB数据库,集合文档查询数据库相关操作显示所有数据库show dbs;创建,连接数据库use database_name;显示当前连接的数据库db;删除数据库db.dropDatabase();->注意这里是删除的当前连接的数据库集合相关操作显示当前数据库下所有集合show collections;创建集合隐式创建注意隐式创建集合的时候insert()括号里不能为空,否则报错显示创建删除集合db.a.drop();->删除集合a文档相原创 2020-12-26 20:53:57 · 2273 阅读 · 0 评论 -
MongoDB基础介绍
MongoDB基础介绍定义MongoDB是一款流行的非关系型数据库管理软件,目的在于为web提供可扩展的高性能的数据存储解决方案没有表结构,利用文档存储数据,数据结构由键值对组成三元素数据库集合 collection->相当表文档 document->相当记录,由键值对/字段/属性组成键:不管有没有引号都是字符串类型(有时候必须加引号)值:可以是任一类型的数据MongoDB相比MySQL优劣势优势:速度快,操作简单,使用灵活劣势:安全性,数据一致性,稳定性不够数据库原创 2020-12-25 13:54:01 · 158 阅读 · 0 评论 -
MySQL复杂查询
MySQL复杂查询分组查询Group by having一旦按某字段分组了,那么select子句后面就只能出现分组的字段+聚合函数如果有where 那么一定在group by 前面如果有order by 那么一定在group by 后面分组后,如果需要继续筛选,那么要在group by 后面加havingSelect->from->where->group by->having->order by->limit子查询就是查询嵌套,查询原创 2020-12-24 17:07:01 · 245 阅读 · 3 评论 -
数据库Mysql基本介绍
数据库及MySQL基本介绍数据库是什么?数据库就是长期存储在计算机中,有组织的,可共享的大量数据的集合数据库的种类关系型数据库用表的方式储存数据包括:MySQL/Oracle/SQL server/DB2非关系型数据库用文档或字符串等其他非表的方式储存数据包括MongoDB/Redis/HBase数据库管理软件英文名:DBMS包括:关系型DBMS:MySQL/Oracle/SQL server/DB2非关系型DBMS:MongoDB/Redis/HBase数据库的常用术原创 2020-12-22 00:52:30 · 589 阅读 · 0 评论 -
计算机网络应用上
计算机网络应用(上)互联网基本网络协议协议:其实就是一种规范。TCP/IP 协议。TCP:transmission Control Protocol.传输控制协议。IP: Internet Protocol.互连网络协议。OSI参考模型OSI:Open System Interconnect----开放式系统互联。1.物理层二进制的传输。为传输数据所需要的物理链路的创建,维护,拆除。常见的物理层设备:中继器,集线器。数据单位:bit。2.链路层介质访问(接入)。在不可靠的物理介原创 2020-12-16 11:20:45 · 273 阅读 · 1 评论