自动化测试小结

  最近差不多一年从事自动化的测试工作,从开始对自动化一点都不了解到现在能从实现用例、手动命令行执行用例、自制工具来执行用例,感觉进步还是有的。

  自动化测试对于手动测试应该是有不小的优势的,虽然在自动化的用例实现中刚开始的时候会显得很麻烦,但是它是一个一劳永逸的工作,尤其是版本变 更或者是有些用例需要重复执行的时候,这个优点会显得极其明显,它能够极大的节约人力成本和时间成本。而且,感觉人工测试有时候会或多或少的出现错误,而 自动化测试会极大的降低这些错误。虽然如此,但是自动化测试也有一些缺性,比如需要维护,而且如果软件不稳定,测试的用例经常的修改,则会花费大量的时间 在修改代码上面。而且自动化测试不能去测试一些直观的特性比如整体美观效果、声音等等。

  在自动化测试的工作中也遇到过很多的问题:

  1. 工作中大部分的时间都是在实现用例,这一部分遇到的问题主要可以分为2个,一个是如何查找和定位页面元素,这一问题我会通过Cucumber学习笔记来进 行描述。另一个是环境问题,环境问题主要是由于环境中浏览器会自动的升级而导致旧的web-driver没有及时的更新,从而导致用例不能正常的执行。记 得的环境问题主要有打开了浏览器后不能正常的跳转到测试页面,一些元素不能用初始的方法找到,Api发生了变化。这个问题可以通过降级浏览器,或者升级 web-driver来进行解决,如果升级了web-driver之后发现有使用的方法发生了变化,则修改相应的方法即可。

  2. 在工作中遇到的第二个问题是手工命令行执行用例不能满足要求。在刚开始进行自动化工作的时候,也是这个项目刚开始的时候,项目中基本没有实现的用例,工作 中要求每天需要执行实现的用例,那个时候,由于实现的用例十分的少,即使每天使用命令行来进行执行实现的用例,也还算十分的轻松。后来,随着用例的增加, 手动的执行已经急剧的印象到我其他工作的进行,重复而且繁琐的手动执行那些用例十分的痛苦也感觉非常的Low。于是就想,自己是否可以做一个简单的程序来 进行这项重复而且繁琐工作呢?经过几天业余的时间,于是自动化执行脚本V1.0就诞生了,这个版本是个winform版本,主要是可以选择用例,然后可以 一键执行选择的用例,并且生成html版本的测试用例报告。现在看来,这个版本虽然极其的简陋,但是却也很开心,毕竟减少了我大量的工作,而且在白天的上 班时间也不用去执行那些用例,每天下班离开的时候,选择所需要执行的用例并且运行起来,第二天早上过来查看结果并且发送报告,还算也小有成就。再后来,用 例继续的增加,由于在项目中每一个用例都会生成一个报告,查看报告也会占用大量的时间,而且大家也基本只会查看那些有问题的报告。v2.0版本也在这个时 候诞生了,这个版本依旧是个winform的小程序,它除了拥有第一个版本的特性之外,还会对生成的报告来进行分析,将有问题的用例和一些失败的信息提取 出来,然后我只用去关注这些有问题的用例然后发送对应的报告即可。再后来,用例依旧增加,所有的用例在单个的机器上面一个晚上已经不能执行完毕,而且每天 发送测试报告也十分的繁琐。于是这个时候,V3.0版本也应运而生了。V3.0版本有原来的winform版本改为了web版,是用asp.net mvc5做的,在这个版本中主要解决了用例执行分配到不同的机器、直观的在web上面查看所有的用例执行结果、能确保每次的执行是最新的代码、可以进行制 定相应的执行计划。由于bug的存在,这个版本也改过了许多次,但是至今也仍然在使用。这个系统我会在之后的文章中进行分享的。

  今天的文章就写到这里了。

转载于:https://www.cnblogs.com/fanxiaoxiao/p/AutomationTestSummary.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/258285.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python地理可视化_【Python教程】地理可视化之二

Basemap是Matplotlib的一个子包,负责地图绘制。昨天的推送对如何绘制风向图进行了描述,本文再次利用该包简单介绍如何绘制海洋及海冰温度彩色图示,该图常见于NOAA官网。具体操作如下:导入命令1)设置工作环境并导入程序包%cd "…

寻找白板上的便签条

问题来源:http://answers.opencv.org/question/162480/contour-detection-for-gray-stickers-on-white-background/ 题目的大概意思就是这样的白板,寻找上面的各种便签条。我找到了橘色的,结果是这样代码是这样Mat src imread("gray-st…

LeetCode Permutations

原题链接在这里:https://leetcode.com/problems/permutations/ 题目: Given a collection of distinct numbers, return all possible permutations. For example,[1,2,3] have the following permutations:[1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2]…

去除内存上的警告,避免程序崩掉

# pragma clang diagnostic push # pragma clang diagnostic ignored "-Warc-performSelector-leaks" [self performSelector:callFunc withObject:array[1]]; # pragma clang diagnostic pop 使用原理:将出现警告的代码加入内存栈中转载于:https://www.c…

opengl2 vtk 编译_编译和使用VTK时值得注意的点(待续)

