337p人体粉嫩胞高清图片,97人妻精品一区二区三区在线 ,日本少妇自慰免费完整版,99精品国产福久久久久久,久久精品国产亚洲av热一区,国产aaaaaa一级毛片,国产99久久九九精品无码,久久精品国产亚洲AV成人公司
網易首頁 > 網易號 > 正文 申請入駐

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

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.

相關推薦
熱點推薦
唯一女兒去世后,八旬母親花光退休金瘋狂網購!快遞箱在家堆積如山,30余人連續干了12小時,清走10余車雜物

唯一女兒去世后,八旬母親花光退休金瘋狂網購!快遞箱在家堆積如山,30余人連續干了12小時,清走10余車雜物

極目新聞
2026-03-27 19:26:54
警惕!公知正在悄悄換掉我們的價值觀:三件事正在瓦解社會根基

警惕!公知正在悄悄換掉我們的價值觀:三件事正在瓦解社會根基

云景侃記
2026-03-26 14:56:36
精準打擊!伊朗兩大鋼鐵廠徹底被毀,工業命脈被一刀掐斷

精準打擊!伊朗兩大鋼鐵廠徹底被毀,工業命脈被一刀掐斷

老馬拉車莫少裝
2026-03-27 22:23:14
宗馥莉就地解散公司,震驚行業!

宗馥莉就地解散公司,震驚行業!

財經三分鐘pro
2026-03-03 11:20:05
霍爾木茲海峽突發!全球資產異動!

霍爾木茲海峽突發!全球資產異動!

證券時報
2026-03-27 21:34:04
血管清道夫榜單公布:洋蔥第3,第1名家家都有,中老年人宜多吃

血管清道夫榜單公布:洋蔥第3,第1名家家都有,中老年人宜多吃

餐飲新紀元
2026-03-27 07:11:03
張雪峰去世僅三天,女兒再也忍不住了:爸爸曾偷偷睡在會議桌上

張雪峰去世僅三天,女兒再也忍不住了:爸爸曾偷偷睡在會議桌上

潮鹿逐夢
2026-03-27 20:16:27
伊朗宣布:關閉霍爾木茲海峽,通過者將遭嚴厲打擊,敦促西亞各國民眾立即撤離美軍駐扎區域!特朗普:伊朗想讓我當最高領袖,但我拒絕了

伊朗宣布:關閉霍爾木茲海峽,通過者將遭嚴厲打擊,敦促西亞各國民眾立即撤離美軍駐扎區域!特朗普:伊朗想讓我當最高領袖,但我拒絕了

每日經濟新聞
2026-03-27 18:47:26
伊朗媒體:以美襲擊伊朗核設施

伊朗媒體:以美襲擊伊朗核設施

新華社
2026-03-27 23:30:33
匈牙利的國格讓人不齒

匈牙利的國格讓人不齒

李未熟擒話2
2026-03-27 13:00:23
一覺醒來,愛吃活魚的人天塌了,央視曝光的內幕真可怕!

一覺醒來,愛吃活魚的人天塌了,央視曝光的內幕真可怕!

濤哥銳評
2026-03-26 17:57:04
一女子在湖南省道縣人民醫院生產后,與新生兒不幸雙雙離世,多方回應

一女子在湖南省道縣人民醫院生產后,與新生兒不幸雙雙離世,多方回應

半島官網
2026-03-27 15:13:26
2-0大冷門!真不像傳統印象的國足:時隔16年,再贏世界杯參賽隊

2-0大冷門!真不像傳統印象的國足:時隔16年,再贏世界杯參賽隊

侃球熊弟
2026-03-27 15:32:46
越南暫停部分燃油稅以穩定國內市場

越南暫停部分燃油稅以穩定國內市場

財聞
2026-03-27 11:28:15
兵敗如山倒!國產新能源或證明了,中國根本不需要二線豪華品牌

兵敗如山倒!國產新能源或證明了,中國根本不需要二線豪華品牌

沙雕小琳琳
2026-03-27 16:57:32
國足2-0爆冷僅一夜,贏球傳遍全球3大洲:荷媒德媒驚訝,韓媒盛贊

國足2-0爆冷僅一夜,贏球傳遍全球3大洲:荷媒德媒驚訝,韓媒盛贊

侃球熊弟
2026-03-28 01:15:03
黃仁勛最新驚人觀點:英語專業將血洗計算機,文科成AI時代新貴族

黃仁勛最新驚人觀點:英語專業將血洗計算機,文科成AI時代新貴族

影像溫度
2026-03-27 21:54:59
張雪峰女兒親自辟謠!父母恩愛沒離婚,回應三個問題,口才很意外

張雪峰女兒親自辟謠!父母恩愛沒離婚,回應三個問題,口才很意外

離離言幾許
2026-03-27 14:42:23
荷蘭經濟部長:是我讓安世脫離中國的,這一切全部為了荷蘭與歐洲

荷蘭經濟部長:是我讓安世脫離中國的,這一切全部為了荷蘭與歐洲

離離言幾許
2026-03-27 20:34:48
今晚淮海中路近柳林路發生交通事故 傷者已送醫救治

今晚淮海中路近柳林路發生交通事故 傷者已送醫救治

上觀新聞
2026-03-27 22:30:13
2026-03-28 05:43:00
51Testing軟件測試網 incentive-icons
51Testing軟件測試網
中國軟件測試人的精神家園
1546文章數 13257關注度
往期回顧 全部

科技要聞

楊植麟張鵬夏立雪羅福莉,聊龍蝦、聊漲價

頭條要聞

伊朗:正制定戰爭結束條件 美以將被迫接受現實

頭條要聞

伊朗:正制定戰爭結束條件 美以將被迫接受現實

體育要聞

邵佳一:足球就像一場馬拉松

娛樂要聞

范瑋琪加盟,官宣《浪姐7》遭全網抵制

財經要聞

我在小吃培訓機構學習“科技與狠活”

汽車要聞

與眾08,金標大眾不能輸的一戰

態度原創

時尚
房產
藝術
游戲
軍事航空

推廣中獎名單-更新至2026年3月11日推廣

房產要聞

6.8萬方!天河員村再征地,金融城西區開發全面提速

藝術要聞

一位好“色”的攝影師

離譜!PS5全系暴漲 GTA6還沒出主機先買不起了

軍事要聞

伊朗:已組織超100萬人為地面戰斗做準備

無障礙瀏覽 進入關懷版