• 13
  • 13
分享
  • 数据交互驱动测试方法探索与实践——软件测试圈
  • 曼倩诙谐 2021-03-24 09:51:13 字数 2595 阅读 1321 收藏 13

  摘要:为有效开展数据报送测试,本文提出一种数据交互驱动测试的方法和经验,通过阐述数据交互的不同测试对象对应的具体测试方法和测试通过准则,为后续数据交互类测试工作提供借鉴和参考。

  一、数据报送测试面临的挑战

  数据报送系统的核心工作是满足接口要求,完成数据的报送工作。与传统的页面级-功能级-流程级的测试方法不同,数据报送系统测试更关注于交互数据流程测试、交互数据质量和交互数据的时效性测试。要求测试人员熟悉业务规则、交互规范、校验规则和SQL校验方法,既能进行数据SQL验证也能进行报文的数据测试。

  二、数据交互驱动测试方法

  针对以上挑战,结合以往项目测试方法,本文提出了一种数据交互驱动测试方法(如图1所示),该方法着眼于系统数据交互测试,按照测试对象的不同进行分类,明确测试方法和测试通过准则,并以此渗透完成系统其他相关的测试。

1-1.png

图1 数据交互驱动测试方法

  数据交互驱动测试以每轮测试为线,被测程序运行为点,依据运行前中后测试对象的差异,将测试分为运行前的设计测试、运行中的运行测试和运行后的产物测试三阶段。将测试当成一场交谊舞,测试方法就是它的舞曲,设计测试、运行测试和产物测试则是这舞曲的经典三部曲,而以此渗透的其他测试,请把他当成伴奏,一曲结束即结束一轮测试,而当所有轮测试顺利完成后,整个项目测试也就基本完成。

  现在,就让我们随着这支舞曲跳起来吧!

  1 第一部曲:设计篇

  设计测试的对象主要是开发设计文档、待测试程序以及程序相关的部署配置等内容。具体测试包括设计文档检查、待测程序检查。

  1.1 设计文档检查

  设计文档检查重点关注测试设计的规范性和设计的完整性,即确认设计的内容与约定好的交互规范内容是否一致;设计的功能与需求比对是否有遗漏;设计的功能与软需中的功能点比对是否有遗漏等。具体测试可以包括:接收数据设计文档的检查和交付数据设计文档的检查。

1-2.png

1-3.png

  1.2 待测程序检查

  待测程序检查是指测试人员依据设计文档,检查待测程序和程序部署配置相关信息。重点关注设计的脚本是否有遗漏。具体测试内容为:测试待测试程序较交付清单是否有遗漏;测试待测试程序较设计是否有遗漏;测试待测试程序部署配置是否合理。

1-4.png

1-5..png

  2 第二部曲:运行篇

  运行测试的对象为程序具体程序(作业或脚本)的运行情况,主要包括正常运行测试、强负载测试、异常测试。

  2.1 正常测试

  正常运行测试是指程序执行小并发数,模拟各类数据交互程序的正确运行,测试程序是否运行顺畅,无异常。

1-5.png

1-6.png

  2.2 强负载测试

  负载测试是在强负荷(高并发数运行)下的测试,查看程序在高压下的数据交互情况。

1-7.png

1-8.png

  2.3 异常测试

  异常测试主要验证在出现各类异常情况(工具模拟内存满,CPU满,磁盘满,操作系统重启等操作)后,程序仍可以持续运行。

1-9.png

  3 第三部曲:产物篇

  产物测试的对象为交互报文或交互文档。从数据交互角度看,运行产物包括了数据交付方和数据接收方。数据交互可大可小,大可大到与行外系统的交互,小可小到我们平常所说的系统内的每次数据表的转换。从测试角度看,测试又可包括但不限于规范性测试、完整性测试、数据准确性测试、容错性测试。

  3.1 数据交付方

  3.1.1 规范性测试

  规范性测试是指最终交互产物是否符合交互规范的验证。具体测试可以包括:文件名规范测试、数据类型测试、已确定校验规则测试、各时点数据报送约束测试、各时点数据空值约束测试、各时点数据项特性约束测试、字典表规范测试。

  (1)通用规范测试

  通用规范测试是指针对交付文件名规范、文件头规范、文件体共性规范和通用规则开展的测试。主要检查数据报送文件和数据反馈文件结构是否符合接口文件规范,以防止错误结构文件的报送和可能因报文结构不规范而造成的交互报文的打回或报文接收运行错误等现象。

1-10.png

  (2)数据类型测试

  数据类型测试指验证交互的数据类型是否符合交互规范。

1-11.png

  (3)已确定校验规则测试

  已确定校验规则测试是针对接收方特别强调需要满足的校验规则开展的测试。这类规则与交互规范文档中其他规范要求的可能有重复,也有补充内容。为保证规范完整性校验,可作为单独一项测试开展也可去重补充案例。

1-12.png

  (4)各时点数据报送约束测试

  各时点数据报送约束测试是指对不同类文档不同时点报送的信息就是否“必须报送”、“不应报送”开展专项测试。

1-13.png

  (5)各时点数据空值约束测试

  各时点数据空值约束测试是指对不同类文档不同时点报送的信息就是否不能为空开展测试。

1-14.png

  (6)各时点数据项特性约束测试

  数据项特性约束测试是指对不同类文档不同时点报送的信息针对他自身数据的具体业务规范开展的测试。

1-15.png

  (7)字典表规范测试

  字典表规范测试是指对数据库内的数据转换参考的字典表的规范性进行测试,以此确保对照转换后的数据完全符合交互约定的规范。

