自动化测试小结

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

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

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

  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的存在,这个版本也改过了许多次,但是至今也仍然在使用。这个系统我会在之后的文章中进行分享的。

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

自动化测试小结,布布扣,bubuko.com

时间: 2024-11-04 01:23:21

自动化测试小结的相关文章

自动化测试Selenium Webdriver (JAVA)学习小结

自动化测试--Selenium学习小结 一.自动化测试的概念及意义: 1.什么是自动化测试: 一般是指软件测试的自动化,软件测试就是在预设条件下运行系统或应用程序,评估运行结果,预先条件应包括正常条件和异常条件. 2.意义: 让测试更有效率,利用更多的空余时间,减少人力资源. 二.selenium工具 我用的是java语言,所以接下来的例子和方法都是基于java的. 1.环境配置 (1)Jdk的配置: 我用的是1.7的jdk,配置方法都一样,新建一个JAVA_HOME,把你装好的jdk的路径复制

学习自动化测试工具TW小结

首先,简单介绍下TW工具: TestWriter(简称TW)是一款零编码的自动化测试工具,可以用于功能测试,回归测试,兼容性测试.>>戳戳,免费下载自动化测试工具TestWriter~ 接下来,分享下使用时遇到的一些问题和解决方法: 问题1:执行后测试任务管理中显示 任务列表-状态:待分配: 执行结果:未能找到复合条件的目标 解决方法:请给执行计划配置Agent,并给Agent配置设备.具体的操作,参考用户手册. 问题2:Agent中活跃的对号,我这里无法选择上. 解决方法: 1.如果发现Ag

自动化测试及基本技术手段-概述(1)

生产力概述 在如今以google为首的互联网时代,软件的开发和生产模式都已经发生了变化, 在<参与感>一书提到:某位从微软出来的工程师很困惑,微软在google还有facebook这些公司发展的时候,为何为感觉没法有效还击,核心问题就是软件生产模式不一样 [1] ,微软当时的模式已经严重落伍了. 目前IT行业的就基本上是“天下武功,唯快不破”的时代了.开发要变成敏捷,测试也同样变成敏捷,开发要快,测试同样也要快. 在新趋势下面,一切都要快,然而快并不意味着降低质量.要“又快又好”的目标,只能通

【转载】自动化测试:为什么受伤的总是我?

自动化测试专家Elfriede Dustin在2008年10月的<Software Testing and Performance>杂志上发表文章,深入探讨了为什么如此多的自动化测试项目会最终失败. 1.IDT的自动化测试调查 IDT(Innovative Defense Technologies)在2007年进行了一次软件自动化测试的研究调查.调查研究表明:虽然很多公司都认为自动化测试是非常有用的,但是很少有公司真正成功地实施了自动化测试.在问及没有很好地开展自动化测试的原因时,大部分人回答

【转账】API自动化测试

随着公司各部门对质量的日益重视,API测试已成为日常的测试任务之一,为了提高测试效率,减少重复的手工操作,API自动化测试也逐渐变得愈加重要,本文是自己在API自动化测试方面的一些经验积累和心得.汇总成文,以飨读者.    什么是API,个人认为狭义理解API就是系统对外暴露的一些接口,供系统内部其他模块或者外部系统进行调用,如TD.harvest都有自己对外暴露的一些API,以供在其基础上进行二次开发,本文仅针对loushang平台的API进行讲述,目前loushang平台主要的API主要集中

python自动化测试(2)-自动化基本技术原理

python自动化测试(2) 自动化基本技术原理 1   概述 在之前的文章里面提到过:做自动化的首要本领就是要会 透过现象看本质 ,落实到实际的IT工作中就是 透过界面看数据. 掌握上面的这样的本领可不是容易的事情,必须要有扎实的计算机理论基础,才能看到深层次的本质东西. 2   应用软件逻辑结构 数据库应用系统 可能是最典型的网络应用程序了,关于它的软件架构如下: 一般在逻辑上分为4层: 用户界面层 UI 为终端用户提供交互的人机界面 业务逻辑层 BLL 将数据库抽象出来的对象进行拼接成具体

[分享] 自动化测试与持续集成方案-- UI 检查

对于自动化测试中,UI 自动化测试估计是最有争议的,让人又爱又恨. UI 自动化做回归测试,可以省下很多人力.如果版本一直不稳定,投入跟产出不成比例的. 时机 一般是要版本稳定,界面改动不大.如果迭代版本一个接一个,界面改动大,这样就无法大规模投入 UI 自动化.因为你的维护成本大.也许你脚本还没改好,下一个版本又来了. 有些测试会说,还没有我手动快,没我手动发现的 bug 多.做 UI 自动化就是图个放心,测试的时候只测增量,原有的功能,用 UI 自动化去检测,看是否有改动,原有功能是否是好的

Selenium2+Python自动化测试实战

本人在网上查找了很多做自动化的教程和实例,偶然的一个机会接触到了selenium,觉得非常好用.后来就在网上查阅各种selenium的教程,但是网上的东西真的是太多了,以至于很多东西参考完后无法系统的学习和应用,有一次在网上随意搜索,找到了-虫师-写的<Selenium2自动化测试实战基于Python语言>,觉得真心不错,内容也很调理,为了方便自己学习和知识的整理,就把其中虫师编写的自动化项目教程整理一下,有兴趣的可以去参看虫师的博客http://www.cnblogs.com/fnng/ 以

Xcode7 UITest UnitTest 自动化测试学习

1. 单元测试简介 1.1  UnitTest: 单元测试 单元是指应用程序中可以测试的最小单元.测试源代码,一般要求有明确的输入与输出.因此一般来说源代码中明确的包含输入输出的每一个方法被认为一个测试的单元(一个case).当然,这里的输出并不局限于方法的返回值对输入参数的改变,也包括方法在执行过程中改变的任何数据. 单元测试在程序里面可以理解一个模块一个方法,在每个可能存在的模块都进行测试,确保每个模块都没有问题,从而提高整体程序的质量. 1.2  单元测试的目的 我们进行单元测试的目的是将