老板发了我2千奖金,原因是我实现了从0开始开展UI自动化测试...
Posted 憨憨说测试
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了老板发了我2千奖金,原因是我实现了从0开始开展UI自动化测试...相关的知识,希望对你有一定的参考价值。
大家好,我是憨憨!
家里穷,所以我非常努力,白天上班,晚上加班学习,虽然学历不高,只有一个大专,工资只有8千,长得也丑,没有女朋友,但是我依然热爱生活,努力工作;
就在前几天,老板突然奖励我2000块钱,我都被惊讶到了,这不就是所谓的天下掉馅饼吗?我也没有说做出什么过人的成就,一问原因,竟然是因为我从0开始开展UI自动化测试…奖励我的努力工作,也表示出来非常看好我!
那么我是如何开展的呢?下面给大家分享分享,让大家也能从中获得收获,并得到老板的认可!
对于如何开展一个Web项目的UI自动化测试,首先需要建立一个自动化测试的小组,小组理想状态下有4个人员,测试开发、中高级自动化测试工程师、2个初级自动化工程师;非理想的情况下,可能只需要一个人。
(1)测试开发:
基础答案:
自动化框架的建设,确定自动化框架的设计模式、第三方代码工具的封装、中间公共模块的设计和调用、测试用例、测试套件的管理和执行、测试报告和测试结果的输出(文件输出和邮件通知)
可选高级:
如果可能的话,需要搭建持续集成服务器(CI,Continuous Integration Server)的环境,进行持续交付和自动化的冒烟测试等。
基本要求:
有自动化方案的实施经验、有开发背景、以及持续集成的背景等。
(2)中高级自动化测试工程师:
配合测试开发人员,实施测试框架的建设。主要负责中间公共模块的实现和实例化等,以及部分高难度和流程复杂的自动化用例脚本编写和调试等工作。
基本要求:有参与过自动化方案的建设、脚本编写经验丰富、会代码调试、懂Web测试等。
(3)初级自动化测试工程师:
根据中间公共模块的设计,进行实例化公共模块、方法组合,实现自动化用例脚本的编写。
基本要求:有计算机编程思维、有代码经验、可以读懂脚本和html等
(4)若只有一个人:
首先能够实现自动化用例的维护和执行。在这个基础上不断的抽取实现公共模块的设计以及测试报告的生成等工作。通过经验的积累,以及后续人员的补充,早日做好自动化框架的建设工作
技术选择:
Selenium WebDriver、Python(unittest) Java(JUnit)、CI Server
技术方案:
选择 Python + Selenium 的技术方案。
首先技术工具是免费的,Python的工具用PyCharm社区版,Selenium的WebDriver是开源工具。利用比较简洁的Python语言进行自动化测试,对于人员的学习成本来讲比较实用,学习时间短,有优势。
另外Python自带的unittest单元测试框架可以很方便的实现自动化用例的设计和执行以及自动化用例套件的管理等任务。Python是纯面向对象的语言,后续也可以过渡到Java + Selenium进行更加丰富的自动化测试。
此外,可以选择Jenkins作为持续集成服务器,配合Python+Selenium的方案进行自动化冒烟测试。
适合自动化的项目模块:
1、任务测试明确,不会频繁变动
2、每日构建后的测试验证
3、比较频繁的回归测试
4、软件系统界面稳定,变动少
5、需要在多平台上运行的相同测试案例、组合遍历型的测试、大量的重复任务
6、软件维护周期长
7、项目进度压力不太大
8、被测软件系统开发比较规范,能够保证系统的可测试性
9、具备大量的自动化测试平台
10、测试人员具备较强的编程能力
硬件:
硬件的要求不高,主要需要独立的测试环境。另外测试人员用的电脑最好是Windows桌面操作系统,需要安装Firefox浏览器,避免47.0的最新版本。测试人员最好也使用Chrome浏览器辅助进行Web元素的定位。
01 Selenium 学习总结
Selenium IDE (火狐的插件)
-
录制局部脚本
-
修改编辑脚本(插入命令、注释)
-
导出脚本(支持 C#、Java、Python、Ruby)
单元测试框架
-
C# : NUnit
-
Java: JUnit | TestNG
-
Python:unittest
-
Ruby:test-unit
02 学习研究 WebDriver
Python + Selenium WebDriver
01搭建环境步骤
-
安装 python3.x (windows xp 不支持 python3.5+)
-
设置环境变量 path(安装时候也可以解决 勾上 add python.ext to path)
-
安装Selenium
-
用pip命令安装 pip install -U selenium
有无问题?
-
路径,pip可能定位不到,pip也可能定位到别的文件夹(perl)
方案:cd c:\\python34\\scripts -
外网ip问题
交换机的原因,局域网里面是同一个ip,造成安装超时 -
火狐的版本 46.0以及以下
-
windows 7 x64以上的系统,需要用管理员模式运行cmd,否则会安装失败
02 普通的使用
定位方式
主要用的是:
鼠标的操作
定位的问题:有无问题?
单元测试框架:unittest
解决了什么问题?
模块化操作
面向对象的实践:
-
编写一个类,类里面描述公共的方法
-
实例化这个类,调用这个类的方法
有无问题?
- 类的构造方法,需要传递 webdriver.Firefox()
self.common = RanzhiCommon(self.browser, self.base_url)
数据驱动测试
-
读取csv,循环每一行数据进行操作
-
读取mysql,用例存到MySQL中
封装WebDriver -
避免第三方代码的威胁,防止大批量修改测试用例
-
节约人力的成本(如果封装以后,不需要每个自动化测试工程师都会WebDriver)
-
标准化自动化用例的操作,只需要调用公共的标准模块就好
以上就是关于如何开展Web项目的UI自动化测试的流程以及小组成员的选用。希望对你有帮助,欢迎点赞评论
送给大家一句话,共勉:当我们能力不足的时候,首先要做的是内修!当我们能力足够强大的时候,就可以外寻了!
最后也为大家准备了一份配套的学习资源,你能在 公众号:【豆子熊】免费获取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中资料包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
以上是关于老板发了我2千奖金,原因是我实现了从0开始开展UI自动化测试...的主要内容,如果未能解决你的问题,请参考以下文章
给做护士的老妹写了一个戴口罩检测脚本!医院给她发了六千奖金!分了我一半!!