1-16.png

  3.1.2 完整性测试

  完整性测试是指最终交互产物是否有遗漏的测试。常见的测试情况有:信息类别完整性测试、业务种类完整性测试、关键信息业务量的完整性测试、关联信息数量比对测试。

1-17.png

  3.1.3 数据准确性测试

  数据准确性测试是依据数据转换规则验证待交付产物的数据是否正确。常见的测试有:端到端测试、关联信息逻辑测试、转换规则校对、反馈报文正确解析验证。

1-18.png

  3.1.4 容错性测试

  容错性测试是指模拟源文件中的各类脏数据,或模拟强负载运行,或模拟运行期间发起异常事件,验证异常运行后的产物。

1-19.png

  3.2 数据接收方

  3.2.1 规范性测试

  规范性测试是指接收方在接收到信息后反馈信息的规范性验证。具体测试可以包括:错误返回信息规范测试、正常返回信息规范测试。

1-20.png

  3.2.2 完整性测试

  完整性测试是指接收的所有表、表内的字段满足预期的数据需求,没有遗漏。具体来讲主要包括,接收方的完整性测试包括表的完整性检查、记录数完整性检查、字段完整性检查。

1-21.png

  3.2.3 一致性测试

  一致性测试是指接收入库的信息和预期数据信息一致性的校对。包括数据类型一致性校对、数据内容一致性校对。具体测试方法和通过准则如下:

1-22.png

  3.2.4 容错性测试

  容错性测试是指模拟交付文件中的各类脏数据,或模拟强负载运行,或模拟运行期间发起异常事件,验证异常运行后的产物。

1-23.png


作者:李琳 田娜 吴文锦   

来源:51Testing软件测试网原创

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   世界上最遥远的距离不是我说还是没说,而是我说了什么你却没明白是怎么回事。  最近小编有幸参加了一场金字塔原理的培训课程,金字塔原理帮助我们解决两大问题:思维混乱、逻辑不清,通过金字塔的学习,可以做到想清楚、说明白。下边小编通过小明的故事,跟大家分享一下金字塔原理的工作的方式。  一天,小明在电梯里遇到了部门领导,领导问:小明,好久不见,最近在忙什么?  小明瞬间脑袋空白,不知道如何回答,支支吾吾的说:还好,没忙什么,就是在做5.0版本的项目测试。  小明不开心的回到工位,看到了群群,群群帮他分忧,群群说:小明,你可以采用时间逻辑进行回答,比如我上个月在做一个创新项目升级策略的工具,这个月刚...
            0 0 2315
            分享
          • 往往在测试中,大家觉得来了测试任务就测试,时间久了,反而忘记了还有什么规范?也就慢慢忽略了规范!规范的软件测试流程有助于需求条理化,将测试工作模块化,一切跟着计划走比通过脑袋记忆要更加的有条理。有的时候,工作任务比较繁琐,脑袋记忆力容易出现乱成一锅粥的情况,特别这个时候,软件测试计划就更加重要。下面结合实际情况对自己工作中测试流程进行简单的阐述。1.制定测试策略测试策略就是如何进行测试,运用何种手段进行测试。当用户提出新的需求时,测试人员应该和开发人员一起做测试需求分析,一般我们都会通过会议的形式去进行讨论分析,这样测试人员会对测试需求要有个大概的了解,需要是干什么的,包括哪些功能等等,而不至...
            0 0 1798
            分享
          •   YouTube 创作者频道在北京时间今天凌晨宣布带来一项新功能:当创作者发现自己的视频评论区变得难以应对时,可以在不必完全关闭或删除评论的同时,一键暂停新的评论。▲ 图源 YouTube,原图清晰度如此  官方表示,这项功能此前已经测试了一段时间,并收获了不少积极的反馈。测试人员表示,这项功能将为自己频道的评论管理带来“更大的灵活性”。  在这项功能上线之前,若创作者想要“阻止”新的评论,只有两个选择:开启评论审核或关闭评论区。  在推出了这项功能之后,用户可在 PC 端或移动设备上使用 YouTube Studio 工具在视频的“评论设置”中找到“暂停”选项。若该功能打开,观众仍可看到所...
            0 0 600
            分享
          •   日前,吉祥航空母公司均瑶集团举行吉祥大出行空中全球发布会,正式发布了“吉祥大出行”战略以及智能出行科技品牌“吉祥汽车”。  不过,官方在发布会上并未公布新车详细信息,仅透露吉祥汽车旗下首款产品预计在明年第二季度于国内上市,第三季度走向海外市场。  据介绍,该车将拥有吉祥汽车全栈自研的、具有独立知识产权的全新智能电动平台,一开始就按照中欧双五星安全标准打造,是适合全球市场的智能终端。  新车采用一体式设计,理念来源于航空美学的“极简主义”,灵感来源于人类抬头仰望数千年的苍穹。  吉祥汽车主理人张广浩表示,流畅的整车姿态,实现同级别车型最优风阻系数。  据国内媒体报道,上海均瑶(集团)有限公司...
            0 0 594
            分享
          •   职场新人对测试用例的困惑无非有以下几点:  1、什么是测试用例,为什么要写测试用例?  2、不知道怎么写,写了也不知道写的是否完整。  一、什么是测试用例?  百科的释义:  测试用例是对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。其内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,最终形成文档。  简单地认为,测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,用于核实是否满足某个特定软件需求。  二、为什么要设计测试用例?  1、指导测试工作的进行  测试用例可以把产品需求转换为可操作的步骤【步骤、操作、输入、输出、优先级等...
            0 0 838
            分享
      • 51testing软件测试圈微信