最近的一个项目中需要使用VTK,于是开始了VTK的漫漫编译之路。长篇大论的编译步骤网上数不胜数,在这里不再细说,可自行google。这里主要说一些在编译过程中需要注意的地方,以免走歪路。1、使用cmake进行第一次configure的时候需要选…

gg

转载于:https://www.cnblogs.com/lyzuikeai/p/7091206.html

二:Go编程语言规范-类型

1.类型 布尔值,数值与字符串类型的实例的命名是预声明的。 数组,结构,指针,函数,接口,切片,映射和信道这些复合类型可由类型字面构造。 每个类型 T 都有一个 基本类型:若 T 为预声明…

HDU 1728 逃离迷宫

这道题做的我想哭啊。。WA了将近十次了吧 一开始我用数组模拟的队列,后来和老大代码对拍,感觉改的是基本都一模一样了,还是WA 实在没有办法了,改用queue了 题目里的x是列y是行,和代码里的反过来的,要注意&a…

Nginx(六)-- 配置文件之Gzip

1.概念及作用 Gizp主要对内容、静态文件做压缩,用来提升网站访问速度,节省带宽。 2.使用方法 gzip既可以配置在server中,也可以配置在server外,此处配置在server中,如下: 说明:  gizp on|off 是…

误码率越高越好还是越低越好_夜间护理步骤越多越好还是越少越好?NFF

现在很多人都知道了夜晚是护肤的黄金护肤时间,有些很聪明的姐妹就从夜晚着手,使用很多种护肤品,希望达到事半功倍的效果,但好皮肤不常有,皮肤问题却常有!既然如此,不少人就问了,夜间…

【随机森林】random forests 简单介绍

Random Forest,顾名思义 Random 就是随机抽取; Forest 就是说这里不止一棵树,而由 一群决策树组成的一片森林 ,连起来就是用随机抽取的方法训练出一群决策树来完成分类任务。RF用了两次随机抽取, 一次是对训练样本的随机抽取; 另一…

侧边工具开发2

1.使用图片的形式会出现大量的图片&#xff0c;影响性能&#xff0c;而且不易修改&#xff0c;所有使用图标加文字的形式进行 <a href"javacript:;" class"toolbar-item"><span class"toolbar-btn"><i class"toolbar-icon&q…

斐波那契?

斐波那契&#xff1f; Time Limit: 1000ms Memory limit: 32768K 有疑问&#xff1f;点这里^_^ 题目描述 给出一个数列的递推公式&#xff0c;希望你能计算出该数列的第N个数。递推公式如下&#xff1a; F(n)F(n-1)F(n-2)-F(n-3). 其中&#xff0c;F(1)2, F(2)3, F(3)5. 很熟…

clustalw序列比对_序列比对之Clustalx与Clustalw使用指南

相关专题这几天实验需要做多序列比对&#xff0c;很久不做了&#xff0c;一时之间不知道如何使用clustal这个工具了。在网上搜集了一些资料&#xff0c;做个整理&#xff0c;总结了Clustalx和Clustalw的使用&#xff0c;省得以后久不使用又生疏了&#xff0c;又要去整理了&…

信息安全系统设计基础第三周学习总结—20135227黄晓妍

一.Vim编辑器 1.Vim的六种模式 2.Vim三种常用模式的使用方式&#xff0c;以及三者的切换。打开Vim即默认进入普通模式&#xff0c;按i进入插入模式&#xff0c;按esc从插入模式退出普通模式&#xff0c;再按&#xff1a;进入命令行模式。 普通模式下游标的移动 按键 说明 h …

关于指定日期的获取

java使用Calendar类获得指定日期 关于指定日期的获取&#xff0c;是根据指定日期和当前日期相差的天数&#xff0c;然后使用set方法设置Calendar.DAY_OF_MONTH的值。Calendar cal Calendar.getInstance();cal.set(Calendar.DAY_OF_MONTH, cal.get(Calendar.DAY_OF_MONTH) - da…

nodejs的package.json依赖dependencies中 ^ 和 ~ 的区别

nodejs的package.json定义了一个模块&#xff0c;包括其依赖关系的一个简单的JSON文件&#xff0c;该文件可以包含多个不同的指令来告诉Node包管理器如何处理模块。 dependencies则表示此模块依赖的模块和版本&#xff0c;其中常常可以看到类似 ^1.2.0 或 ~1.2.0 这样的版本范围…

脚本命令_SAP HANA数据库备份命令脚本

需求场景&#xff1a;HANA数据库版本 2.044 &#xff0c; SYSTEMDB库1个&#xff0c;Tenant库有3个 PRD、POP、HAP需要用命令行备份。备份原理说明&#xff1a;1、脚本同hana studio 一样&#xff0c;用SYSTEM用户去备份所有的数据库。2、备份脚本工作在数据库管理员用户下&…

Spring 基于Java的Bean声明

Spring 基于Java的Bean声明 使用Configuration进行设置&#xff1b; Xml&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <beans xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" xmlns"http://www.springframework.…

手机音频通道被占用_关于凯叔讲故事APP的音频导出下载

孩子喜欢听凯叔讲故事&#xff0c;起先是三国演义和博物学&#xff0c;在网上听了个开头后&#xff0c;毫不犹豫买了正版,心想着购买app可以下载音频&#xff0c;完了拷贝到其他播放器听。然而......然而......大失所望&#xff0c;美其名曰保护正版&#xff0c;可这么个玩意&a…