<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.

      相關推薦
      熱點推薦
      10萬億度需求也不買!中國攤牌,輸電專線全叫停,國產電價教做人

      10萬億度需求也不買!中國攤牌,輸電專線全叫停,國產電價教做人

      阿器談史
      2026-01-26 20:05:32
      比緬北更恐怖!曾經的旅游勝地,如今黃賭毒俱全,性交易隨處可見

      比緬北更恐怖!曾經的旅游勝地,如今黃賭毒俱全,性交易隨處可見

      來科點譜
      2025-10-24 09:25:32
      剛發,大連突發地震,后續地震可能性為……!

      剛發,大連突發地震,后續地震可能性為……!

      本賬號停運
      2026-02-09 19:48:05
      “利潤50%分給員工、不考勤不打卡”,河南男子創業學胖東來,還清105萬外債

      “利潤50%分給員工、不考勤不打卡”,河南男子創業學胖東來,還清105萬外債

      河南交通廣播1041
      2026-02-09 12:45:19
      長沙“互啃”后續:沒實錘,婚離了!中年人的體面,真輸不起!

      長沙“互啃”后續:沒實錘,婚離了!中年人的體面,真輸不起!

      王楔曉
      2026-01-08 11:31:21
      不要小瞧了日本,一旦中日開戰,日本要對中國進行“三路打擊”

      不要小瞧了日本,一旦中日開戰,日本要對中國進行“三路打擊”

      安安說
      2026-01-21 09:50:42
      中央明確!退休新規實施后,公務員及事業編制,不能延遲退休嗎?

      中央明確!退休新規實施后,公務員及事業編制,不能延遲退休嗎?

      南風不及你溫柔
      2026-02-09 23:52:36
      “不給6套房加1個億,不搬”,釘子戶張新國堅守14年,終敗給現實

      “不給6套房加1個億,不搬”,釘子戶張新國堅守14年,終敗給現實

      紅夢史說
      2025-07-11 11:23:39
      魔都天氣現場:春節天氣超前看!假期前半段暖且有雨,大年初二迎冷空氣

      魔都天氣現場:春節天氣超前看!假期前半段暖且有雨,大年初二迎冷空氣

      隨申Hi
      2026-02-09 20:57:03
      高市早苗表態:著手推動修憲

      高市早苗表態:著手推動修憲

      大風新聞
      2026-02-09 20:01:19
      在深圳,經濟一差,到處是詐騙

      在深圳,經濟一差,到處是詐騙

      愛下廚的阿釃
      2026-02-09 20:38:49
      李亞鵬宣布春節前暫停直播:不想占據熒幕叨擾大家,下次開播可能要到很久以后,將投入到嫣然醫院工作中

      李亞鵬宣布春節前暫停直播:不想占據熒幕叨擾大家,下次開播可能要到很久以后,將投入到嫣然醫院工作中

      臺州交通廣播
      2026-02-09 09:22:58
      特斯拉續航剩72公里,高速上突然斷電,售后回應引發爭議

      特斯拉續航剩72公里,高速上突然斷電,售后回應引發爭議

      大象新聞
      2026-02-09 10:01:09
      特朗普炮轟“超級碗”中場秀嘉賓,稱其表演“是對美國的侮辱”

      特朗普炮轟“超級碗”中場秀嘉賓,稱其表演“是對美國的侮辱”

      瀟湘晨報
      2026-02-09 23:17:19
      你見過最窩囊的人是啥樣?網友:原來大家都這么窩囊,我心病好了

      你見過最窩囊的人是啥樣?網友:原來大家都這么窩囊,我心病好了

      帶你感受人間冷暖
      2026-01-06 00:05:11
      巴拿馬急剎車:24小時改口保港口,中方反制有多狠?

      巴拿馬急剎車:24小時改口保港口,中方反制有多狠?

      老謝談史
      2026-02-09 14:53:19
      中國批準稀土出口,日媒歡呼:對華反制措施見效,下一秒遭打臉

      中國批準稀土出口,日媒歡呼:對華反制措施見效,下一秒遭打臉

      壹知眠羊
      2026-02-09 19:55:33
      新春走基層 | 快遞小哥成勞模大哥

      新春走基層 | 快遞小哥成勞模大哥

      人民資訊
      2026-02-08 12:02:27
      90歲焦晃現狀曝出:穿紙尿褲嚴重忘事,與小30歲妻子住無電梯頂層

      90歲焦晃現狀曝出:穿紙尿褲嚴重忘事,與小30歲妻子住無電梯頂層

      小徐講八卦
      2026-02-06 16:10:03
      德國那位軍事專家說得夠直白:美國不是怕中國,是怕打了也白打

      德國那位軍事專家說得夠直白:美國不是怕中國,是怕打了也白打

      扶蘇聊歷史
      2026-01-28 18:04:09
      2026-02-10 03:19:00
      51Testing軟件測試網 incentive-icons
      51Testing軟件測試網
      中國軟件測試人的精神家園
      1522文章數 13252關注度
      往期回顧 全部

      科技要聞

      實測|字節新模型帶著音效和復雜運鏡殺瘋了

      頭條要聞

      人民日報評"南博事件":無論涉及到什么人 絕不放任

      頭條要聞

      人民日報評"南博事件":無論涉及到什么人 絕不放任

      體育要聞

      不會打籃球,如何入選詹娜前男友第一陣容

      娛樂要聞

      央視電影活動名場面!明星站位太講究

      財經要聞

      滬深北交易所優化再融資 釋放3個信號

      汽車要聞

      長安將搭鈉電池 好比汽車要裝柴油機?

      態度原創

      健康
      房產
      親子
      教育
      公開課

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

      房產要聞

      海南又一千億級賽道出現,京東、華潤、中石化等巨頭率先殺入!

      親子要聞

      越討厭跑得越遠

      教育要聞

      孩子愛玩手機不愛學習?你沒用對方法!

      公開課

      李玫瑾:為什么性格比能力更重要?

      無障礙瀏覽 進入關懷版