测试脚本

性能工具之Taurus使用(入门篇)

拜拜、爱过 提交于 2020-01-25 02:23:50
文章目录 前言 运行现有 JMeter 脚本 使用 YAML 创建 JMeter 脚本 小结 前言 在上篇文章中,我们详细介绍了 Taurus 的常规和 docker 安装,这篇我们一起来看下如何入门使用 Taurus 结合 JMeter做压测。 性能工具之Taurus入门(安装篇) 运行现有 JMeter 脚本 Taurus 能够支持现有 JMeter(或 Grinder 或 Gatling 或 Selenium)测试引擎的能力, 同时也能够支持直接解析原生脚本,如 JMeter JMX文件。其默认执行引擎是 JMeter,因此,如果已经使用 JMeter创建了 JMX 文件,那么使用 Taurus 可以很容易地运行,只需使用 bzt 命令以及 JMX 路径即可。 我在这里简单使用示例脚本: build-web-test-plan.jmx 执行命令: bzt example.jmxbzt build-web-test-plan.jmx -o modules.jmeter.version = 5.2.1 将能够看到包含所有 Taurus 报告的全屏仪表板。该仪表板具有 ASCII 图,可显示有关测试的关键统计数据和各种指标。 测试后摘要报告如下所示: 注意: 这里我使用可以使用 -o 参数从命令行覆盖配置选项,因为默认配置的 JMeter 版本为 5.1 会报 404

Git分支版本管理

一世执手 提交于 2020-01-20 04:10:17
Git分支版本管理   现在主流的代码管理工具基本上就是git了,svn虽然说也有人在用,但是毕竟不是那么的多了,git就不一样了,依旧是在呗大多数人所接受着,国内一般人使用的是 开源中国 的git库管理,也有人在用国外的 GitHub 去做云端的库管理,甚至也可以自己搭建Git管理的中央库,例如 gitlab 等。   在使用Git去管理最重要的一点就是分支的管理,官网是这么说的:   首先我看中的是第二点,基于角色,也就是说git当中每一个分支都是一个角色,各有各的功能,例如开发分支、生产分支、测试分支等等。   那第一点和第三点是什么意思呢?在我的理解看来第一点和第三点所说的是临时分支,何为临时分支,临时就是用的时候就用不用的时候就删除掉,不会被保留下,这就是临时分支,同样第四点也是差不多的含义,这是 Git 很好用的一个特性,方便开发对某一个单独的功能进行测试。 下面来一张我自己所理解到的Git分支管理的流程图   下面说下我图里面的所有相关分支信息 Master分支: 主分支 ,用来发布生产环境代码或者说线上代码,只有项目管理员或者发布人员才有权限去进行修改; Develop分支: 开发分支 ,所有的开发人员使用的分支,同样只有项目管理员以及开发人员才能查看,当所有功能都开发完毕之后此分支就是最新的代码分支; Test分支: 测试分支 ,该分支为动态生成,非存储

Python - pytest:

喜欢而已 提交于 2020-01-18 16:14:51
快速入门 pytest是Python的单元测试框架,同自带的unittest框架类似,但pytest框架使用起来更简洁,效率更高。 pytest特点 入门简单易上手,文档支持较好。 支持单元测试和功能测试。 支持参数化。 可以跳过指定用例,或对某些预期失败的case标记成失败。 支持重复执行失败的case。 支持运行由unittest编写的测试用例。 有很多第三方插件,并且可自定义扩展。 方便和支持集成工具进行集成。 安装 pip install pytest 测试 C:\Users\Anthony>pytest --version This is pytest version 5.2.2, imported from c:\python36\lib\site-packages\pytest.py 在测试之前要做的准备 我的演示脚本处于这样一个的目录中: M:\py_tests\ # 我的是M盘的 py_tests 目录,所有操作都在 py_tests 目录内完成 ├─scripts │ ├─test_case_dir1 │ │ ├─test_case_02.py # 用例脚本文件 │ │ └─__init__.py │ ├─test_allure_case.py # 脚本文件 │ ├─test_case_01.py # 脚本文件 │ └─__init__.py ├─report

最完整的自动化测试流程:Python编写执行测试用例及定时自动发送最新测试报告邮件

