当前位置: 首页 > news >正文

我公司是帮企业做网站的_现在要帮客户们的网站备案太原网站建设搭建

我公司是帮企业做网站的_现在要帮客户们的网站备案,太原网站建设搭建,蚌埠网站制作公司费用,wordpress 端口 跳转随着业务的逐步稳定#xff0c;对于接口的改动也会逐渐变少。更多的是对业务逻辑的优化#xff0c;功能实现的完善。对于测试来说#xff0c;重复繁琐的功能测试不仅效率低下#xff0c;而且耗费一定的人力资源。笔者支持的信息流业务下的一个图文管理平台就是一个功能较为…随着业务的逐步稳定对于接口的改动也会逐渐变少。更多的是对业务逻辑的优化功能实现的完善。对于测试来说重复繁琐的功能测试不仅效率低下而且耗费一定的人力资源。笔者支持的信息流业务下的一个图文管理平台就是一个功能较为完善系统较为稳定的后台平台。每次平台新增一些小的功能或者对某些模块做优化时都会一定程度上影响其他模块。每次回归测试甚至比新增的功能测试点还耗时而且还不敢保证没有漏测的地方。因此如何提升测试效率保证回归测试的全面性和准确性接口自动化测试是一种有效的手段。目前有不少成熟的接口自动化测试框架可供使用如junit4httprunner等不过这些框架并不能满足所有的业务场景。因此为了能够更灵活的将这些框架应用在具体的业务场景下同时也进一步加深对框架的理解这就有必要扩展这些框架定义业务测试所需要的测试行为。基于此笔者选择junit4框架就如何扩展并搭建起一个自定义测试行为的接口自动化框架和大家聊聊。 为什么是junit4框架junit4作为一个开源的单元测试框架正迅速成为java单元测试的标准框架。Cpythonphp等语言都有了对应的xunit框架这就便于语言之间的切换降低了学习成本。此外junit4便于二次开发在其基础之上能够很容易的扩展框架。junit4的代码量也不是很大以其高密度的设计模式和灵活性使得大家对junit框架评价很高。最后junit开源社区也能够为初学者提供不错的学习文档以及问题解答。当然由于笔者常使用java语言这也缩小了选择范围。 在搭建测试框架之前我们需要搞明白接口自动化测试框架应该由哪些部分构建。一般情况下接口自动化测试框架由数据驱动、接口执行驱动、调度器、结果验证以及结果报告五部分组成。接口常指应用程序编程接口具体表现形式如http接口请求、dubbo接口请求等。所以接口执行驱动就是涉及http或者https协议的请求构建。那么数据驱动又是什么了其实就是测试用例集合的管理在测试运行时用来加载成可执行的测试用例。接着所谓的调度器则是将数据驱动和接口执行驱动组合起来的桥梁简单来说就是将http等接口的请求功能和测试数据结合起来并执行。最后结果验证以及结果报告不难理解主要用于验证预期结果并将测试结果展现出来的模块。在初步了解了接口自动化测试框架搭建的五个模块后接下来以junit4为基础框架基于上述五个模块维度去展开讨论如何搭建接口自动化测试框架。 既然选择了junit4框架作为基础扩展框架那么就有必要对junit4的工作原理有一定的了解。junit4工作原理本身涉及到很多知识光从源码分析就能写出长篇大论。本文重点则在于如何扩展junit4框架以搭建自定义的接口自动化测试框架。因此接下来对其工作原理做出简要的介绍以便大家快速进入状态。简单来说junit4通过FrameworkMethod类去定义需要运行的测试用例然后调用BlockJUnit4ClassRunner类中的computeTestMethods()方法加载出定义好的测试用例。接着调用BlockJUnit4ClassRunner类中的methodInvoker()方法触发测试用例的真正执行单元Statement通过调用该执行单元类的evaluate()方法执行具体的case。最后调用Assert类中相关方法对测试用例中的预期结果做对比验证获取测试用例运行结果。到此junit4的基本原理介绍完毕。细心的朋友们会发现上面介绍的几个基础类一定大有用处。事实上对于上述基础类的继承与方法覆写就可以轻松实现对junit4框架的扩展。 数据驱动作为管理测试用例并提供测试数据的源头需要直观、便于扩展便于维护。常见的测试用例管理有excel、xml、数据库等形式这里笔者选择excel作为管理测试用例数据的数据驱动源是因为在excel上便于维护和扩展测试用例而且能够将测试用例更好地融入到笔者搭建的web平台中以实现友好的前后端交互。Excel作为数据驱动的选择如何管理测试用例了这里提供两种方案。方案一以每个excel文件为单元作为一个接口的测试用例集合在每个文件中每行记录作为一个具体的测试用例表示一个具体的业务测试场景具体来说每行记录包含接口的url、请求类型、请求参数、预期结果等。方案二一个excel文件作为所有接口的测试用例集合excel文件中的第一个sheet表格中每行记录表示一个接口的测试用例集然后每个接口的测试用例集中具体的业务测试场景对应于excel中剩余每个sheet表格。当然选择可以更多这个大家可以自行根据需要扩展。数据驱动一个重要功能就是将excel中的具体业务测试场景加载成可执行的测试方法这时就需要扩展junit4框架的FrameworkMethod类自定义出我们需要执行的测试用例方法也就是将excel中的每行记录定义成一个TestCase每个接口对应的所有测试用例对应为一个TestSuite集。从下方源码中可以看出TestCase即相当于junit4中的测试方法。 事实上每个TestCase对应着一个具体的http请求通过组合不同的参数以期验证不同的业务场景。因此接口执行驱动就是对不同的TestCase代表的url执行http请求。前面提到过测试用例的真正执行单元是Statement类因此只需要继承Statement类覆写唯一的evaluate()方法在evaluate()方法中执行http请求需要注意的是我们需要将http请求具体分为get和post请求具体的请求类型对应着不同的测试用例。 明确数据驱动和接口执行驱动之后接着需要将所有的测试用例集和http请求结合起来以执行接口测试这里就涉及到调度器的概念了。调度器主要是将数据驱动加载的TestSuite集生成Junit4框架需要的执行器runner。通过调用runner的run()方法遍历runnner以生成所有的TestCase。然后针对每个TestCase执行覆写的methodInvoker ()方法在 methodInvoker ()中生成每个TestCase所需要的所有执行单元statementsstatements包含测试执行前数据准备、http请求执行以及测试执行后数据清理等工作。如上述可知通过继承BlockJUnit4ClassRunner类自定义需要执行接口测试的runner。其中覆写computeTestMethods()生成需要执行的所有TestCase然后覆写methodInvoker针对生成的TestCase指定需要执行的接口执行驱动XStatement。 最后结果验证以及结果报告是很重要的环节。接口自动化测试的意义就是通过自动化测试手段对系统进行大量回归测试验证测试结果从而定位出bug。对于大批量的回归测试将测试结果统计出来对于问题分析有很大的帮助所以一份简单明了的结果报告很重要。对于结果验证最简单的一种思路就是利用assertEquals去对指定字段的预期结果和实际结果做对比验证。此外可以针对每个测试用例维护一份完整准确的运行结果每次只需将实际运行的结果与其进行对比。结果报告需要提供运行测试用例的总数本次执行成功的用例总数以及失败的用例总数对于失败的用例需要给出失败的原因将所有的这些点透传到前端直观的展示出来即可。 是时候总结一下了本文从数据驱动、接口执行驱动、调度器、结果验证以及结果报告五个维度讲解了如何基于junit4框架去搭建自定义化的接口自动化测试框架。逻辑不复杂大家可以按照这个思路去动手尝试一下。为了让大家有个直观的概念下面以流程图的形式为大家呈现出自定义的接口自动化框架扩展及运行原理。 一个接口自动化框架需要实现的东西不限于上面的五部分包括数据准备、数据清理、请求参数的加签验签数据库的操作与结果验证、mock的实现等等。但是基于上面的思路可以让大家能够轻松的搭建出自定义的测试框架剩余的只需不断的完善。最后想要说的是“纸上得来终觉浅绝知此事要躬行”。 【下面是我整理的2023年最全的软件测试工程师学习知识架构体系图】 一、Python编程入门到精通 ​二、接口自动化项目实战  ​ 三、Web自动化项目实战 ​四、App自动化项目实战  ​ 五、一线大厂简历 ​六、测试开发DevOps体系  ​ 七、常用自动化测试工具 ​八、JMeter性能测试  ​ 九、总结尾部小惊喜 生命不息奋斗不止。每一份努力都不会被辜负只要坚持不懈终究会有回报。珍惜时间追求梦想。不忘初心砥砺前行。你的未来由你掌握 生命短暂时间宝贵我们无法预知未来会发生什么但我们可以掌握当下。珍惜每一天努力奋斗让自己变得更加强大和优秀。坚定信念执着追求成功终将属于你 只有不断地挑战自己才能不断地超越自己。坚持追求梦想勇敢前行你就会发现奋斗的过程是如此美好而值得。相信自己你一定可以做到  最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走 ​ 这些资料对于【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴上万个测试工程师们走过最艰难的路程希望也能帮助到你
http://www.pierceye.com/news/283255/

