构建接口层快速稳定的质量保证体系

软件的质量保证不能只从测试角度来看待问题,接口层也是一样,需要关注整个过程当中的所有环节存在的问题和风险,我们可以从测试前、测试中、测试后三个阶段接来进行。

测前:

首先,梳理好需求,整理好业务流程。

接口测试不单单是对接口参数的校验,还需要覆盖所有业务场景,包括一些异常场景,所以需要我们对业务梳理的足够清晰,这样才不会有漏测的产生。

其次,了解好各个模块负责人是谁,后面需要跟谁沟通,这样测试过程中才能快速定位问题,解决问题

最后,需要配置好测试资源。配置好测试资源,弄清楚测试需要的组件有助于测试工作更快更高效的展开,测试过程中出现问题,能迅速定位。

测中:

1,测试案例编写

测试案例设计按照维度,分级,规范,可信,持续,跟踪五个原则设计

维度:接口测试要按照API协议(参数&业务场景),中间件检查,异常场景,性能,安全这五个维度来设计,接口测试的粒度比功能测试更小,可以覆盖功能测试覆盖不到的测试点,保证测试案例的覆盖度

分级:按照不同等级划分测试案例,有助于持续集成更快的回归测试,P1保证接口功能性,为准入测试案例,P2校验接口的业务逻辑及多接口组合的场景,P3校验参数,P4校验异常分支

规范:测试案例的规范,有助于自己和其他测试人员的阅读。

可信:保证接口测试的可信,是保证测试质量的关键问题,所以测试案例设计时一定要考虑持续集成后,我的接口自动化跑完,那么接口层质量是有保证的。

持续:持续就要考虑到环境隔离和版本迭代,如何使我们的案例不因环境变更或者版本迭代而变更,减少后期维护成本

跟踪:测试案例写完后,版本迭代可能有业务的变更,那么我们就要持续跟踪,即使调整测试案例

2,数据隔离

参数,代码,案例隔离,不因为案例的变动,或者某一数据的变动,而更改代码,可复用性可维护性可扩展性更强

3,环境隔离

环境信息配置化,保证同一测试案例在不同测试环境都可执行,不应测试环境变动而变动

4,参数传递

接口与接口之间可以做到参数传递,这样站在用户的角度对系统接口进行全面高校持续的检测,更接近业务

5,动态函数

所有通用的输入参数,尽量做到动态生成,这样只需校验异常参数的测试案例,正常的参数自动生成即可,可以大大减少用例的开发时间,做逻辑测试时也可以方便想出更多测试场景,持续集成时接口覆盖率更高。

6,结果检验

支持对所有返回值进行校验,加强自动化校验能力,如数据库信息校验,逻辑结果校验。

测后:

1.持续集成

接口自动化的核心内容就是持续集成,通过自动化持续集成的手段,我们才能做到低成本高收益。

2.可视化报告

丰富的结果展示,质量统计和分析有助于快速定位问题。

3.问题定位

通过报错信息、日志、测试结果更精准,方便问题复现和定位

原文地址:https://www.cnblogs.com/viviian/p/12397313.html

时间: 2024-10-19 17:22:09

构建接口层快速稳定的质量保证体系的相关文章

QT开发(四十八)——数据库SQL接口层

QT开发(四十八)--数据库SQL接口层 SQL接口层提供了对数据库的访问,主要类包括Qt SQL模块中的QSqlDatabase.QSqlQuery.QSqlError.QSqlField.QSqlIndex和QSqlRecord.QSqlDatabase类用于创建数据库连接,QSqlQuery用于使用SQL语句实现与数据库交互. 一.QSqlDatabase 1.QSqlDatabase简介 QSqlDatabase类提供了通过连接访问数据库的接口,QSqlDatabase对象本身代表一个连

QT开发(四十九)——数据库用户接口层

QT开发(四十九)--数据库用户接口层 用户接口层主要包括Qt SQL模块中的QSqlQueryModel.QSqlTableModel.QSqlRelationalTableModel.用户接口层的类实现了将数据库中的数据链接到窗口部件上,是使用模型/视图框架实现的,是更高层次的抽象,即便不熟悉SQL也可以操作数据库.需要注意的是,在使用用户接口层的类之前必须先实例化QCoreApplication对象. QT中使用了自己的机制来避免使用SQL语句,提供了更简单的数据库操作及数据显示模型,分别

