<cite id="ffb66"></cite><cite id="ffb66"><track id="ffb66"></track></cite>
      <legend id="ffb66"><li id="ffb66"></li></legend>
      色婷婷久,激情色播,久久久无码专区,亚洲中文字幕av,国产成人A片,av无码免费,精品久久国产,99视频精品3
      網易首頁 > 網易號 > 正文 申請入駐

      銀行軟件測試:基于互聯網金融平臺的測試框架設計與分析

      0
      分享至

      目前互聯網金融火的一塌糊涂,基于互聯網金融平臺的自動化測試的項目也是如火如荼的進行。筆者手頭上負責一個p2p項目的測試框架開發,因此如何設計一套有效的測試框架也成為工作所需和互相交流測試經驗的必須。



      這個網站的后臺主要是php和java, 也就是說,一些基礎的服務,如充值提現,投標起息還款,是采用spring mvc的框架來寫的,然后php來調用java的API,java平臺通過intercepter將php 傳遞過來的http請求映射到對應的controller,controller再通過map映射到對應的服務和實現。

      簡單來說網站框架就類似如下:



      網站一些基本的業務如注冊登錄,用戶中心,投資、紅包等等由用戶前臺觸發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層的思想。

      最后:在我的V :atstudy-js,可以費領取一份10G軟件測試工程師面試寶典文檔資料。以及相對應的視頻學習教程免費分享!其中包括了有基礎知識、Linux必備、Shell、互聯網程序原理、Mysql數據庫、抓包工具專題、接口測試工具、測試進階-Python編程、Web自動化測試、APP自動化測試、接口自動化測試、測試高級持續集成、測試架構開發測試框架、性能測試、安全測試等。


      特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。

      Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

      相關推薦
      熱點推薦
      凱特王妃威爾士之行“失敗”!雨中公務受譴責,蒼老狀態不被諒解

      凱特王妃威爾士之行“失敗”!雨中公務受譴責,蒼老狀態不被諒解

      夜深愛雜談
      2026-02-28 20:27:18
      快訊!美以襲擊伊朗,伊朗進行反擊,馬克龍表態

      快訊!美以襲擊伊朗,伊朗進行反擊,馬克龍表態

      環球網資訊
      2026-02-28 20:36:25
      民進黨要求大陸道歉!島內2.2萬兵力準備就緒,要在臺海唱出大戲

      民進黨要求大陸道歉!島內2.2萬兵力準備就緒,要在臺海唱出大戲

      介知
      2026-03-01 00:27:19
      小托馬斯:當一切結束時,杜蘭特會是歷史得分榜第二

      小托馬斯:當一切結束時,杜蘭特會是歷史得分榜第二

      林子說事
      2026-02-28 15:27:13
      做藝人沒有藝德!在上海被抓捕的 4 位明星,你們知道都有誰嗎?

      做藝人沒有藝德!在上海被抓捕的 4 位明星,你們知道都有誰嗎?

      她時尚丫
      2026-02-17 21:56:13
      美伊調解人發聲:敦促美國收手

      美伊調解人發聲:敦促美國收手

      參考消息
      2026-03-01 01:29:04
      國家安全部:NFC可能成為信息泄露乃至危害國家安全的渠道

      國家安全部:NFC可能成為信息泄露乃至危害國家安全的渠道

      上觀新聞
      2026-02-02 07:09:04
      遲遲等不到北京撤回反制,魯比奧通知全球,中國優惠待遇或被取消

      遲遲等不到北京撤回反制,魯比奧通知全球,中國優惠待遇或被取消

      愛看劇的阿峰
      2026-03-01 01:33:35
      大快人心!烏情報總局官宣:俄軍戰犯佐托夫被擊斃,血債終須血償

      大快人心!烏情報總局官宣:俄軍戰犯佐托夫被擊斃,血債終須血償

      老馬拉車莫少裝
      2026-02-03 23:23:30
      前中央政治局常委64歲主動請辭,臨終坦然:我死而無憾

      前中央政治局常委64歲主動請辭,臨終坦然:我死而無憾

      阿諢體育
      2026-02-13 04:28:34
      反轉!中國男籃贏球后FIBA緊急改口,爭議裁判身份曝光,或遭重罰

      反轉!中國男籃贏球后FIBA緊急改口,爭議裁判身份曝光,或遭重罰

      生活新鮮市
      2026-03-01 01:16:02
      中美局勢可能發生大反轉,最先超過美國的竟不是經濟

      中美局勢可能發生大反轉,最先超過美國的竟不是經濟

      華人星光
      2026-01-07 13:32:47
      中國神秘富豪,終于出山了

      中國神秘富豪,終于出山了

      市值Observation
      2026-02-28 17:29:30
      為什么全國人民都在拒接電話?連10086打來也是瞄一眼就掛掉了!

      為什么全國人民都在拒接電話?連10086打來也是瞄一眼就掛掉了!

      今朝牛馬
      2026-01-08 16:05:10
      警惕!凡是微信里有錢的、綁銀行卡的,今后要多注意了

      警惕!凡是微信里有錢的、綁銀行卡的,今后要多注意了

      冷峻視角下的世界
      2026-02-26 22:06:04
      斯蒂爾建議科克勝任后腰,維爾茨達成了初步目標

      斯蒂爾建議科克勝任后腰,維爾茨達成了初步目標

      任意球后
      2026-03-01 01:58:32
      段永平:炒股票的人會很危險,因為你炒不過梁文鋒了

      段永平:炒股票的人會很危險,因為你炒不過梁文鋒了

      風風順
      2026-02-22 13:51:05
      楊紫真的已經瘦到天賦上限了,這也太牛了…

      楊紫真的已經瘦到天賦上限了,這也太牛了…

      手工制作阿殲
      2026-02-22 13:25:34
      局勢突變,外盤又大漲了,怎么看?

      局勢突變,外盤又大漲了,怎么看?

      萌生財經
      2026-02-28 10:57:09
      特朗普打伊朗遭“讓美國再次偉大”陣營成員批“愚蠢”

      特朗普打伊朗遭“讓美國再次偉大”陣營成員批“愚蠢”

      中國青年報
      2026-02-28 17:39:07
      2026-03-01 02:48:49
      51Testing軟件測試網 incentive-icons
      51Testing軟件測試網
      中國軟件測試人的精神家園
      1528文章數 13252關注度
      往期回顧 全部

      科技要聞

      狂攬1100億美元!OpenAI再創融資神話

      頭條要聞

      伊朗媒體公布反擊美軍軍事行動結果

      頭條要聞

      伊朗媒體公布反擊美軍軍事行動結果

      體育要聞

      球隊主力全報銷?頂風擺爛演都不演了

      娛樂要聞

      周杰倫兒子正面照曝光,與父親好像

      財經要聞

      沖突爆發 市場變天?

      汽車要聞

      嵐圖泰山黑武士版3月上市 搭載華為四激光智駕方案

      態度原創

      游戲
      健康
      家居
      數碼
      教育

      所有人保持嘴角不變!生化危機:安魂曲里昂騷話大盤點

      轉頭就暈的耳石癥,能開車上班嗎?

      家居要聞

      素色肌理 品意式格調

      數碼要聞

      小米超薄充電寶亮相MWC,98g有多能打?

      教育要聞

      “比預估高了20多分,激動得有點想哭!”今天有人歡呼,有人沉默,有人紅了眼眶,這一年都經歷了什么?

      無障礙瀏覽 進入關懷版