華文網

富途牛牛:每個優秀的產品背後都有一群拼搏的測試

近年來,”金融科技”浪潮席捲全國,不斷吸引市場的關注度,各路報導鋪天蓋地,其強調的互聯網思維和互聯網技術也為各家所津津樂道。拿券商為例,以往一提到券商,很多人馬上想到交易員、分析師等崗位,

能想到產品研發人員的少之又少。其實,在Fintech時代,產品研發不再只是簡單的後臺支援,而是券商能夠贏得用戶青睞的“成功之鑰”。

作為騰訊投資的港美股互聯網券商,富途證券從一開始就把產品研發放在第一位,其自主研發的交易軟體富途牛牛,更是強調“體驗、體驗、體驗”。要做一款真正讓投資者“用得爽”的交易軟體,需要產品研發人員包括運營、交互、測試等多方配合,

其中就離不開幕後一群拼搏的測試人員。

無論在瀑布模型還是敏捷模型的開發專案中,測試都是保證產品品質最終環節,較其他項目角色而言,對於品質的最終形成,測試負有極其重要的責任。從立項到結項,測試這個角色伴隨著整個產品的生命週期。

那麼,作為站在產品背後的人,在支撐項目快速反覆運算的前提下,測試工程師如何去保證一款股票軟體的穩定性、可靠性呢?

快速反覆運算與系統穩定

支援快速反覆運算的日常測試工作內容包括:需求評審→編寫測試用例→評審用例→開完成後執行測試→輸出結果報告→開發修改bug→回歸測試→測試通過後產品上線前測試→成功上線→上線後測試

互聯網項目,免不了快速反覆運算,例舉2016年統計資料,安卓牛牛用戶端全年共發佈17個版本,平均每月1.5版本的反覆運算速度在發佈。在用戶端軟體的開發週期上看,是屬於反覆運算極快的。

在人力有限又頻繁發佈的情況下,如何去保證軟體可靠,這個是測試工程師們不得不思考的大命題,從業界以及經驗來看,手動測試用例覆蓋+自動化測試無疑是必然的結果。

解決從0到1,

從1到∞

自動化是必做項,利用智慧將手工操作佔用的人力最大程度釋放出來是進行測試自動化的初衷。在富途牛牛初期介面提供困難的情況下,做UI(介面)自動化,在不需要開發參與的情況下,把操作去覆蓋,看起來是正確的選擇。

擠出的時間,測試工程師們寫出了1.0版本,低配版的UI自動化測試代碼。原理如下:

1.引入業界成功的UI自動化工具,工具支持OCR(Optical Character Recognition,光學字元辨識),支援對於介面的基礎操作:按一下,

按兩下,長按,移動等操作。

2.測試工程師將需要操作的區域截圖,識別成功後,對區域執行設定操作。

在時間緊、任務重的情況下,測試工程師們最終將核心功能的基礎操作用例完成,在開發週期中,可重複多次讓代碼執行例行基礎功能操作檢查。

一階段實現的測試代碼,均為代碼實現單條用例的模式,專案經過一段時間的反覆運算開發將出引發後續問題:快速反覆運算帶來的介面快速變更,寫入代碼裡的測試用例修改時需要先讀一遍邏輯才能下手改,擴展性差。

牛牛版本快速反覆運算的同時,調配人力互相備份後,終於開始優化代碼,想要更易於修改,代碼和資料解耦、高度抽象是最佳選擇。為此,測試同學們重新設計了框架並著手去實現。

1.測試用例管理通過可視的excel。

2.測試代碼將資料處理和邏輯分離。

3.打包安裝後統一Jenkins平臺觸發執行。

一系列變動下來,測試工程師終於可以用較少成本進行變更後的修改了,成功減輕反復操作的壓力。

同理,在BS端,套用較為成熟的selenium + Jenkins框架,UI自動化也搭建完成並進行了每日的構建。

做完了上面說的UI自動化,那麼對於牛牛產品的軟體品質保證,可以說加多10分,完備的自動化測試組織結構,一般如下圖:

