新手如何开始学习自动化测试?

cemaxueyuan cemaxueyuan     2022-12-10     216

关键词:

对于测试人员来说,不管进行功能测试还是自动化测试,还是性能测试,都是需要编写测试用例,所以我们必须先要了解清楚手工测试用例与自动化测试用例的一些特点,才能更好的开展自动化测试工作。

  1.1手工测试用例和自动化测试用例

  手工测试用例是针对功能测试人员的,而自动化测试用例是针对自动化测试用例框架或工具的。

  手工测试用例特点

  (1)较好的异常处理能力,能通过人为的逻辑判断校验当前步骤是否正确实现;

  (2)人工执行用例具有一定步骤跳跃性;

  (3)人工测试步步跟踪,能够细致定位问题;

  (4)主要用来发现功能缺陷;

  自动化测试用例特点

  (1)执行对象是脚本,任何一个盘算都需要编码定义;

  (2)用例步骤之间关联性强;

  (3)主要用来保证产品主体功能正确和完整,让测试人员从繁琐重复的工作中解脱出来;

  (4)目前自动化测试阶段定位在冒烟测试和回归测试。

  (注意:通过对比发现,自动化测试不能完全替代手工测试,自动化测试的目的仅仅在于让测试人员从繁琐重复的测试流程中解脱出来,把更多的时间和精力放在更有价值的测试中,例如探索性测试。)

  自动化测试用例注意事项

  1、不是所有手工测试用例都要转为自动化测试用例。

  2、考虑到脚本开发成本,不要选择流程太复杂的用例,如果有必要,可以考虑把流程拆分成多个用例来实现脚本。

  3、选择的用例最好可以构建场景。例如,一个功能模块,分成多个用例,多个用例使用同一个场景,这样的好处在于方便构建关键字测试模型。

  4、选择用例可以带有目的性。例如,这部分用例作冒烟测试等,当然,会存在重叠关系,如果当前用例不满足需求,那么唯有修改用例来适应脚本和需求。

  5、选取的用例可以是主体流程,这部分用于冒烟测试。

  6、选取的测试用例可以是你认为重复执行,很猥琐的部分。例如字段验证、提示信息验证之类,这部分适用于回归测试。

  7、自动化测试也可以用来做配置检查、数据库检查。这些可能超过了手工用例,但也算用例拓展的一部分,项目负责人可以有选择的增加。

  8、平时在手工测试时,如果需要构造一些复杂的数据或重复一些简单的机械式动作,则告诉脚本,让它来帮你,或许你的效率会因此提高。

  1.2自动化测试类型

 

  测试静态内容

  静态内容测试是最简单的测试,用于验证静态的、不变的ui元素的存在性,例如:

  (1)每个页面都有预期的页面标题,这可以用来验证链接指向一个预期页面;

  (2)应用程序的主页包含一个应该在页面顶部的图片;

  (3)网站的每个页面是否包含一个页脚区域来显示公司的联系方式、隐私政策以及商标信息等;

  (4)每一页的标题文本都使用

  标签吗?每个页面是否都有正确的头部文本?你可能需要(也可能不需要)对页面内容进行自动化测试。如果你的网页是不易受到影响的,则手工对内容进行测试就足够了。假设你的应用文件的位置移动了,则内容测是就非常有价值。

  测试链接

  web站点的一个常见错误为失效的链接或链接指向无效页。链接测试涉及各个链接和验证预期的页面是否存在。如果静态链接不经常更改,则手动测试就足够了。但是,如果你的网页设计师经常修改链接或者文件不时被重定向,则链接测试应该实现自动化。

  功能测试

  在你的应用程序中,需要测试应用的特定功能,需要一些类型的用户输入,并返回某种类型的结果,通常一个功能测试涉及多个页面,一个基于表单的输入页面,其中包含若干输入字段,提交和取消操作,以及一个或多个响应页面。用户输入可以通过文本输入域、复选框、下拉列表,或任何其他浏览器所支持输入。

  功能测试通常是需要自动化测试的最复杂的测试类型,但通常也是最重要的。典型的测试是登陆,注册网站账户用户账户操作、账户设置变化、复杂的数据检索操作等等。功能测试通常对应着你的应用程序的描述应用特性或设计的使用场景。

  测试动态元素

  通常网页元素都有唯一的标识符,用于唯一的定位该网页的元素。通常情况下,唯一标识符用html标记的id属性或name属性来实现。

  Ajax的测试

  Ajax是一种支持以及动态改变用户界面元素的技术。页面元素可以动态更改,但不需要浏览器重新载入页面,如动画,RSS源、其他实时数据更新等。

  Ajax有无数更新网页上元素的放大,最简单的方式是在Ajax驱动的应用程序中,数据可以从应用服务器检索,然后显示在页面上,而不需要重新加载整个页面,只有一小部分的页面,或者只有元素本身重新被加载。

  1.3自动化测试用例编

  1.3自动化测试用例编写原则

  最后跟大家分享一下自动化测试用例编写原则:

  1、一个用例为一个完整的场景,从用户登录系统到最终退出并关闭浏览器;

  2、一个用例只验证一个功能点,不要试图在用户登录系统后把所有功能都验证一遍;

  3、尽可能少的编写逆向逻辑用例。一方面因为逆向逻辑的用力很多(例如,手机号输错有几十种情况),另一个方面自动化脚本本身比较脆弱,复杂的逆向逻辑用例实现起来比较麻烦且容易出错;

  4、用例与用例之间尽量避免产生依赖;

  5、一条用例完成测试之后需要对测试场景进行还原,以免影响其他用例的执行。

 

