• 9
  • 9
分享

第一阶段:API自动化

之前的想法是:通过API创建数据,访问数据,进行数据操作,存储数据库,通过模拟前端的操作来想象API的访问流程。

然后,验证数据库是否存储正确。后来发现该想法流程就是错误的。

问题:

1、模拟前端的操作需要对每个前端操作后调用的API非常熟悉,这已经超过了测试的范围,属于开发的范畴。

2、每个API的集成测试应该是独立的,有顺序的对API的测试使得API之间存在相互依赖的关系。然而每个API的正确性并不能保证。

3、API本身是具有很强的独立性,不应该通过前端模拟操作来对其进行相对的验证,操作逻辑应该由前端负责。

总结:

1、使得API具有健壮性,对正常的数据传输和异常的数据传输,服务器端都能正确的响应和返回正确的响应码。

2、对于API的集成,务必使得每个API都独立验证,不能具有相互依赖性。

3、API的正确性为前端逻辑的自动化验证提供了稳定的基础。

4、工具可使用:unittest,pytest(推荐)

未命名文件.jpg

第二阶段:自动创建测试数据

前端的一些UI验证,需要一些组合数据,每次更新环境,版本迭代,自动化创建需要的数据。

此时需要依据测试用例(UI显示部分)来保证每种情况,包括边界,越界情况的显示正常。此些数据在每次新环境都需要验证的情况下,手动创建太过于浪费时间,通过Python读取excel预先设计好的,通过API或者直接写入数据库的方式自动化创建批量的数据。写入的方式通过具体的业务来选择。

第三阶段:前端操作自动化

第二阶段和第三阶段的顺序不太重要,也可以先执行第三阶段。

这里的前端操作自动化,通俗的讲是对前端控件响应的一些自动化验证,属于基础的前端测试。如文本的输入,按钮点击响应,表单提交后的正常显示等。

依据就是需求文档,覆盖需求文档的一些基本的点就可以。不需要太多的复杂的流程和操作。

工具使用appium。

第四阶段:用户实操自动化

用户实操依据是使用该软件的过程中,用户操作的真实场景,为最后的收尾自动化测试。

如用户可能在使用的过程中,停留在该页面10分钟,然后锁屏,然后解锁,查看该APP是否还在生存中。

如用户可能在使用的过程中,是程序退入后台。这里的具体操作需要了解不同的平台对程序生命周期的定义阶段不同。

前端自动化和接口自动化

之前一直在思考前端自动化和接口自动化分别侧重点是什么。

前端自动化侧重点在于组建的响应,数据显示(包括长度,小数正确取位等),后端侧重在于数据处理的正确性验证。

之前主要通过Appium检验前端的各个按钮响应是否都正确,某个元素是否显示出来了,忽略了一个动作操作完后对其他界面数据显示的影响检测。其实前端和后端的自动化侧重点不同,但是对于数据的检测可以是双重检测。这样测试完后的数据更有保障。

关于数据生成(准备)

数据生成(准备)与测试放在分开的模块中,混到一起,容易中断测试代码。

先数据生成测试需要的数据然后再运行测试代码。

 

作者:多测师11

原文链接:https://blog.51cto.com/u_15239049/4334141

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •       测试策略      测试相较于其他工作的核心竞争力是什么?在回答这个问题之前,想一下每个工作岗位的核心竞争力又是什么呢?是不是可以迁移的呢?      众所周知,测试一向用来与开发作比较,那么开发的核心竞争力是什么呢?真的是开发能力吗?如果是的话,为什么很多具有丰富开发经验的中年开发人员会面临着中年危机呢?从这个角度看,开发的核心竞争力未必是开发能力,在我看来,当前最具有竞争力的能力是解决问题的能力,不论是创新能力、领导能力、合作能力还是问题的分析能力,最终的结果都表现为解...
            0 0 1427
            分享
          • 研究对象:豆瓣网豆瓣网简介:豆瓣(douban)是一个社区网站。网站由杨勃(网名“阿北”) 创立于2005年3月6日。该网站以书影音起家,提供关于书籍、电影、音乐等作品的信息,无论描述还是评论都由用户提供(User-generated content,UGC),是Web 2.0网站中具有特色的一个网站。网站还提供书影音推荐、线下同城活动、小组话题交流等多种服务功能,它更像一个集品味系统(读书、电影、音乐)、表达系统(我读、我看、我听)和交流系统(同城、小组、友邻)于一体的创新网络服务,一直致力于帮助都市人群发现生活中有用的事物。豆瓣网用户体验要素之战略层一. 产品目标:商业目标:打造国内口碑书...
            0 2 2827
            分享
          • 第一章1、软件测试定义:是为发现错误而执行程序的过程。是对软件需求,设计,编码的最终复查的一系列过程,是软件质量保证的关键步骤。2、软件测试的目的:发现缺陷,提高质量;验证是否满足需求(功能及其性能);建立软件质量的信心。3、软件测试的原则:测试显示缺陷的存在;穷尽测试是不可能的;测试尽早介入;缺陷集群性;杀虫剂悖论: 采用同样的测试用例多次重复进行测试,最后将不再能够发现新的缺陷;测试活动依赖于测试背景;不存在缺陷(就是有用系统)的谬论。4、软件测试工作最为重要的是:测试流程、方法;测试工具;测试人员素质。5、软件测试流程制定测试计划和控制;测试需求分析和用例设计;实现(编写测试用例)和执行...
            13 14 3318
            分享
          •   摘要:随着金融行业信息化程度的不断提高,银行业务系统面临着前所未有的复杂性和安全性挑战。为了确保系统稳定运行,银行必须在软件开发生命周期中实施严格的测试流程。本文将探讨如何基于Jacoco框架进行二次开发,从而实现银行交易的精准测试工作。通过这种方式,不仅可以提高测试可信度和测试充分性、还能协助定位缺陷、识别冗余代码,进而保证金融服务的质量与安全。  一、背景介绍  在银行业务核心系统中,程序类型分为两类,联机交易和批量交易。联机交易一般都是供其他系统或者柜面前台调用的接口,批量交易则往往是日间或者日终银行跑批用的,用来集中处理账务加工、计提结息、账务核对、监管报送等内容。银行系统对于测试...
            0 0 260
            分享
          •   好多人都觉得测试经理已经不进行实际的测试工作了,是不是只是管管人就行了?  当然不是了,下面我们就来探讨一下测试经理到底每天都在干什么。  需求分析  作为测试经理来讲,必须对需求了解的非常透彻,那么在拿到一个需求或者项目的时候,通过需求分析报告,能准确的提出项目的可行性建议以及可能存在的风险。  避免在项目进行过程中发现了方向性的问题或者无法跨越的鸿沟。  编写测试计划  拿到测试需求后,最主要的工作不是马上就开始测试,而是需要根据提测的功能,合理的分配测试人员,编写可行性的测试计划,以保证项目或者需求能按时的完成。  用例评审  在测试人员根据需求编写完测试用例之后,测试经理应该组织相...
            0 0 1801
            分享
      • 51testing软件测试圈微信