介面測試與學習後臺

富途牛牛對外提供了交易API,API的提供,為自動化交易提供了可能性,交易是富途牛牛的核心能力之一,為保證交易正確性,測試工程師除了買買買之外,還用代碼對各個交易介面進行了測試。

測試代碼不僅對各介面進行了測試,還完成了封裝,對外形成可直接調用的sell,buy API,簡化自動化交易編碼難度。

此外,富途牛牛還特別提供了FTC(Futu Test Center),測試工程師坐在一起分享,分享過程中發現的有趣bug,分享某段代碼設計高明之處等,讓團隊更快速地成長。

做介面UI自動化也好,做介面測試和交易API測試也好,測試團隊樸素的願望,是為了讓團隊解放雙手,用更多的時間測用戶需求,做使用者可用性和軟體穩定性測試,以求做出更好的牛牛。簡言之,不論測試團隊有多拼,最終只為讓用戶“用得爽”。據瞭解,富途牛牛是一款傾心于超卓體驗的港股、美股、A股一站式社交投資軟體,集行情、交易、資訊、社交互動等功能于一體,歷時三年自主研發,覆蓋Mac、Windows、iPad&iPhone、Android等多個不同平臺,訂單成交時間僅需0.0037秒,實力領先市場。同時,得益于精心優化的千兆光纖網路以及與騰訊雲的深度合作,富途可以為身處世界各地的投資者提供最穩定快速的交易體驗。

一階段實現的測試代碼,均為代碼實現單條用例的模式,專案經過一段時間的反覆運算開發將出引發後續問題:快速反覆運算帶來的介面快速變更,寫入代碼裡的測試用例修改時需要先讀一遍邏輯才能下手改,擴展性差。

牛牛版本快速反覆運算的同時,調配人力互相備份後,終於開始優化代碼,想要更易於修改,代碼和資料解耦、高度抽象是最佳選擇。為此,測試同學們重新設計了框架並著手去實現。

1.測試用例管理通過可視的excel。

2.測試代碼將資料處理和邏輯分離。

3.打包安裝後統一Jenkins平臺觸發執行。

一系列變動下來,測試工程師終於可以用較少成本進行變更後的修改了,成功減輕反復操作的壓力。

同理,在BS端,套用較為成熟的selenium + Jenkins框架,UI自動化也搭建完成並進行了每日的構建。

做完了上面說的UI自動化,那麼對於牛牛產品的軟體品質保證,可以說加多10分,完備的自動化測試組織結構,一般如下圖:

介面測試與學習後臺

富途牛牛對外提供了交易API,API的提供,為自動化交易提供了可能性,交易是富途牛牛的核心能力之一,為保證交易正確性,測試工程師除了買買買之外,還用代碼對各個交易介面進行了測試。

測試代碼不僅對各介面進行了測試,還完成了封裝,對外形成可直接調用的sell,buy API,簡化自動化交易編碼難度。

此外,富途牛牛還特別提供了FTC(Futu Test Center),測試工程師坐在一起分享,分享過程中發現的有趣bug,分享某段代碼設計高明之處等,讓團隊更快速地成長。

做介面UI自動化也好,做介面測試和交易API測試也好,測試團隊樸素的願望,是為了讓團隊解放雙手,用更多的時間測用戶需求,做使用者可用性和軟體穩定性測試,以求做出更好的牛牛。簡言之,不論測試團隊有多拼,最終只為讓用戶“用得爽”。據瞭解,富途牛牛是一款傾心于超卓體驗的港股、美股、A股一站式社交投資軟體,集行情、交易、資訊、社交互動等功能于一體,歷時三年自主研發,覆蓋Mac、Windows、iPad&iPhone、Android等多個不同平臺,訂單成交時間僅需0.0037秒,實力領先市場。同時,得益于精心優化的千兆光纖網路以及與騰訊雲的深度合作,富途可以為身處世界各地的投資者提供最穩定快速的交易體驗。