关注我一起成长!

软件测试工程师之路——自动化新手要知道的事儿(代码片段)

当选择开始从事自动化测试时, 坑肯定是少不了。在你深入研究自动化框架和自动化实践的过程中,这种错误会时常伴随着你。虽然可以从错误中学习,但最好还是从别人那里学习,以防患于未然。在进行自动化测试项目时... 查看详情

对新手学习自动化的一些感想

   自己之前为了学习自动化测试加了几个自动化测试的群,在群里和不少大牛交流,也和不少新手(菜鸟)交流。因为自己也是一个自动化测试的新手,就想着总结下自动化测试学习工作中遇到的问题,也希望如果有... 查看详情

怎样开始用selenium进行自动化测试?

...今天抽空回顾一下我的selenium学习过程,也就是,selenium自动化测试怎么开始,这些,是我的个人经验,分享出来给大家参考!一开始,基本上很多人都是用seleniumIDE录制脚本开始的,我也是!有一本书写得很不错:selenium初学者指... 查看详情

如何从0开始学python自动化测试

...;软件测试基础Python语言基础功能测试接口测试性能测试UI自动化测试一、熟悉测试基础本阶段主要学习软件测试行业、了解软件测试主要技能,掌握测试点设计方法、缺陷管理能力以及针对WEB项目测试能力,为做好测试... 查看详情

如何在验证元素存在时重新开始测试

...ntpresent【发布时间】:2021-11-2606:39:36【问题描述】:我是自动化新手,目前正尝试在SeleniumIDE中做某事,但似乎无法找到有关如何正确操作的信息。所以我在网页上运行测试,点击等,如果页面上有某个id元素,我想重新开始测... 查看详情

没有代码基础如何学习自动化测试?

因为最近在群里有一些同学,之前没做过自动化测试,但是限于领导要求,或者自己想提升了,开始研究自动化测试,最近记忆比较深的低级的几个问题是:1、编写一个python的类将__init__写成_init_苦于问题一直解决不了;2、想... 查看详情

python自动化测试需要学什么?怎么去学?从哪里开始学?看完本文学习自动化测试目标明确,学习简单粗暴。

本人从事软件自动化测试已经近5年,从server端到web端,从API到mobile,切身体会到自动化带来的好处与痛楚,在此分享一下个人体会。本人从事软件自动化测试已经近5年,从server端到web端,从API到mobile,切身体会到自动化带来的... 查看详情

