银行软件测试:基于互联网金融平台的测试框架设计与分析

这篇具有很好参考价值的文章主要介绍了银行软件测试:基于互联网金融平台的测试框架设计与分析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目前互联网金融火的一塌糊涂,基于互联网金融平台的自动化测试的项目也是如火如荼的进行。笔者手头上负责一个p2p项目的测试框架开发,因此如何设计一套有效的测试框架也成为工作所需和互相交流测试经验的必须。

这个网站的后台主要是php和java, 也就是说,一些基础的服务,如充值提现,投标起息还款,是采用spring mvc的框架来写的,然后php来调用java的API,java平台通过intercepter将php 传递过来的http请求映射到对应的controller,controller再通过map映射到对应的服务和实现。

简单来说网站框架就类似如下:
银行软件测试:基于互联网金融平台的测试框架设计与分析,金融,软件测试,程序人生,自动化测试,职场和发展,功能测试,python

网站一些基本的业务如注册登录,用户中心,投资、红包等等由用户前台触发php调用,一些活动、红包、礼品券等等由后台触发php调用,充值提现投资起息还款由java平台实现。

基于这样的平台的自动化测试框架选型的时候,笔者考虑过以下几种:

一种是采用基于selenium,集成thinkphp的框架来写。主要的原理就是利用selenium的firefox插件来录制,页面上的html元素和javascript脚本,然后做2次封装将这些录取到的元素和js封装成一个个的标准对象,保存到标准对象库,然后再添加一些数据库的数据准备和数据清理函数,以及数据库增删改查语句。

然后在引擎脚本中,引用和调用这些对象的方法,类似如edit,type等等,然后就在页面跳转的时候加上驭循环和一些判断,检测页面元素的值是否存在,或者是检测一些方法返回值,或者是采用断言来处理数据库查询到的结果和页面上返回的结果做匹对,可以在以selenium为基本的框架的时候,引入thinkPHP或者YII框架加快开发脚本速度。

另外一种是采用QTP方式来使用,其基本原理也和采用selenium原理大同小异,唯一的差别就是QTP提供了一个很好和强大的基本类库,以及一个很好的对象识别机制obeject Spy,QTP的基本类库里面基本什么都有,java,.net, web,乃至于dephi……

在识别对象的时候可以直接通过java里面的类来映射,也可以直接用web相关类库里面的类,甚至是windows平台类……QTP提供了多种识别方式以帮助定位对象,这样只用修改少量的对象属性,在回放脚本和编辑核心代码的时候,就可以起到事半功倍的效果,但是QTP也有缺点,就是对于Js的处理不方便,还有就是时刻需要启动QTP,而不能和一些开源测试框架特别是java开源项目,来实现自动部署测试用例和自动打包的集成。

ruby +watir 的原理和selenium也是类似,也是一种基于WEB GUI的自动化测试框架,笔者研究甚少,也就不多言了。

但是由于p2p行业的特性,这些基于web的自动化测试框架有很多不适合的地方,跟投资充值提现相关的这些相关的功能,比较在乎的不仅仅是页面上的一些元素功能的显示,更关心的是这个数据的正确性。

如果采用基于GUI的方式做自动化测试,个人感觉针对页面元素的识别和校验往往并不能反映数据正确性,而在处理页面元素异常的时候,也往往无法针对复杂业务逻辑和数据做较强的处理和效益,而且GUI是模拟人工处理,在执行效率上面,也是效果较差,而且如果出现某个页面元素无法识别或者异常,有可能中断整个页面的处理,在分析代码覆盖率的时候,基于web的方式也不是那么容易分析。

目前的这个项目,java向PHP平台提供的主要是基于HTTP协议的restful应用,之所以采用restful,而不用webservice来处理传输数据相关,是因为webservice即便是采用json而不是xml来处理传输数据,相比较restful也显得较重,json还需要加密解密解析、序列化什么的,而在 restful 里面直接就可以通过 http 请求对资源进行操作。

