自动化测试

Python接口自动化实战 - 需求分析

廉价感情. 提交于 2019-11-28 02:57:34
转载: https://www.cnblogs.com/testjiali/p/10411944.html Python接口自动化实战 - 需求分析 前言: 随着产品的快速迭代,自动化测试几乎已经成为每个测试员都必须掌握的基本技能。大家都知道,产品在开发阶段是不适合用自动化,但是当产品趋于稳定状态,基本功能大体上不会改变的时候,自动化测试就会开始凸显他的优势。 这几个月工作一直在做一个即时通讯的产品(web端,安卓、Ios),产品迭代的速度很快,一周更新2次。每次发布版本,就要保证基本功能是正常的,也就是我们所说的回归测试,所以我决定要自己搭建一个接口自动化框架,来解决两个我目前遇到的问题: 1)在开发提交新的接口前进行冒烟测试,以保证系统是能够正常开展测试的 2)功能测试完成/bug回归完成后进行回归测试,保证bug修改完成后没有引入新的问题 有了这个想法,就要开始行动啦,接下来会把这几个月的学习和开发过程记录下来,也算是自己的一个小实战吧。 1.测试目的 随着公司项目的不断增大,接口的服务随之增多,回归的任务量越来越大,需要对接口进行定时回归测试来保证系统的稳定性。 1)在开发提交新的接口前进行冒烟测试,以保证系统是能够正常开展测试的 2)功能测试完成/bug回归完成后进行回归测试,保证bug修改完成后没有引入新的问题 2.测试方法 目前我们的接口都是使用的http协议

Test is dead

不羁的心 提交于 2019-11-28 00:02:35
质量很重要,毋庸置疑的。但是进入新时代-- service -based software 的大量普及,软件测试所处的环境发生变化,是值得软件测试人员思考, 认真思考一下。 “测试之死” 并不仅仅是一个噱头。 首先看看软件测试所在的环境变化: 1. "fix defect " 的成本变越来越低成本。   传统的软件发布是基于一个软件包(package),有时很大,需要四五张光盘才能安装。软件发布出去后,如果有严重问题,需要修复,那是个很头疼的事。想想丰田汽车如何被召回的。现在软件运行在浏览器,有问题只需要改一下服务器,甚至不需要重启就直接修复了。 比较一下二者的成本,就这到为什么传统的软件测试人员千方百计的在软件发布前找到尽可能多的缺陷。而现在,主要矛盾已经由软件质量本身的担忧转移为对软件发布的速度上面。 2. 软件持续发布。 持续发布,跟传统软件一年一发布策略有着天然的优势:反馈快速快,应对需求变化快,更好让用户参与,提高交付满意度等等。 比如现在用的chrome,3年多发布17个版本。然而这些对软件测试提出了新的挑战,测试要快,至少不能拖慢开发节奏。如果测试影响软件发布的时间,这是不可接受的。传统软件测试,耗时耗力。尽管自动化测试的呼声,以及对应的想法,工具,数不胜数,但是面对如此短的发布周期,软件测试人员已经有点吃力。 3. 软件的测试理论没有什么重大突破 。  

RPA让软件自动化测试迈入快车道

倖福魔咒の 提交于 2019-11-27 21:29:28
移动互联网时代,越来越多的互联网企业不断地追求一个“快”字,但是在众多企业在软件测试过程中都普遍存在不断缩短的迭代周期与落后的测试流程之间的矛盾,而RPA的出现就能很好的解决这一矛盾。 机器人流程自动化 (RPA)可以大幅地削减测试成本,并且提高测试的准确率和测试速度,缩短测试周期,并且RPA的部署简单,投入较少,帮助企业抢先一步抢占用户,占领市场。 当前,市场上众多的自动化测试工具都普遍存在一下问题: 1、操作复杂 市面上大部分的自动化测试工具,都是将自动化脚本以代码的形式展现给编写人员,这就要求测试人员需要具备一定的阅读和编写代码的能力,但是,绝大部分的测试人员是不具备这项能力的。这就造成了自动化测试工具和软件测试人员间的一个不可调和的矛盾,同时也提高了工具的使用门槛。 2、业务流程不清晰 上面提到了,由于脚本以代码形式展现在测试人员面前,因此很难清晰地展现该用例所涉及的业务流程,不熟悉该用例的测试人员,可能需要反复阅读代码,才能了解该用例所涉及的业务流,这样也就加大了测试遗漏的风险。 3、测试用例编写成本高 单条测试用例,从脚本录制,到代码编写,可能花费数小时的时间,费时费力。这便无形中增加了测试的成本,同时也造成了大部分的测试人员不愿意使用自动化工具。 RPA软件对于软件自动化测试是颠覆性的,RPA在软件自动化测试中的优势: 图形化流程展示 测试用例(业务流程

Appium+python自动化(三十三)- 测试环境和本地环境傻傻滴分不清楚-Remote(超详解)

久未见 提交于 2019-11-27 21:22:37
简介   在前边所有涉及启动app的时候有这样一行代码 driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps) ,很多小伙伴们和同学们不知道这个ip和端口哪里来的,我觉得有必要给小伙伴解释一下,于是宏哥决定写一篇关于这个appium的服务器ip文章! 来给大家答答疑,解解惑!这样就不会问一些比较幼稚的问题,让别人看了笑话,笑掉大牙了。eg:宏哥,宏哥,宏哥,那个我在测试服务器搭建测试环境,我是不是就只能在测试服务器上调试代码,然后进行测试了。那这样我还的搭建一套别写脚本的环境。。。。等等的傻白寡的问题, Remote 我们先给他相一相面,就知道它的意思是:远程。那么我们是不是把那个IP地址修改成测试服务器的IP,一切问题是不是就迎刃而解了。 目的   一般来说appium中127.0.0.1这个地址的默认的不需要修改。在做自动化过程中,如果遇到需要远程操作的话,这个功能就可以派上用场了。想想看,如果公司给你单独配置一台跑自动化测试电脑,然后自己工作的电脑写脚本,在自动化机器上运行脚本,这样工作自动化两不误,是不是很爽呢? 说明 127.0.0.1 127.0.0.1是环回(loopback)地址,用来测试本机的TCP/IP协议栈,比如你在cmd里输入:ping 127.0.0.1:

