17792550360
掃描二維碼
關(guān)注卓目鳥學(xué)苑公眾號
掃描二維碼
關(guān)注卓目鳥學(xué)苑公眾號
數(shù)字技術(shù)正在改變?nèi)藗兊慕鹑谙M習(xí)慣。隨著數(shù)據(jù)化進(jìn)程的深入,互聯(lián)網(wǎng)金融產(chǎn)品如雨后春筍般涌現(xiàn),對傳統(tǒng)銀行的支付結(jié)算和中間業(yè)務(wù)造成了不小的沖擊,傳統(tǒng)銀行為了快速滿足客戶不斷變化的多元化需求,如何進(jìn)行敏捷可靠 ...
數(shù)字技術(shù)正在改變?nèi)藗兊慕鹑谙M習(xí)慣。隨著數(shù)據(jù)化進(jìn)程的深入,互聯(lián)網(wǎng)金融產(chǎn)品如雨后春筍般涌現(xiàn),對傳統(tǒng)銀行的支付結(jié)算和中間業(yè)務(wù)造成了不小的沖擊,傳統(tǒng)銀行為了快速滿足客戶不斷變化的多元化需求,如何進(jìn)行敏捷可靠的架構(gòu)之變?其中所用到的一些自動化測試框架工具,作者深入敏捷轉(zhuǎn)型項目開發(fā)過程中自動化軟件測試,希望通過本文拋磚引玉,拓展自動化測試思路,找到適合自身特點,安全可靠的自動化測試方法。 現(xiàn)狀分析 俗話說:“工欲善其事、必先利其器。”,工具對于開展自動化測試的重要性自不待言,對自動化測試人員有三方面的要求: 一是提升編程技巧。做為測試工程師要掌握一些高級語言,腳本語言,類似以java為重點phython等,如果常用web自動化測試,則考慮jsp、php等是必須掌握的。 二是具備系統(tǒng)與數(shù)據(jù)庫經(jīng)驗。因為軟件自動化測試是構(gòu)建在操作系統(tǒng)上的,需要用到操作系統(tǒng)技巧,例如:注冊表、環(huán)境變量、句柄等,同時也要善于利用數(shù)據(jù)庫知識去實現(xiàn)存儲及數(shù)據(jù)管理。 三是熟悉業(yè)務(wù)流程。掌握所從事的金融業(yè)軟件行業(yè)知識,需要加深了解銀行會計及國際結(jié)算等業(yè)務(wù)知識,在ISO及CMMI質(zhì)量體系中,做到有章可循。 方法設(shè)計 自動化測試?yán)砟钆c軟件設(shè)計模式類似,作者深入到具體項目去學(xué)習(xí)。例如:java軟件界面測試(RFT、QTP的java插件等)、web界面測試(QTP、selenium等)、性能測試(loadrunner等)。入門先學(xué)工具,編程也是一項重點學(xué)習(xí)內(nèi)容。建議從已經(jīng)開展自動化測試的項目入手,則自動化測試入門會很快的。深入理解并掌握拓建自動化測試框架,性能測試關(guān)注環(huán)境構(gòu)建方法,以及對測試結(jié)果的分析方法,性能測試關(guān)注分析和實現(xiàn)過程。 1.確定測試類型。首先我們要明確了自動化測試類型,定位好類型才去選擇用哪個自動化測試工具?測試類型包括:白盒測試、黑盒測試以及壓力測試、性能測試等。 2.選擇測試方法。不同的測試類型所選擇使用的自動化測試方法不同,例如,白盒測試主要針對代碼級的單元測試,黑盒測試主要面對用戶功能級和系統(tǒng)級的驗證測試。 3.人員技能要求。自動化測試要有一定編程基礎(chǔ),能編寫測試代碼。功能測試分基于API和GUI的測試;基于API的測試,即應(yīng)用腳本技術(shù)向設(shè)備模擬發(fā)送API請求,以達(dá)到控制設(shè)備的效果?;贕UI功能測試,即應(yīng)用傳統(tǒng)的界面自動化測試工具如:RFT、QTP等控制界面控件操作的方法,以達(dá)到模擬用戶操作,這都需要有一定編碼基礎(chǔ);基于API需要懂腳本技術(shù)例如:python等,RFT需要懂java或者.net等。像常用的loadrunner性能測試工具,測試軟件性能,例如多用戶操作等性能,也需要寫代碼,LR腳本支持的語言有:java、c、VB。默認(rèn)的腳本生成語言為C;需要掌握其性能測試的方法很重要的。 應(yīng)用架構(gòu) 敏捷自動化測試特點是:高效+深入+協(xié)作,敏捷自動化測試所需條件比常規(guī)瀑布式開發(fā)項目標(biāo)準(zhǔn)更嚴(yán)格。作者參加了消費金融項目一個多月的封閉開發(fā),這是涵蓋某銀行個人貸款審批、貸后管理、授后變更等業(yè)務(wù),在敏捷項目試點過程中,使用到的自動化測試工具如下所示: 1. 代碼復(fù)查及監(jiān)控。Jenkins任務(wù)調(diào)度+Sonar代碼質(zhì)量平臺+PMD、Findbugs、CheckStyle、Jacoco靜態(tài)代碼復(fù)查工具。sonar是代碼質(zhì)量平臺,不做代碼分析,可集成加載插件,從JENKINS調(diào)起MAVEN構(gòu)建,成功后則用MAVEN構(gòu)建完的執(zhí)行碼用來跑JUNIT,接著調(diào)用soanr,使用插件如,checkstyle,pmd,jacoco(javacodecoverageLibrary覆蓋率工具可以嵌入到ant、maven中),findbugs代碼靜態(tài)分析工具,Sonar、Jenkins這些第三方的工具提供了對代碼靜態(tài)分析工具的集成。 我們通過命令調(diào)用sonar,在jenkins控制臺看到插件使用情況,多個批次并行開發(fā),指定代碼存放的版本管理庫地址,開展源碼管理。配置好構(gòu)建觸發(fā)器,以便于下班后的自動構(gòu)建。 2.Junit單元測試。Jenkins任務(wù)調(diào)度+Maven構(gòu)建+Junit單元測試框架。 3.接口功能測試。Admitester接口自動化測試工具,簡稱AD。 4.RFW界面WEB測試。UI是用戶界面的簡稱,RideRIDE是圖形界面運行測試的軟件。RobotFrameworkRF(簡稱RFW)框架,基于UI的自動化,RFW框架編寫基于web用戶界面的測試用例。RFW在用戶需求有變化時,已創(chuàng)建界面用戶功能測試案例需頻繁修改,為了規(guī)避此風(fēng)險,項目組做法是:等到下一個迭代再完成編寫上一個迭代的測試案例,只測已穩(wěn)定功能,即回歸測試。若跟著迭代并行開展自動化測試,則會耗費大量人力。 實踐改進(jìn) 在封閉期間,組織逾百人并行開發(fā),利用持續(xù)集成方法和自動化測試平臺,有效隔離了并行開發(fā)的相互影響,積累了豐富的敏捷實踐經(jīng)驗。深入開展了新工藝方法及敏捷開發(fā)中的持續(xù)集成實踐,取得了顯著成果,且在短短一個半月內(nèi)多批次測試案例的并行,圓滿完成任務(wù)。作者根據(jù)實施敏捷開發(fā)項目的現(xiàn)狀,提出三處可改進(jìn)點。 一是維護(hù)成本大。項目成員剛接觸自動化測試工具,邊實踐邊學(xué)習(xí),難度高、進(jìn)度緩。加上系統(tǒng)功能點邏輯復(fù)雜,功能點案例編寫難度大,界面測試案例維護(hù)成本大,隨著業(yè)務(wù)需求不斷變化,版本快速迭代,維護(hù)案例越來越困難。 二是體系待完善。由于未搭建單元及組裝測試的敏捷內(nèi)部自動化測試體系,加之自動化測試工具尚在完善,測試人員對于相關(guān)功能掌握不夠透徹。 三是缺陷時效性差。實現(xiàn)的自動化測試不是測試驅(qū)動,只是對穩(wěn)定版本回歸測試。自動化測試進(jìn)度滯后,加上批量等重要的模塊未開展自動化測試,無法快速響應(yīng)迭代版本帶來的影響,不能及時發(fā)現(xiàn)系統(tǒng)缺陷。 消費金融項目伴隨著敏捷轉(zhuǎn)型,資源實驗快速分享,通過掌握自動化測試的方法,編寫了培訓(xùn)手冊例如《AD自動化測試工具擋板使用》《AD案例開發(fā)說明手冊》《JUnit單元測試自動化案例的編寫規(guī)范手冊》,完善工具指引并組織內(nèi)訓(xùn)。 根據(jù)項目中期數(shù)據(jù)顯示,在批次內(nèi)部測試工作中,該產(chǎn)品積累案例數(shù)自動化測試案例數(shù)位列第一,不僅將開發(fā)測試人員從日常繁雜重復(fù)的手工勞動中解放出來,從事更富創(chuàng)新與挑戰(zhàn)性的工作;而且能夠不斷增強(qiáng)技術(shù)底蘊(yùn),加大自動化測試工具的應(yīng)用深度,培養(yǎng)自動化測試人員技能,提高開發(fā)測試效率。 自動化測試是提升產(chǎn)品軟件質(zhì)量的一項重要舉措,推動傳統(tǒng)銀行科技事業(yè)的長足進(jìn)步,只有厚積薄發(fā)的測試工藝改進(jìn)與提升,最終實現(xiàn)技術(shù)飛躍。展望未來敏捷自動化測試之路,任重而道遠(yuǎn)。 |
分享本篇文章給更多人:
2020-05-27
2020-02-24
2020-05-27
2022-12-05
2020-05-27
請發(fā)表評論