因此笔者觉得还是从controller层直接进行接口测试比较直接有效,又考虑到 spring框架里面提供了mock http请求的方法,而web UI的正确性相对于后台业务数据正确性的优先级就没有那么高了,而spring的测试框架里面虽然可以通过断言controller层返回的ModleAndView对象校验controller的正确性,即通过接口测试来效益结果,但是如果controller层后面的对象 太多的话,一旦出现问题也不便于排错。

因此基本的测试框架思路就是采用spring mvc提供的mock restful的工具类,然后引入断言机制和数据库处理,来逐个controller分析业务逻辑的正确性和数据正确性。而sping MVC本身也提供了一套测试框架,可以通过服务端测试和客户端测试分别来测试。

服务端测试在使用spring mvc测试框架之前,可能采取类似如下代码:

@Test

public void serverSample() {

MockHttpServletRequest request = new MockHttpServletRequest();

ModelAndView mav = new sampleController.function(parameters);

ModelAndViewAssert.assertViewName(mav, user/view);

ModelAndViewAssert.assertModelAttributeAvailable(mv, user);

}

}

采用服务器端测试后,可以采用如下两种方法:

standalone:

public class ServerTest {

@Autowired

private MockMvc mockMvc;

@Before

public void init() {

SampleController sample = new SampleController();

mockMvc = MockMvcBuilders.standaloneSetup(SampleController).build();

}

}

  集成:

public class ServerTest {

@Autowired

private WebApplicationContext wac;

private MockMvc mockMvc;

@Before

public void init() {

mockMvc = MockMvcBuilders.webAppContextSetup(wac).build();

}

}

 测试:

@Test

public void testSample() throws Exception {

MvcResult result = mockMvc.perform(MockMvcRequestBuilders.get(/user/1))

.andExpect(MockMvcResultMatchers.view().name(user/view))

.andExpect(MockMvcResultMatchers.model().attributeExists(user))

.andDo(MockMvcResultHandlers.print())

.andReturn();

Assert.assertNotNull(result.getModelAndView().getModel().get(user));

}

以上是采用spring MVC的服务端测试方法,至于客户端则有几种方法,

1.通过jetty启动容器,真实映射到controller层实现;

2.使用spring boot测试

3.使用mock service server测试,第三种方式基本上属于使用resttemplate来测试客户端比较好的方法;

即先通过MockRestServiceServer创建RestTemplate的Mock Server,然后添加客户端请求断言,判断客户端请求的断言是否正确,3、添加服务端响应,检查服务器端相应是否正确。

客户端相关代码在网络上也有很多资源,因此也就不再赘叙,这里主要是提供一种基于spring mvc框架和基于restful应用如何测试controller层的思想。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:【保100%免费】

银行软件测试:基于互联网金融平台的测试框架设计与分析,金融,软件测试,程序人生,自动化测试,职场和发展,功能测试,python

软件测试面试小程序

被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

涵盖以下这些面试题板块:

1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础

银行软件测试:基于互联网金融平台的测试框架设计与分析,金融,软件测试,程序人生,自动化测试,职场和发展,功能测试,python文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片领取。  文章来源地址https://www.toymoban.com/news/detail-638167.html