相关文章:

  • 网站需要怎么做的吗做营销网站那个好
  • 苏州网站建设软件收费广东网站设计哪家专业
  • 中国产品网免费网站网站自定义功能实现
  • 做微信小程序和做网站短视频素材下载网站
  • 自治区住房和城乡建设厅网站自己怎么健网站视频教程
  • 昆明建站网址dw怎么做秋季运动会网站
  • 为什么要建设个人网站在建工程
  • o2o网站设计方案做一个网站只做前端怎么做
  • 长沙网站建设公司联系方式网站注册手机号安全吗
  • 广州市网站建设服务机构建设部网站查资质
  • 医院网站建设思路wordpress mx主题
  • 天津如何做百度的网站虚拟机做局域网网站服务器
  • 网站建设维护需要懂哪些知识网站建设优质公司
  • 怎么做网络彩票网站校园网站建设经费申请报告
  • 廊坊公司做网站一般网站图标是用什么做的
  • php网站开发文档模板玖壹购网站是做啥子的
  • 海报模板网站有哪些小程序电商平台排名
  • 百度一下百度网站苏州优秀网站设计企业
  • 通信管理局网站备案cms网站建设的实训总结
  • 西安知名网站建设公司百度网页版微信
  • 单纯python能完成网站开发吗门户网站衰落的原因
  • 唐山微网站建设价格宁波外贸网站推广优化
  • 如何能把网站做的更大赤峰网站建设赤峰
  • 织梦大气绿色大气农业能源化工机械产品企业网站源码模版网站设计是用ps做图吗
  • 长沙建设网站公司浙江网站建设上市公司
  • 成都艾邦视觉专业网站建设公司有内涵大气的公司名字
  • 制作学校网站编程基础知识大全
  • 建设银行网站买手机阿里云已备案域名购买
  • 12个优秀的平面设计素材网站wordpress 标题 拼音
  • 瑶海区网站建设公司上海app开发定制公司