我与影子孤独终老i 提交于 2020-01-16 05:54:31
最完整的自动化测试流程:Python编写执行测试用例及定时自动发送最新测试报告邮件 今天笔者就要归纳总结下一整套测试流程,从无到有,实现零突破,包括如何编写测试用例,定时执行测试用例,查找最新生成的测试报告文件,自动发送最新测试报告邮件,一整套完整的测试流程。以后各位只要着重如何编写测试用例即可,其他模板可以套用的,希望帮助到大家。 目录 一、编写测试用例 二、执行测试用例,查找最新测试用例,自动发送测试报告 三、定时执行测试用例 3.1方案一:Windows任务计划 3.2方案二:Jenkins持续集成 四、成果验收 环境准备: 操作系统:Windows7 集成开发环境:eclipse+pydev 一、编写测试用例 点击返回目录 可以直接使用Python自带的单元测试框架unittest来编写自动化测试用例,利用其组织测试用例,断言预期结果,以及批量执行测试用例等功能,可以很好的进行Web自动化测试的开发。 可以直接查看我另外一篇博文总结: unittest单元测试框架总结 里边详细总结了 使用unittest框架编写测试用例思路(模板) 和 使用unittest框架编写测试用例实例 。 目录结构如下组织: 如上图:test_case目录下有两个测试用例,其中test_baidu.py实例代码在博文“unittest单元测试框架总结”中有贴出。其他实例,可以参考模板实现

xss跨站脚本测试

流过昼夜 提交于 2020-01-15 00:54:24
测试的时候会涉及到xss测试,下面简要整理下xss的知识 xss跨站脚本特点就是能注入恶意的HTML/JS代码到用户浏览器,劫持用户会话,如果确认存在漏洞,会随着注入的内容不同而产生危害比如:窃取cookie,网页挂马,恶意操作,跨站蠕虫等等 分类: 反射型:非持久,一般为一个url,需要用户单击,在url中参数传入 持久型:常存在于评论等交互中,常见于<textarea>这种标签,可用于挂马钓鱼渗透等 可见,为了防止xss,字符过滤可以有效的较少被攻击的危害,但是xss攻击不止这么简单, 它还可以绕过服务端的xss过滤!!!待续 ps:常用的xss攻击语句列表 https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet 英文 http://drops.wooyun.org/tips/1955 中文 如果可以发现最基础的xss可以执行,那么就可以注入其他有害的操作或者获取信息 例如一些javacript事件:onerror,onfocus,onclick,ontimeout。。。 http://wenku.baidu.com/link?url=q9-QLRlKm788Hdn7F0-Fy2Ujqg8N995-DLk4cS_cXdds1h9lQIvtGf78KbUM55GtKiS6qTwd-

关于MySQL的基准测试

痴心易碎 提交于 2020-01-13 00:15:03
什么是基准测试 当我们对数据库进行优化后,只有进行测量系统性能才能知道优化是否有效,这种测量的方式就是基准测试。基准测试的定义如下: 基准测试是一种测量和评估软件性能指标的活动用于建立某个时刻的性能基准,以便当系统发生软/硬件变化时,重新进行基准测试以评估变化对性能的影响 我们可以这样认为: 基准测试是针对系统设置的一种压力测试,可以用来观察系统在不同压力下的行为。评估系统的容量,观察系统如何处理不同的数据。 但是基于测试不等同于压力测试: 基于测试:直接、简单、易于比较,用于评估服务器的处理能力。基准测试可能不关心业务逻辑,所使用的查询和业务的真实性可以和业务环节没有关系 压力测试:对真实的业务数据进行测试,获得真实系统所能承受的压力。压力测试需要针对不同的主题,所使用的数据和查询也是真实用到的 对MySQL进行基准测试的目的: 1、建立MySQL服务器的性能基准线,确定当前MySQL服务器的运行情况 2、模拟比当前系统更高的负载,以找出系统的扩展瓶颈。增加数据库的并发,观察QPS、TPS的变化,以确定并发量与性能最优的关系 3、测试不同的硬件、软件和操作系统配置 4、证明新的硬件设备是否配置正确 如何进行基准测试 通常来说,基准测试有两种方式: 1、对整个系统进行基准测试:从系统的入口进行测试(网站Web前端,手机APP前端) 优点:能够测试整个系统的性能,包括web服务器缓存

Web安全测试漏洞场景

