现在位置: 首页 > 安生发表的所有文章
  • 11月
  • 17日
测试技术, 软件测试 ⁄ 共 5046字 暂无评论 ⁄ 阅读 44 次
1. 什么是接口测试 顾名思义,接口测试是对系统或组件之间的接口进行测试,主要是校验数据的交换,传递和控制管理过程,以及相互逻辑依赖关系。其中接口协议分为HTTP,WebService,Dubbo,Thrift,Socket等类型,测试类型又主要分为功能测试,性能测试,稳定性测试,安全性测试等。 在分层测试的“金字塔”模型中,接口测试属于第二层服务集成测试范畴。相比UI层(主要是WEB或APP)自动化测试而言,接口自动化测试收益更大,且容易实现,维护成本低,有着更高的投入产出比,是每个公司开展自动化测试的首选。 下面我们以一个HTTP接口为例......
阅读全文
本文主要介绍Jenkins集成taffy/nose框架进行自动化测试并输出测试报告方法。 0. 测试环境 Jenkis主节点部署在CentOS系统上,子节点为Win10 64位系统(即我们本机运行自动化测试脚本的机器)。 另外子节点Windows系统需安装jdk,本文使用版本为jdk-8u144。 1. 新增jenkins节点 1) 打开Jenkins页面,选择 Jenkins-> 系统管理 -> 管理节点 2) 点击左侧菜单-> 新建节点,填入节点名称taffy,选择Dump Slave后点击OK 3) 填入节点工作目录,如D:\jenkinsWork,选择启动方法“Launch slave agents via Java Web Start”后点击Save......
阅读全文
  • 10月
  • 12日
测试工具, 软件测试 ⁄ 共 580字 暂无评论 ⁄ 阅读 177 次
1. PyCharm可以使用两种方法,运行Nosetests测试文件: 1) 图形用户界面GUI a) 在PyCharm中,选中测试文件,如Tests/test_demo.py b) 鼠标右键选择Run 'Nosetests in test_demo.py'即可执行测试 注1:也可使用快捷键:Ctrl+Shift+F10 注2:在脚本里使用快捷键Ctrl+Shift+F10,会单独执行选中的test class或test func 2) 命令行界面CLI 在PyCharm下方Terminal终端中,输入命令执行测试: # 执行测试文件test_demo.py $ nosetests -v Tests/test_demo.py # 单独执行测试文件test_demo.py中测试类test_demo下的test_http测试方......
阅读全文
  • 09月
  • 29日
测试工具, 软件测试 ⁄ 共 5830字 暂无评论 ⁄ 阅读 168 次
1. Locust简介 Locust是使用Python语言编写实现的开源性能测试工具,简洁、轻量、高效,并发机制基于gevent协程,可以实现单机模拟生成较高的并发压力。 官网:https://locust.io/ 主要特点如下: 1) 使用普通的Python脚本用户测试场景 2) 分布式和可扩展,支持成千上万的用户 3) 基于Web的用户界面,用户可以实时监控脚本运行状态 4) 几乎可以测试任何系统,除了web http接口外,还可自定义clients测试其他类型系统 2. 安装 使用pip或easy_install,可以方便安装Locust pip install locustio 安装完成后,可以在shell或cmd中运行lo......
阅读全文
  • 09月
  • 22日
测试工具, 软件测试 ⁄ 共 1485字 暂无评论 ⁄ 阅读 45 次
最近在写taffy的时候用到了两个pip相关的小工具。 一个是pip-review批量更新lib库,一个是pipreqs生成基于项目的requirements.txt。 1. pip相关命令 #更新单个lib(不能批量更新) $ pip install --upgrade xxx #生成全部requirements.txt(不能基于项目生成) $ pip freeze > requirements.txt 2. pip-review github地址:https://github.com/jgonggrijp/pip-review 使用pip install直接安装即可: $ pip install pip-review 基本使用方法: #查看可更新lib $ pip-review #自动批量升级lib $ pip-review --......
阅读全文
  • 09月
  • 22日
