资讯专栏INFORMATION COLUMN

自动化测试到底怎么开展?

马忠志 / 2064人阅读

摘要:一概述在创业公司里,项目都比较赶,测试人员也是疲于测试功能模块,基本没空去写什么自动化测试,以提升回归测试的效率。三做自动化测试的动机最大的动机提升回归测试的效率。重要业务接口的自动化测试,尽量做到多而全,争取全面覆盖。

一、概述

在创业公司里,项目都比较赶,测试人员也是疲于测试功能模块,基本没空去写什么自动化测试,以提升回归测试的效率。但一个必须承认的事实便是,依赖测试人员去做全面回归测试,保证上线质量,是不可取的,因为难度太大,成本太高。因此自动化测试还是要做一些的,具体如何着手呢,下文说一下我这边的做法。

注意:本文主要描述一下业务接口自动化测试的方案,至于GUI自动化测试和压力自动化测试不在本文的讨论范围内。

二、什么是自动化测试

定义:把人对软件的部分测试动作转化为由机器来执行。

自动化测试只能部分替代人工,不要指望所有业务场景都通过自动化case来验证。

三、做自动化测试的动机

最大的动机:提升回归测试的效率。

为了让垂直拆分出去的微服务能独立发展,不耦合太多不相关的业务逻辑,一般会有一些聚合的微服务应用,用于调用多个后端微服务,汇总数据后提供给前端。在创业公司里,建议先做聚合服务的自动化自测,原因是:

  • 聚合层是提供给小程序/APP/H5
    等用的,聚合汇总了各种后端服务,针对其做自动化测试,可以用相对低的成本,尽量多的覆盖业务case。至于针对后端的各个微服务接口做自动化的,实施起来代价比较大,有大量的代码成本和维护成本,可以后续再考虑。
  • 聚合服务也有很多业务接口,不可能都去写对应的自动化测试代码,建议先做主流程接口的自动化测试。比如一个电商的聚合层应用,像商详、购物车、首页、订单结算页、下单,可以先做。重要业务接口的自动化测试case,尽量做到多而全,争取全面覆盖。

四、数据创建的时机和手段

接口自动化测试中,第一个要解决的问题,就是测试数据的准备。

数据创建的时机:


建议使用即时创建的方案是,原因如下:

  • 自动化case之间保证独立性和相互不影响,实在太重要了,而即时创建数据就是保证这个的重要前提,且实施起来不难,虽然开箱即用
    也能做到,但是代价太大,需要有专门的测试数据构建平台,成本有些大;
  • 环境稳定性问题,可以通过时间戳开的方式,例如:晚上跑自动化测试。
  • 如果后续自动化case多了,即时创建的方式,会导致case执行时间长,可以通过并行执行的方式。对刚搞自动化测试的,需要执行的case的量也不大啦。

数据创建的手段,一般有三种:

  • 调用后端服务api创建数据;
  • 手写sql创建数据;
  • 组合1和2;

大部分情况下,使用第一种方式就行了,因为造数据的后端接口,大部分都是有的。对于少部分没有的,则手写sql创建数据。

五、接口入参格式和返回值断言

  • 接口入参格式

测试团队熟悉哪种就用哪种,excel或者json或者完全用代码。

  • 接口返回值断言

同上,测试团队熟悉哪种就用哪种,以excel为例,期望的返回值也可以一并写在excel里,自动化case调用接口获取到业务数据后,与excel中的期望值进行断言操作即可。

六、编写自动化case的语言

测试团队熟悉哪个语言就用哪个,如果是Python那就最好了。

  • List item

七、执行环境

  • 将自动化测试代码,部署到一个独立的自动化测试机器上,使用jenkin job执行自动化测试代码;
  • 被测试的目标应用,建议重新搭建一套。

八、test dashboard

case跑完后,需要生成测试覆盖率报告和列出执行成功和失败的case。

以上笔者的经历更像一张横向的知识网,创建了一个交流平台 914172719 ,群内有各种技术同行交流、学习资料、面试经验等。其中用到jenkins、docker、moutebank、python编程等,还需要花更多的精力去深入学习,当每项技能都能掌握到一定深度,才能称为一个完整的知识体系。

最后: 可以关注公众号:伤心的辣条 ! 进去有许多资料共享!资料都是面试时面试官必问的知识点,也包括了很多测试行业常见知识,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!


好文推荐

转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!

面试经:一线城市搬砖!又面软件测试岗,5000就知足了…

面试官:工作三年,还来面初级测试?恐怕你的软件测试工程师的头衔要加双引号…

什么样的人适合从事软件测试工作?

那个准点下班的人,比我先升职了…

测试岗反复跳槽,跳着跳着就跳没了…

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/119153.html

相关文章

  • TiDB 在银行核心金融领域的研究与两地三中心实践

    摘要:本文整理自于振华老师在上的演讲实录,演讲主题为在银行核心金融领域的研究与实践。年月,我们投产了行业内首个面向核心金融业务的分布式数据库,采用的是两地三中心五副本的架构模式。 作者介绍:于振华,北京银行软件开发部资深架构师,长期从事银行核心系统研发、规划,参与过多个核心信息系统建设工作,包括一、二代支付系统、第四代银行核心系统建设、分布式核心系统建设等企业级项目工作。当前主要研发方向集中...

    sourcenode 评论0 收藏0
  • ❤️软件测试经典10题(含解析) 软件测试行业,去大公司还是小公司好?❤️

    年轻人都会犯的3个职场错误,你有几个? 测试人员如何才能快速成长? 软件测试行业,去大公司还是小公司好? 同学们可以用这 10 道题目,找到自己的薄弱点,对症下药哦。 我的建议是:你们可以拿出纸笔,写下这 10 道题的答案,然后再与文末的答案进行对照~ 选择题 1. (单选)当需要对某个系统进行测试的时候,应该从哪些方面来设计测试用例? A. 功能验证 B. 性能相关的验证 C. 兼容性相关的验...

    zhunjiee 评论0 收藏0
  • 企业互联网应用高性能解决之道

    摘要:本文介绍了企业互联网开发及运维的一些实践,深入剖析了互联网项目开发及上线过程中的各种痛点及解决之道。线上出错,我们通过收集服务器端应用性能数据的方式,实时展示应用的调用拓扑图,并根据出现异常的请求,进行下钻,定位出具体出现问题的代码。 本文介绍了企业互联网开发及运维的一些实践,深入剖析了互联网项目开发及上线过程中的各种痛点及解决之道。一个互联网项目的上线并不是那么容易,需要经过很多的环...

    Alan 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<