Monkeyrunner自动化测试由浅入深(第一节)

自闭症网瘾萝莉.ら 提交于 2019-11-27 18:53:36
(原版)Monkeyrunner自动化测试由浅入深(第一节) 博主原创,请勿转载 第一、相关软件和环境的配置 1、Android sdk下载和配置 2、java jdk下载和配置 第二、Monkeyrunner认识 Monkeyrunner是Android SDK中提供的一个测试工具,存放位置在SDK-tools中,以bat文件存在,即monkeyrunner.bat,双击此文件即启动monkeyrunner(启动是不是很简单,小编之前还以为monkeyrunner是需要何等高级配置) 官方定义(官方地址: http://developer.android.com/tools/help/MonkeyDevice.html ):monkeyrunner工具,其本身提供了一个API来供大家编程啦,用以控制一个android设备或者模拟器,而不用了解这个android及其应用的源码。有了monkeyrunner,我们可以写一个Python(monkeyrunner指定脚本语言,不会没关系,继续看)的程序来安装android程序或者测试包,运行编写好的脚步语言,则通过monkeyrunner则会给模拟器或者真机发送一系列控制事件,并且测试的过程中,还可以自定义重要步骤的截图(代码自动完成)。monkeyrunner的工具的作用是在功能/框架层上测试应用和设备,跑单元测试用例

Android自动化测试解决方案

人盡茶涼 提交于 2019-11-27 13:46:10
现在已经有大量的Android自动化测试架构或工具可供我们使用, 其中包括:Activity Instrumentation, MonkeyRunner, Robotium, 以及Robolectric。 另外LessPainful也提供服务来进行真实设备上的自动化测试。 Android自身提供了对instrumentation测试的基本支持,其中之一就是位于android.test包内的 ActivityInstrumentationTestCase2类,它扩展了JUnit的TestCase类来提供Android activities的功能测试。在应用测试中,每一个activity首先会被Instrumentation初始化,然后再加载到Android模拟器或设备的Dalvik虚拟机中来执行。 Android SDK自带一个测试工具MonkeyRunner,它提供的API和执行环境可以运行Python语言编写的测试代码。它提供API来连接设备,安装/卸载应用,运行应用,截屏,比对图片来判断特定命令执行后的屏幕是否包含预期信息,以及运行对应用的测试。MonkeyRunner使用 ActivityInstrumentationTestCase2, ProviderTestCase,ServiceTestCasek,

Linux环境安装教程——Centos6.6安装Selenium

限于喜欢 提交于 2019-11-27 13:21:41
本人特别喜欢在Centos下搭建环境。目前,主要负责公司的产品测试。所以,需要研究一下Selenium自动化测试如何在Centos上搭建。当然了,Selenium也可以安装在Windows,这方面的教程网上比较多就不说了。但是基于Linux特别是基于Centos的文章比较少,网上有一些安装教程都是基于Ubuntu的,而且python版本、selenium版本都比较老的。 我这次安装的都是最新版本的 先看一下本人虚拟机的系统版本 cat /etc/issue 如图:(本人的虚拟机是最小化安装的) 安装步骤也比较简单 下载get-pip.py wget https://bootstrap.pypa.io/get-pip.py 查看一下python版本,centos自带的是python2.6.6版本,我已经把它升级到了2.7.10,这是目前最新的版本。 python -V 安装pip。找到刚才下载的get-pip.py python get-pip.py 如果你没有安装setuptools,会一并安装,看下图 pip安装成功后就可以使用它安装selenium了 pip install -U selenium 下面是是整个selenium安装过程截屏。是不是看起来还是比较简单的。 来源: oschina 链接: https://my.oschina.net/u/199060/blog

Java基础教程0-测试人员为什么要掌握Java基础

给你一囗甜甜゛ 提交于 2019-11-27 11:37:34
本系列我们来学习Java的基础语法部分,和Python一样,Java也是一门编程语言,而且比Python使用更广泛,Java的开发人员数量远远要多于Python的开发人员。作为企业的软件开发来讲,一般公司都选择Java作为第一个开发语言。市场上很多的管理系统,特别是B/S架构的网站,数据查询相关产品,基本上都是Java开发的,安卓开发也要Java基础。 测试人员为什么要学Java 同行竞争力: 作为一个测试人员,如果你想有比较大的竞争力,那么你除了做好功能测试之外,需要一点自动化脚本能力,甚至是白盒测试能力。你可以说,你会Python,但是,光只会Python是远远不够的。Python是业界公认的最简单入门的开发语言,如果你同时会Python和Java,并且都能轻松利用这两门语言去编写自动化测试脚本,那么你就比只会Python编写测试脚本的其他测试人员更加有竞争力,你的发展空间就会更大。 软件测试工具的支持: 一般来说,市场上大部分的支持自动化测试的软件或者框架,都支持Java和Python语言,同时可能还支持其他语言,例如Selenium支持Java和Python和JavaScript,c#等等。QTP和LoadRunner都是支持Java编写测试脚本的。 测试开发工程师的必备技能: 测试开发工程师最早是欧美软件公司提出的概念,我们知道,国外的软件公司都很注重测试