![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
软件测试
文章平均质量分 52
测试相关技能的回顾与复习
影子大人の博客
学习,是一件痛并快乐的事情。
展开
-
软件测试——从0开始的ios自动化测试(二)
ios自动化测试原创 2022-11-23 16:09:06 · 711 阅读 · 1 评论 -
软件测试——从0开始的ios自动化测试(一)
ios手机的自动化测试相关内容原创 2022-11-22 22:04:38 · 920 阅读 · 0 评论 -
最简单测试工具开发教程(有手就行)
3分钟,学会写测试工具。我们的口号是,能简单则简单。原创 2022-05-25 23:36:25 · 4559 阅读 · 5 评论 -
软件测试(测试开发之测试工具开发5——炫酷的界面)
学完前面的章节,我们大概对pyqt有了一点初步相关基础知识的认识。现在可以来学着弄点更有设计感的界面了。我们这里一起来学习下,Wanderson大佬分享的的PyOneDark客户端的设计。这里先上成品图是不是看上去就很炫酷。那我们就一步一步,看看大佬是怎么设计的。一、Pyside6大佬的这个是用的pyside6去实现的,至于pyside和pyqt的关系,大家自行百度,基本大同小异,前期基础几乎一样。首先,下载pyside6pip install PySide原创 2022-04-14 03:36:46 · 2468 阅读 · 1 评论 -
软件测试(测试开发之测试工具开发4——美化小技巧)
之前我们已经学过了,如何画控件以及如何布局。但是我们肯定不太满意的,感觉就,挺难看的。那我们就学习下,如何美化,让它变得更加的高大上一点。我们先回顾下,之前画的demo的样子一、取消标题栏self.setWindowFlags(Qt.FramelessWindowHint) 这里注意,取消标题栏后,就无法移动了,我们需要重写三个方法二、无边框移动 def mouseMoveEvent(self, e: QMouseEvent): # 重写移动事原创 2022-04-11 02:15:57 · 3770 阅读 · 0 评论 -
软件测试(测试开发之测试工具开发3——基础布局)
上节,我们讲了怎么画控件,以及监控增加对应的事件方法。这节,我们讲下布局,可能会涉及到一些其他的控件元素。一、绝对定位像我们之前写demo时,就一直用的绝对定位——以像素为单位指定每个小部件的位置和大小这种定位方式,在稍微复杂一点的界面改变整体局部的时候,会比较繁琐。二、横向和纵向布局QHBoxLayout——横向布局类QVBoxLayout——纵向布局类这就是横向布局的效果了这就是纵向布局的效果。有些同学可能会觉得,这看着不太对劲啊,能.原创 2022-04-07 08:20:29 · 401 阅读 · 0 评论 -
软件测试(测试开发之测试工具开发2——基础控件与事件方法)
上节,我们初步了解了下pyqt是什么,并且写了个helloworld的小demo。今天我们正式的来学下,怎么来画它。这边不会采取官方教程那种特别全面的介绍方式。因为它真的太多了,很多东西都平时用不上,我们就讲几个比较常用的组件。一、初始模板上图就是一个初始的QT模板,只设置了窗口位置,窗口大小和窗口的标题。我们运行下,看下效果。大概就是这样,白茫茫一天,啥都没有。然后我们就可以开始画图了。二、按钮pyqt的按钮是QPushButton 这个控件类。原创 2022-04-06 01:41:53 · 4320 阅读 · 0 评论 -
软件测试之从0到1完成UI自动化测试框架搭建系列(3)
上节,我们讲了下,如何运用uiautomator2+atx+pytest进行自动化的单元测试。这节,我们再思考下,如果我们每条用例,都去一步一步,先元素定位,然后写操作,然后写各种方法。那这个代码量是不是就有点偏多了。另外也不方便维护,比如哪天APP的某个元素定位迭代修改了,还得一个一个去改对应用例的逻辑。所以,我们这边引入了PO设计模式。将uiautomator2方法,元素定位,页面操作,测试用例全部分离。这样可以大大减少我们代码量,更为方便的维护我们的测试用例。PO模式页原创 2022-04-04 22:52:01 · 832 阅读 · 0 评论 -
软件测试(测试开发之测试工具开发1——helloworld)
这期我们来学习下,测试工具的开发。在我们实际的测试工作中,经常会写一些脚本,来辅助测试。比如测试数据的制造,测试场景的制造等等。可能你写的脚本,很方便,可以推广给你的同事或者朋友。但是他们看不懂你的脚本,又或者没有脚本所依赖的环境,怎么办呢?这个时候,就可以编写图形界面化的测试工具了~这个我们可以学习一下,python中比较热门的GUI库——pyqt6.PyQt6python最热门的GUI库,包含一系列的模块,编写我们想要的桌面程序。我们简单的讲,我们就整2部分,画图 和 写逻辑原创 2022-04-02 00:48:04 · 7252 阅读 · 0 评论 -
软件测试之从0到1完成UI自动化测试框架搭建系列(2)
上节课,我们学会了如何使用uiautomator2+atx编写简单的android自动化脚本。但是有个问题,大家可以思考下,光用自动化脚本让它自己动起来,是不是缺了点什么?我们写测试用例的时候,是不是经常写:用例名 + 前置条件 + 操作步骤 + 预期结果 + 实际结果。用这个方法去判断一条用例是否通用?自动化脚本呢,充其量,相当于操作步骤。我们还需要 部分前置条件,预期结果,通过预期结果和实际结果的比对,来判断用例是否pass。所以我们这里引入了单元测试框架pytest。原创 2022-04-01 01:51:54 · 3444 阅读 · 0 评论 -
软件测试之从0到1完成UI自动化测试框架搭建系列(1)
我们这个系列主要是讲如何进行安卓的ui自动化的实现方案。大致方案是 uiautomator2+atx+pytest+po+allure我们由浅入深,一个一个模块学过去,学完发现其实也都是些很简单的东西~uiautomator2是一个python的第三方库,用于android自动化。1、下载uiautomator2pip install uiautomator22、连接手机usb线连接安卓手机,打开开发者调试模式,使用adb命令可以查询到对应设备号adb devic原创 2022-03-31 02:29:31 · 1264 阅读 · 0 评论 -
软件测试(自动化之web端自动化5——selenium等待机制)
上节讲了关于元素交互的几个基础操作。然后我们在不断的模拟用户交互的时候,有时会遇到一些问题。比如,点击刷新按钮后,页面刷新较慢,刷新的过程中,代码无法识别到元素,产生相关的报错。这种场景我们通常是采用“等待”的方式去完成的。这里我们介绍三种等待方式:一、强制等待所谓强制等待,就是指定一个时间,我们去固定这个时间等待,等待时间完成后,再进行下一步。比如这里的 time.sleep()方法。这个是为了方便我截图,在完成交互后,等待2s,展示页面,再去关闭会话。上面介绍的强原创 2022-03-15 08:25:52 · 1205 阅读 · 0 评论 -
软件测试(自动化之web端自动化4——selenium元素交互)
上节,我们学习了下怎么进行元素定位。那么我们定位到某个元素之后呢,就要去对这些元素进行相关的交互了。这里我们介绍下仅有的五种元素交互方式1、clickclick是点击的意思,它适用于任何元素。常用于点击页面相关的功能按钮2、send_keyssend_keys是发送键位,仅适用于文本字段和内容可编辑元素。常用于在内容编辑控件输入一直内容,比如搜索栏输入搜索内容3、clearclear是清除内容,仅适用于文本字段和内容可编辑元素这个和上面的send_keys原创 2022-03-13 03:21:33 · 838 阅读 · 0 评论 -
软件测试(自动化之web端自动化3——selenium元素定位)
上节,我们讲了web端自动化脚本编写,大致分哪几步,这里,我们展开来谈一下“元素定位”。首先,我们知道了,webDriver元素定位有这8种,那么这8种,我们要怎么用,如何根据场景,优先选择适合的呢?这里还是拿百度首页举例好了。我们先打开百度首页然后按F12我们找到这个select 元素控件的功能按钮然后选中你想定位的元素控件点击控件这里我们可以看到前端具体的代码,很多信息,我们都能清晰的看到了。比如控件的id,na...原创 2022-03-13 02:53:19 · 1761 阅读 · 0 评论 -
软件测试(自动化之web端自动化2——selenium脚本编写)
上节我们把selenium的库和浏览器的驱动都装好了,并且写了个打开百度的小demo。这次我们介绍,怎样去写web端的自动化脚本。一、驱动实例开启会话driver = webdriver.Chrome()二、打开网页链接driver.get("http://www.baidu.com")这里我们以百度首页为例三、定位元素webDriver提供了8种不同的元素定位方法,这个我们看具体情况分析。内容篇幅有限,我们下次单独拿出来一一介绍,这次我们就举例看看sear原创 2022-03-13 01:12:23 · 763 阅读 · 0 评论 -
软件测试(自动化之web端自动化1——selenium前置准备)
软件测试的进阶方向,有自动化、性能、安全等多个领域。愈来愈内卷的环境下,作为一个合格的测试工程师,基本是多个领域都得懂点儿。今天我们先一起学习下前端的自动化要如何进行。一、下载安装前端最主流的自动化框架,应该就是selenuim了。1.1 下载第三方库这里我们在命令行用pip下载pip install selenium1.2 下载浏览器驱动Selenium 通过使用 WebDriver 支持市场上所有主流浏览器的自动化。这里的WebDriver是一种API和协议,每个不原创 2022-03-12 03:35:03 · 790 阅读 · 0 评论 -
软件测试(测试开发之前端页面开发1——html)
html是超文本标记语言,是用标签画网页的语言。我们创建一个html后,它的标准样式是这样的。这里我们介绍下,所谓标签,它的格式大概是这样的标签格式<标签名 标签属性>标签内容</标签名>例如<html lang="en"> </html>标签嵌套标签之间可以相互嵌套例如<html><head></head></html>网页结构基础结构<html>&l原创 2022-03-08 19:22:25 · 428 阅读 · 0 评论 -
软件测试(测试开发之后端接口开发3——请求体)
上节我们讲了如何设置接口路径和接口参数。但是那种接口后面加参数的,一般只有get请求。那我们其他请求方式(如post)呢?没错,就用请求体发送。老规矩,先上代码这里我们介绍下,我们新引入了一个pydantic库。pydantic —— 使用Python类型提示来进行数据验证和设置管理的库。从上图从,我们先创建了一个数据模型Student,然后声明了它的三个属性和类型。同样的方式,在接口方法里面作为参数传入,然后运行一下这里值得注意的是,如果按以上步骤去做类型声明,原创 2022-03-04 05:15:21 · 2222 阅读 · 0 评论 -
软件测试(测试开发之后端接口开发2——路径&请求)
上次我们用FastAPI写了个helloworld,这次我们继续深入,内容不多,都挺简单的,太难的和用不上的,我们直接跳过,自己想了解再去研究。一、路径参数之前我们写的那个helloworld的接口,访问的连接是http://127.0.0.1:8000这个是我电脑本地默认的连接与端口号。这个跟常见的接口有点不同对吧,例个例子就比如这个接口,它是由三个部分组成的,前面的是域名,中间的是路径,后面的是参数。那我们要怎么给它设置路径呢?直接上代码...原创 2022-02-26 22:55:11 · 620 阅读 · 0 评论 -
软件测试(测试开发之后端接口开发1——helloworld)
不会开发的测试,不是好程序员。在测试进阶的道路中呢,我们可能需要点亮一些新的技能,比如测试工具开发,测试后台开发等.有些同学可能编程基础,没那么好,看到这个就慌了。不要慌,我们由浅入深,一步一步来。我们还是用python的FastAPI去实现,一、下载FastAPIpip install fastapi[all]二、写个HelloWorld三、运行程序终端进入main.py所在目录,输入uvicorn main:app --reload启动成功,我们本地原创 2022-02-26 01:54:28 · 679 阅读 · 0 评论 -
软件测试(接口测试一:写接口)
服务端和前端的交互,都是前后端约定字段,后端提供接口,然后前端(客户端)去调用接口获取相关数据,然后在前端展示给用户。对于黑盒测试来说,我们作为专业的测试人员,发现bug后,首先要做的,并不是直接提单发,而是去定位相关问题的原因。...原创 2022-02-25 00:18:28 · 409 阅读 · 0 评论 -
软件测试(白盒测试入门之gtest测试)
一、gtest是什么gtest全程为GoogleTest,是一个跨平台的(Liunx、Mac OS X、Windows、Cygwin、Windows CE and Symbian)C++单元测试框架,由google公司发布。如何去下载,调用,这个可以去找下相关教程,还需要先学下cmake相关的知识。篇幅有限,我们有空再讲。二、gtest能做什么gtest提供了丰富的断言、致命和非致命判断、参数化、”死亡测试”我们直接举个栗子:我们写了一个a+b的加法函数,输入2个int型的数原创 2022-01-31 02:58:13 · 7972 阅读 · 0 评论 -
使用django完成一个测试用例管理平台的demo
1、首先,我们创建项目,test_case_management,这里简称tcmdjango-admin startproject tcm2、在tcm的项目下创建我们的应用test_case3、修改应用下的models.py,完成模型的定义并输入python manage.py makemigrations这条命令的作用是记录我们对models.py的所有改动,并且将这个改动迁移到migrations这个文件下生成一个文件例如:0001文件。然后输入python mana原创 2021-06-30 02:58:16 · 1604 阅读 · 1 评论 -
django入门学习
一、认识djangoDjango 是使用 Python 语言开发的一款免费而且开源的 Web 应用框架。由于 Python 语言的跨平台性,所以 Django 同样支持 Windows、Linux 和 Mac 系统。二、下载与安装 python下载:自行官网下载安装 django下载:pip install django 验证django下载是否成功:pip show django三、项目与应用创建项目 :django-admin sta...原创 2021-06-29 04:07:30 · 5356 阅读 · 3 评论 -
软件测试(1黑盒测试用例设计)
软件测试最基础的内容,就是测试用例的设计与执行。如何设计测试用例呢?这就需要我们结合相关的功能文档和测试方法去进行分析。一、多角度设计用例举个栗子,常见的面试题,给你一个杯子,如何去设计它的测试用例。功能测试:主要关注水杯基本功能1.1 水杯是否可以正常装水1.2 水杯是否可以正常喝水1.3 水杯是否有盖子,盖子是否可以正常盖住1.4 水杯是否有保温功能,保温功能是否正常保温1.5 水杯是否会漏水,盖住盖子拧紧后是否会漏水界面测试:主要关注水杯外观、颜色、设计等方面原创 2022-01-31 02:20:12 · 387 阅读 · 0 评论