测试工具, 软件测试 ⁄ 共 2545字 暂无评论 ⁄ 阅读 59 次
nose会自动识别源文件,目录或包中的测试用例。 任何匹配testMatch正则表达式(默认为(?:^|[\b_\.-])[Tt]est,在一个单词的边界处或者紧跟-或_处有test或Test)的函数或类,并且所在的模块也匹配该表达式,都会被识别为测试并执行。 出于对unittest兼容性的考虑,nose也支持继承unittest.TestCase的子类测试用例。与py.test类似,nose按照测试集在模块文件中出现的顺序执行功能测试。继承于TestCase的测试集和测试类按照字母表顺序执行。 1. Fixtures nose支持包,模块,类和函数例级别的Fixtures(setup和teardown方法,用以自动测......
阅读全文
  • 09月
  • 20日
测试工具, 软件测试 ⁄ 共 2027字 暂无评论 ⁄ 阅读 246 次
Taffy是基于nosetests的自动化测试框架。 Taffy主要用来测试后台服务接口(包括且不限于Http, Dubbo/hessian, Webservice, Socket等类型),也可以集成Selinum, Appium进行Web或APP的自动化测试。 Taffy封装实现了结果对比,配置读取,DB/Redis操作,数据加解密等接口。 基本用法可以参考:test_demo.py Github地址:https://github.com/lovesoo/Taffy 1. 运行环境 1) macOS,linux,windows 2) nose 1.3.7 3) python 2.7 2. 项目结构 1) config 配置文件 2) Tests 测试用例 3) Util 工具类 checkTool   -  比较方法及结果校验 common......
阅读全文
1. 关于PEP 8 PEP 8,Style Guide for Python Code,是Python官方推出编码约定,主要是为了保证 Python 编码的风格一致,提高代码的可读性。 官网地址:https://www.python.org/dev/peps/pep-0008/ 2. 关于Autopep8 Autopep8是自动将Python代码格式化为符合PEP 8风格的工具。它使用pycodestyle工具来确定代码的哪些部分需要被格式化。Autopep8能够修复大部分pycodestyle检测的格式问题。 github地址:https://github.com/hhatto/autopep8 3. 下载安装Autopep8 pip install autopep8 4. 使用Autopep8 命令行使用方式如下 $ autopep8 ......
阅读全文
  • 07月
  • 18日
测试技术, 软件测试 ⁄ 共 986字 暂无评论 ⁄ 阅读 239 次
最近小伙伴问了一个非常有意思的问题: Python中的位运算符包括~、&、|、……、<<、>>,都是在二进制基础之上进行的运算,其他的都能理解,但是~却理解不了。比如a=60,a的二进制为0011 1100,那么~a应该是1100 0011,转换为十进制为195啊!怎么解释里为~a=-(a+1)=-61?   翻了下《Python核心编程》,记录这个问题的解决思路: 1. 首先我们需要明白,python里的标准整形数字,在32位及64位机器上的取值范围如下: 32位:-2^31~2^31-1 64位:-2^63~2^63-1   2. ~运算的标准解释是: ~num 单目运算,对数的每一......
阅读全文
  • 07月
  • 17日
测试技术 ⁄ 共 7226字 暂无评论 ⁄ 阅读 172 次
1.简介 正交试验法是研究多因素、多水平的一种试验法,它是利用正交表来对试验进行设计,通过少数的试验替代全面试验,根据正交表的正交性从全面试验中挑选适量的、有代表性的点进行试验,这些有代表性的点具备了“均匀分散,整齐可比”的特点。 正交实验法设计测试用例,基本步骤如下: 1. 提取测试需求功能说明,确定因素数和水平数 2. 根据因素数和水平数确定n值 3. 选择合适的正交表 4, 根据正交表把变量的值映射到表中,设计测试用例数据集 本文参考如上步骤,使用Python实现了使用正交表自动设计测试用例的完整流程。 GitHub地址......
阅读全文
  • 06月
  • 28日
测试技术, 软件测试 ⁄ 共 4121字 暂无评论 ⁄ 阅读 256 次
Python最大的优点之一就是语法简洁,好的代码就像伪代码一样,干净、整洁、一目了然。要写出 Pythonic(优雅的、地道的、整洁的)代码,需要多看多学大牛们写的代码,github 上有很多非常优秀的源代码值得阅读,比如:requests、flask、tornado,下面列举一些常见的Pythonic写法。 0. 程序必须先让人读懂,然后才能让计算机执行。 “Programs must be written for people to read, and only incidentally for machines to execute.” 1. 交换赋值 ##不推荐 temp = a a = b b = a ##推荐 a, b = b, a # 先生成一个元组(tu......
阅读全文
  • 06月
  • 07日
测试技术 ⁄ 共 1458字 暂无评论 ⁄ 阅读 196 次
python2.7中提供了两种方法对list进行排序,分别是list成员函数sort及built-in函数sorted. 函数原型分别如下: 1) sort(...) L.sort(cmp=None, key=None, reverse=False) -- stable sort *IN PLACE*; cmp(x, y) -> -1, 0, 1 2) sorted(...) sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list 2个函数参数及功能基本一致,唯一的区别是sort是在原有list上修改排序,sorted则是排序生成新的列表。 以sorted函数为例,参数详解如下: 1)iterable:能够一次返回它的一个成员的对象。iterable主要包括3类......
阅读全文