自动化测试

自动化用例设计

一个人想着一个人 提交于 2019-12-04 00:17:05
  用例设计部分,无论是手工测试还是自动化测试,都必须要的环节,也是非常重要的环节。在做自动化的时候,用例需要考虑前置后置、步骤和对比,每一个部分都要有提供非常明确的测试数据,要考虑数据的重复使用是否会影响脚本的执行结果。 自动化用例设计原则 1.不是所有的手工用例都要转成自动化测试用例 2.考虑到脚本开发的成本,不要选择流程太复杂的测试用例,如果有必要,可以考虑把流程拆分成多个用例来实现脚本 3.选择的用例最好可以构建成场景。例如,一个功能模块,分多个用例,多个用例使用同一个场景 4.选择的用例可以带有目的性。例如,这部分是用来做冒烟测试,那部分测试是做回归测试等等,当然,会存在重叠的关系。如果当前用例不能满足需求,那么唯有修改用例来适用脚本和需求 5.选取的用例可以是你认为重复执行,很繁琐的部分。例如,字段验证、提示信息验证这类,这部分适用于回归测试 6.选取的用例可以是主体流程,这部分适用于冒烟测试 7.自动化测试也可以用来做配置检查、数据库检查。这些可能超越了手工用例,但也算是拓展的一部分,项目负责人可以有选择的增加 8.平时在手工测试时,如果需要构造一些复杂的数据或重复一些简单的机械式动作,则告诉自动化脚本,让它来帮你,或许你的效率会因此得到提高 编写自动化用例遵循的原则 1.一个用例为一个完整的场景,从用户登录系统到最终退出并关闭浏览器 2.一个用例只验证一个功能点

django开发自动化测试平台简介

偶尔善良 提交于 2019-12-04 00:06:32
Django的优点 1:功能完善、要素齐全:自带大量常用工具和框架(比如分页,auth,权限管理), 适合快速开发企业级网站。 2:完善的文档:经过十多年的发展和完善,Django有广泛的实践案例和完善的在线文档。开发者遇到问题时可以搜索在线文档寻求解决方案。 3:强大的数据库访问组件:Django的Model层自带数据库ORM组件,使得开发者无须学习SQL语言即可对数据库进行操作。 4:Django先进的App设计理念: App是可插拔的,是不可多得的思想。不需要了,可以直接删除,对系统整体影响不大。 5:自带台管理系统admin:只需要通过简单的几行配置和代码就可以实现一个完整的后台数据管理控制平台。 6:Django debug信息详尽: 很容易找出代码错误所在。 Django的缺点 1:大包大揽: 对于一些轻量级应用不需要的功能模块Django也包括了,不如Flask轻便。 2:过度封装: 很多类和方法都封装了,直接使用比较简单,但改动起来就比较困难。 3:性能劣势: 与C, C++性能上相比,Django性能偏低,当然这是python的锅,其它python框架在流量上来后会有同样问题。 4:模板问题: django的模板实现了代码和样式完全分离,不允许模板里出现python代码,灵活度对某些程序员来说可能不够。 利用django开发自动化测试平台思想 开发构思: 1

测试总结记录1

巧了我就是萌 提交于 2019-12-03 22:37:50
自动化测试不能取代人工测试,事实上两种测试的定位是不同的。自动化测试是为了回归,而人工测试是为了探索。一旦探索测试中的一部分开始变得常规化,则可以将其编写成自动化测试用例后续自动执行回归,而让测试人员重新投入更有创造性的测试工作。 自动化的系统测试也不能取代自动化的单元测试。从前面的四象限可以看到,系统测试是帮助产品的,而单元测试为了帮助开发团队的,两者的定位和价值方向不同。 来源: https://www.cnblogs.com/caojuansh/p/10576226.html

利用Selenium和PhantomJS在Centos下跑测试

為{幸葍}努か 提交于 2019-12-03 21:14:25
做过selenium自动化项目的同学应该都遇到过这样的问题:测试用例太多,运行速度过慢导致团队成员怨声载道。 于是便有了selenium grid和多线程运行selenium测试用例的方法。这些方法各有利弊这里就不一一列举了。但总的来说,如果浏览器运行的速度足够快,那么多线程并发时的用例执行速度应该是可以满足实际项目需求的。 总结 踩的一些坑 1.字体。安装成功后,截图发现没有字体。 参考连接 http://www.easonhan.info/phantomjs/2015/01/10/ghost-driver/ http://www.lao8.org/article_1550/linux_centos_phantomjs http://phantomjs.org/build.html http://type.so/linux/phantomjs-chinese.html http://blog.csdn.net/wang1144/article/details/41746665 http://www.jhonge.net/Home/Single/26626627 来源: oschina 链接: https://my.oschina.net/u/199060/blog/488647

web-自动化测试流程

你说的曾经没有我的故事 提交于 2019-12-03 17:28:12
1. 自动化测试流程   (1) 需求分析   (2) 挑选适合做自动化测试的功能   (3) 设计测试用例   (4) 搭建自动化测试环境 [可选]   (5) 设计自动化测试项目的架构 [可选]   (6) 编写代码   (7) 执行测试用例   (8) 生成测试报告并分析结果    2、 自动化项目框架自动化框架   ①  顺序:先编写工具类 --> (父类) -->PO 代码(对象库存 --> 操作层 --> 业务层) -->unittest 框架编写脚本(数据驱动 JSON 读取) --> 测试报告 --> 日志   ②  用了 selenium 和 unittest 框架 使用 po 三层分层模式进行框架设计   ③  然后编写测试脚本调用 用 unittest 框架编写 数据驱动 存放测试 数据   ④  执行完成了之后 通过第三方模块生成测试报告   ⑤ 日志 Base :存放 PO 继承 Page : PO 文件(用例,报告) Data : json 数据文件夹 Img :截图文件夹 Log :日志存储文件夹 Report :测试报告存储 Script :脚本文件夹(用例脚本,报告脚本,用例套件脚本) Until :工具类 来源: https://www.cnblogs.com/bufangyyyyy/p/11804784.html