到了这里,关于银行软件测试:基于互联网金融平台的测试框架设计与分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 国内精选五大优质互联网理财软件app最新排名(综合测评)

    国内精选五大优质互联网理财软件app最新排名(综合测评)

    随着移动网络技术的飞速发展和大众经济水平的逐渐提高,现在市场上有很多互联网理财软件,选择一款好的软件是非常重要的。首先,要确保软件的安全性和可靠性,因为金融交易需要非常高的安全保障。 其次,要考虑软件的交易实时性和操作简便度,因为这会直接影响到

    2024年02月08日
    浏览(10)
  • 关于互联网金融平台性能测试的过程经历分享

    关于互联网金融平台性能测试的过程经历分享

      目录 项目角色 测试范围 测试策略 测试过程中协助项目组进行问题分析定位优化建议。测试后期负责测试报告编制,问题类型整理。 本次测试范围包括互联网金融平台自身7个模块,7个关联改造的外围系统。 整个测试计划分为公有云测试和私有云测试、端对端单模块测试

    2024年02月16日
    浏览(10)
  • 软件测试之银行测试

    互联网大厂工资高,但也不是那么好进的,这两年内卷越来越严重,想进大厂也越来越难。而银行的测试岗难度则会小很多,工资也还说的过去,并且相对稳定。而做银行金融测试岗需要做什么呢?以及它的要求和准则,快来看看吧。 01 银行测试工程师每天做些什么? 首先

    2023年04月17日
    浏览(8)
  • 【面试】互联网软件研发岗位,面试内容准备方向(技术面试考察点)

    【面试】互联网软件研发岗位,面试内容准备方向(技术面试考察点) 1、简历筛选与面试评价 HR部门捞简历的流程 简历的细选 职位、职责、学历、工作年限、地点等等。可以帮助招聘官迅速 判断应聘者是否符合JD要求 。 应聘者的主要数据。应聘者的名字、目前的职

    2024年02月19日
    浏览(9)
  • 元宇宙游戏开发APP软件把现实搬到互联网中

    元宇宙游戏开发APP软件把现实搬到互联网中

    元宇宙游戏开发随着元宇宙的声誉日益提升,越来越多的群体和行业开始关注元宇宙的趋势。许多大型企业已经抢先一步自行制作了专属的元宇宙虚拟展厅,开发元宇宙游戏,将线上和线下相结合,开启了新的推广和营销大门。董技叔源码哥发现自从广受认可的元宇宙元年

    2024年02月06日
    浏览(13)
  • 互联网八大技术岗位解析:前端+后端+移动+测试+大数据+管理等

    互联网八大技术岗位解析:前端+后端+移动+测试+大数据+管理等

    互联网史上最全技术岗位详解,包括:前端研发、后端研发、移动端研发、大数据、项目管理、测试、运维、技术管理等。 架构师 每个产品线都有架构师,在技术平台部门也需要技术平台的架构师。 架构师负责设计系统整体架构,从需求到设计的每个细节都要考虑到,把握

    2024年02月05日
    浏览(13)
  • 基于区块链技术的 工业互联网标识

    基于区块链技术的 工业互联网标识

    案例提供单位: 北京众享比特科技有限公司 为完善工业互联网产业生态,提高工业互联网产业能力,某通信公司省级分公司率先开展标识解析体系在电子信息产业的探索应用,打造工业互联网标识解析应用平台,并通过与国家二级节点互联互通接入整个标识解析体系。北京众

    2024年02月01日
    浏览(8)
  • 软件测试面试-银行篇

    今天参加了一场比较正式的面试,汇丰银行的视频面试。在这里把面试的流程记录一下,结果还不确定,但是面试也是自我学习和成长的过程,所以记录下来大家也可以互相探讨一下。 请你做一下自我介绍?(汇丰要求英文的自我介绍) 使用什么工具来管理项目? 测试用例

    2024年02月06日
    浏览(17)
  • 互联网金融P2P主业务场景自动化测试

    互联网金融P2P主业务场景自动化测试

    互联网金融P2P行业,近三年来发展迅速,如火如荼。         据不完全统计,全国有3000+的企业。   “互联网+”企业,几乎每天都会碰到一些奇奇怪怪的bug,作为在互联网企业工作的测试人员,风险和压力都巨大。那么我们如何降低风险呢?         P2P主要的业务场景概括

    2024年02月02日
    浏览(9)
  • 《菅销在移动互联网时代》智慧树知到章节测试答案

    智慧树知到《营销在移动互联网时代》2019章节测试答案 2019年11月22日 智慧树知到《营销在移动互联网时代》2019章节测试答案 第1章 单元测试 1、关于自媒体时代,克莱.舍基的三本著作有? 答案:未来是湿的:无组织的组织力量、认知盈余:无组织的时间力量、人人时代:无

    2024年02月09日
    浏览(9)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包