如何学习自动化测试

 软件自动化测试的学习步骤大概步骤如下:1.做好手工测试(了解各种测试的知识)-> 2.学习编程语言->3.学习Web基础(HTML,HTTP,CSS,DOM,Javascript)或者学习Winform->4.学习自动化测试工具->5.学习自动化测试框架->6.实... 查看详情

怎么学习自动化测试?

首先,想从事自动化测试,必须先了解What/Why/How,也就是常说的去了解什么是自动化测试、为什么要进行自动化测试、该如何进行自动化测试,这类的资料在网上有很多,这里就不做重复了;  其次,需要根据项目的特点,选... 查看详情

从0开始学习自动化测试框架cypressdom(代码片段)

CypressCanBeSimple:这节来学习它简约而不简单的写法吧,看了之后有种还可以这样的感觉学习内容:如何查询DOM命令主题和命令链断言写法来看一个栗子describe('PostResource',()=>it('CreatingaNewPost',()=>cy.visit('/posts/new... 查看详情

从0开始学习自动化测试框架cypress(代码片段)

安装cypress前提是已经安装nodejsmkdircypresscdcypressnpminstallcypress--save-dev--registry=https://registry.npm.taobao.org报以上的错,就直接下载windows的zip绿色包运行即可: https://cdn.cypress.io/desktop/6.4.0/win32-x64/cypres 查看详情

从0开始学习自动化测试框架cypress案例(代码片段)

本文将实现以下案例功能使用到以下6个文件login.jsp: 登录页面index.jsp:首页(成功登录后跳转到的页面)add_user.jsp:新增用户页面LoginServlet.java: 登陆校验AddUserServlet.java: 新增用户UserListServlet.java: 用户列表查询demo.js: 测试用例 -----... 查看详情

学习使用robotframework自动化测试框架——简单组合测试例子

上一篇介绍了如何使用RIDE来创建和执行一个简单的测试用例,这一章节开始将会系统一些地介绍测试用例的组成以及如何更好地设计用例。之前曾经说过,RobotFramwork框架的核心是关键词,所有用例都是通过关键词组... 查看详情

从0开始学习自动化测试框架cypress特性(代码片段)

下面再来一个简单的例子实现效果是访问百度,输入java经典教程,搜索describe('DOM访问操作实例',()=>it('百度搜索java经典教程',()=>cy.visit('https://www.baidu.com')cy.get('#kw').type('java经典教程')cy 查看详情

从0开始学习自动化测试框架cypress登录(代码片段)

本文介绍一下模拟系统登录功能 1.从json读取数据校验登陆读取json的话,cypress提供了函数cy.fixture(filePath,encoding,options)其中filePath是json文件名称,必填,后2项选填,路径默认在fixtures文件夹内 我们在fixtures新建一个user.json文件,内容如... 查看详情

从0开始学习接口自动化测试(三)(代码片段)

感兴趣的小伙伴可以加入QQ群:556029945仓储部分开发?和数据库交互,涉及到数据源的配置,为了小伙伴测试方便,这里采用H2数据库,以免有的小伙伴把代码写完了,却还要单独去安装如mysql,oracle的数据库,还要去写sql建表格... 查看详情

学习selenium自动化从一张藏宝图开始

 《跟着日邢一珊,学习自动化测试》-----第二讲20170815WEB自动化测试Selenium的使用(一) 作者:日邢一珊 自动化测试脚本分享群:654395302 、 567415093   打赏,就是鼓励我写作的动力。2.883.886.8812.88都是... 查看详情

新手学习渗透从哪里开始

新手学习渗透从哪里开始新手渗透首先要根据自己的实际情况、确定学习的路线和方向的。就像建大楼,从顶端最华丽的那个地方开始,不可能成功。学渗透测试也一样,没选对入手的地方,导致学习过程中由于欠缺很多的知识... 查看详情