风流意气都作罢 提交于 2020-01-09 10:36:42
HTTP.sys 远程代码执行 测试类型: 基础结构测试 威胁分类: 操作系统命令 原因: 未安装第三方产品的最新补丁或最新修订程序 安全性风险: 可能会在 Web 服务器上运行远程命令。这通常意味着完全破坏服务器及其内容 技术描述: 通过 IIS 6 引入的 HTTP 协议堆栈 (HTTP.sys) 错误地解析了特制的 HTTP 请求。因此,远程攻击者可能执行拒绝服务供给,并可在系统帐户的环境中执行任意代码。该漏洞会影响 Windows 7、Windows Server 2008R2、Windows 8、Windows Server 2012、Windows 8.1 和 Windows Server 2012 R2 上安装的 IIS。Microsoft 发布了通过修改 Windows HTTP 堆栈处理请求的方式来解决漏洞的更新。 利用的样本: GET / HTTP/1.1 Host: [SERVER] Range: bytes=0-18446744073709551615 SQL 盲注 测试类型: 应用程序级别测试 威胁分类: SQL 注入 原因: 未对用户输入正确执行危险字符清理 安全性风险: 可能会查看、修改或删除数据库条目和表 技术描述: 该软件使用受外部影响的输入来构造 SQL 命令的全部或一部分,但是它未能对可能在 SQL

test_app.sh

夙愿已清 提交于 2020-01-06 21:47:56
Google 为保证 Android Go 基本性能所做的测试脚本. 需要配合 Linux 和 Userdebug 版本使用. 该测项主测 APP 启动时间已经 PSS、GPU Info 等指标. 错误警报 & 错误原因 测试脚本通过 shell am start 启动 Activity 来进行测量. 有些 Activity 组件名字带有 "$" 字符无法被 shell 传递, 导致 Activity 无法正常启动而导致测试中断. 解决方法 修改测试脚本: adb shell am start -S -W "'''"$package/$activity"'''">/dev/null 来源: 51CTO 作者: 注定分享 链接: https://blog.51cto.com/13726600/2110203

转载ui自动化测试的深刻认识

霸气de小男生 提交于 2020-01-06 17:08:32
我发现了,大家极度关心自动化测试,尤其是UI自动化测试,虽然现在作为专项测试,离开这些越来越远了,但总能遥想以前,我总能想起自己做nokia的WindowsLive的ui自动化,做web的自动化测试,后面加入腾讯,写过pc的自动化,作为早期的终端测试,做android的自动化,然后mac的,然后ios。 先不说有多少成功经验,但是确实有一些感悟,现在分享给大家,希望能帮助大家思考,少走弯路。 *UI自动化测试的真实价值 图片发自简书App 测试生命中三大幻觉: 今天能发布 明天能发布 UI自动化实现了,测试就可以不用测了 正正是第三点赋予了ui自动化测试错误的价值。让UI自动化测试验证UI, 利用图片比较去做自动验证,甚至利用截图定位按钮。真是找死的节奏呀。 现在我带大家认识下它的真正价值。 验证逻辑而非UI UI的验证会引入大量的不稳定因素。换句话说,像当年的测试大牛段念说的,你跑过了UI自动化,你就相信没问题了吗?不会相信,原因是啥?因为聪明的你会发现,你验证的东西越多,例如界面的每个按钮,颜色,排布,互联网应用变化最大的就是UI, 你的用例就越不稳定,所以你最终肯定不会验证全部UI。那结果就是"然并卵"了, 你根本不会相信这个用例真的通过了。因此给大家定个UI自动化能做的,验证逻辑(另外一种说法,说这种叫功能自动化)。什么叫验证逻辑?例如验证qq是否登录成功,验证到了好友列表

MySQL压力测试工具使用

谁说胖子不能爱 提交于 2020-01-02 19:05:51
一、MySQL自带的压力测试工具——Mysqlslap mysqlslap是mysql自带的基准测试工具,该工具查询数据,语法简单,灵活容易使用.该工具可以模拟多个客户端同时并发的向服务器发出查询更新,给出了性能测试数据而且提供了多种引擎的性能比较。mysqlslap为mysql性能优化前后提供了直观的验证依据,系统运维和DBA人员应该掌握一些常见的压力测试工具,才能准确的掌握线上数据库支撑的用户流量上限及其抗压性等问题。 1、更改其默认的最大连接数 在对MySQL进行压力测试之前,需要更改其默认的最大连接数,如下: [root@mysql data]# vim /etc/my.cnf #编辑主配置文件 [mysqld] ............#省略部分内容 max_connections=1024 如下: mysql> show variables like 'max_connections'; #查看最大连接数 +-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | max_connections | 1024 | +-----------------+-------+ 1 row in set (0.00 sec) 进行压力测试: [root@mysql ~]#