整合微信小程序的Web API接口层的架构设计

在我前面有很多篇随笔介绍了Web API 接口层的架构设计,以及对微信公众号.企业号.小程序等模块的分类划分.例如在<C#开发微信门户及应用(43)--微信各个项目模块的定义和相互关系>介绍了相关模块的划分,在<基于微信小程序的系统开发准备工作>介绍了Web API的架构设计思路.本篇随笔对之前介绍的架构内容进行统一的调整更新,以便更加方便实际项目的应用开发,以期达到统一.重用.清晰的目的. 1.公众号.企业号.小程序模块的划分 我们知道,目前微信企业应用,分为公众号.企业号(企业

《TCP/IP详解卷2:实现》笔记--接口层

提示:该实验所在的平台是在RedHat 6下 该实验成功的前提有三个: (1):windows能ping通linux系统 (2):关闭linux的防火墙 :执行指令 /etc/init.d/iptables  stop (3):让SeLinux关闭  :执行指令:  setenforce permissive 补充: SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统.SELinux 是一个

最新番茄花园win7系统快速稳定版

这是最新番茄花园win7系统64位快速稳定版 V2016年2月,该系统由系统妈整理和上传,系统具有更安全.更稳定.更人性化等特点.集成最常用的装机软件,集成最全面的硬件驱动,精心挑选的系统维护工具,加上番茄花园独有人性化的设计.是电脑城.个人.公司快速装机之首选!拥有此系统,您也可以轻松成为装机高手!更多有关番茄花园系统尽在系统妈win7系统频道下载. win7系统:http://www.xitongma.com/Windows7/ win10系统:http://www.xitongma.com

接口层报文输出

每个CPU有一个单独的softnet_data实例,用来存储与网络中断处理相关的报文输出和输出队列.在输出过程中会用到softnet_data中的output_queue和completion_queue队列. /* * Incoming packets are placed on per-cpu queues so that * no locking is needed. */ struct softnet_data { struct Qdisc *output_queue; struct s

接口层报文输入

当数据包到达网络设备时,通常会触发硬件中断.系统在不支持软中断时,数据包的输入过程只能完全在硬件中断中处理.在这样的情况下,虽然可以完成数据包的输入,但硬件中断处理所占用的CPU资源过多,导致系统对其他硬件相应不够及时. 在有些情况下(某些嵌入式设备)下,数据包到达网络设备时并不会触发硬件中断,在这种情况下,只能通过定时器轮询网络设备的状态,当发现有数据包到达时,才从网络设备中读取数据包并输入到协议栈.这种情况下,数据包的输入及时完全需要依赖定时器触发的频率,如果频率过高,可能会过多地消耗CPU

《TCP/IP具体解释卷2:实现》笔记--接口层

接口层包含在本地网上发送和接收分组的硬件与软件. 我们用设备驱动程序来表示与硬件及网络接口通信的软件,网络接口是指在一个特定网络上硬件与设备驱动器之间的接口. Net/3接口层试图在网络协议和连接到一个系统的网络设备的驱动器间提供一个与硬件无关的编程接口.这个接口层为全部的 设备提供下面支持. 1.一套精心定义的接口函数. 2.一套标准的统计与控制标志. 3.一个与设备无关的存储协议地址的方法. 4.一个标准的输出分组的排队方法. 这个不要求接口层提供可靠地分组传输,仅须要提供最大努力的服务.

Linux网络之设备接口层:发送数据包流程dev_queue_xmit

转自:http://blog.csdn.net/wdscq1234/article/details/51926808 写在前面 本文主要是分析kernel-3.8的源代码,主要集中在Network的netdevice层面,来贯穿interface传输数据包的流程,kernel 博大精深,这也仅仅是一点个人愚见,作为一个笔记形式的文章,如有错误或者表述不当之处,还请大家留言批评指正,非常感谢! 主要涉及的file:kernel-3.18/net/core/dev.c kernel-3.18/net