《Python自动化测试九章经》

浪子不回头ぞ 提交于 2019-12-03 15:29:26
Python是当前非常流行的一门编程语言,它除了在人工智能、数据处理、Web开发、网络爬虫等领域得到广泛使用之外,他也非常适合软件测试人员使用,但是,对于刚入行的测试小白来说,并不知道学习Python语言可以用来完成哪些测试工作,或者已经掌握了一些Python编程基础,但不知道如何在工作和项目中应用。 我录制了一套视频,帮助大家梳理了Python在测试工作中应用的各个方面,命名为《Python自动化测试九章经》 如果你想在测试工作中尝试用Python完成自动化测试,那么应该跳不出这个范围。我每一章节我都介绍了当前最热门的测试库和框架。让你快速的对这些工具和框架建立概念,以及如何使用。 注:课程的定位为精品小课。 课程大纲 第一章 自动化测试的基石-单元测试框架 1.1 单元测试基本概念 1.2 如何编写测试用例 1.3 基础概念fixtrue 1.4 基础概念之断言 1.5 基础概念之测试运行 1.6 单元测试框架之nose2 1.7 单元测试框架之pytest 第二章 Web自动化测试 2.1 Selenium介绍 2.2 selenium元素定位 2.3 selenium应用 2.4 集成unittest 2.5 测试框架之SeleniumBase 第三章 接口自动化测试 3.1 接口测试基础 3.2 Requests介绍 3.3 集成unittest 3.4

学习Python对做测试有哪些好处?

大城市里の小女人 提交于 2019-12-03 13:14:39
世界上最遥远的距离不是生与死的距离 而是我在if 里面,你却在else里面; 提到测试,有时候我总觉的市面上大家有一种误解, 作为在互联网里待过5年的人,对后台开发,前端开发,移动端开发,产品运营,产品策划,产品营销,市场策划都接触的一点的, 今天用自己经验理解给大家来解读下软件测试,以及学完python后做测试有哪些优势, 一,对测试的误解: 大家都觉得测试入门低,做不了开发才选择测试, 感觉测试很简单,比起秃顶开发大神比起来低人一等, 没有什么技术含量,就是拿着鼠标对电脑或者对着手机进行点点的手工操作...... 如果你现在做测试工作内容以及你现在的处境就是上面的情况,那么恭喜你兄嘚, 你只是在公司做的是最基层的东西,毫无意义,我们不要单纯的做一个手工的体力劳动者,要加入自己的认知和思想, 单从测试流程、测试设计和测试分析、性能测试、自动化测试到测试架构平台搭建、产品体验等诸多领域来思考, 会让你豁然开朗,让你明白之前你对测试的狭隘认识,是多么的愚蠢,多么的单纯。 大家都知道测试在公司大家都喊我们为QA,QA就是QUALITY ASSURANCE的单词首字母缩写, 中文意思是“质量保证”,产品的质量被誉为公司存在的生命线, 测试人员是第一批接触产品的人,是代表用户来体验这款产品的, 一个很牛逼的测试,完全可以把一款软件成功的推向给用户。 对于用户体验来说

通过自动化测试发现缺陷

守給你的承諾、 提交于 2019-12-03 11:12:55
[本文出自天外归云的博客园] 今天在tx内部做了一次关于自动化测试发现bug的分享,把ppt的内容总结下: 对于自动化测试无法发现bug的原因尝试分析 1. 自动化模拟程度不够高:自动化过程不能有效替代手工过程,从而导致无法发现通过手工探索可以发现的bug 2. 自动化发现问题见效晚:因为开发也写单测,而且有code review,对于主要单元逻辑出错的概率不大,这导致单测发现问题的阶段后移,有效的单测在代码重构之日就是见效之时,所以增量需求通过单测来发现问题难度较大,但作为重构时的回归用例是合适的,能够弥补手工过程的细微不足之处 通过自动化测试发现bug的方法总结(终归第一点) 1. 一元生态构建:构建自动化能力生态,确保每一个手动行为和肉眼验证都有对应的自动化封装和实现替代:比如音频模块,那么针对minibar是否出现的判断是必备的能力封装,还有对音频播放状态的判断封装,获取到音频bar的能力封装,操作切播的能力封装,底层页音频入口的点击能力封装,音频专辑页的按钮操作能力封装等等,针对场景的自动化测试能力的强弱主要体现在将手工执行用例包含过程的还原度上,比如进入页面是点一个按钮进入的,但是你是通过直接构造一个页面进入的,这是不等价的。省时的未必是好的,自动化测试的有效性一定程度反映在模拟用户行为的程度上 2. 二元代码走查:能够对基本函数的输出结果产生预期

Selenium 2自动化测试实战34(编写Web测试用例)

房东的猫 提交于 2019-12-03 11:12:37
编写Web测试用例 1.介绍了unittest单元测试框架,其主要是来运行Web自动化测试脚本。简单的规划一下测试目录: web_demo1/ ------test_case/ ------------test_baidu.py ------------test_google.py ------report/ ------------login.txt ------runtest.py 目录结构如下图所示: 创建web测试用例。 #test_baidu.py #coding:utf-8 from selenium import webdriver import unittest import time class MyTest(unittest.TestCase): def setUp(self): self.driver=webdriver.Chrome() self.driver.maximize_window() self.driver.implicitly_wait(10) self.base_url="http://www.baidu.com" def test_baidu(self): driver=self.driver driver.get(self.base_url+"/") driver.find_element_by_id("kw").clear()