朱哲良
摘要:伴隨著我國金融市場的不斷發展,金融軟件正逐漸被企業所接受,人們也習慣了使用軟件來進行金融方面的操作,于是相應的軟件測試技術也進入人們的視野。本文將從軟件測試技術的發展現況和重要性出發,探討軟件測試技術在金融軟件中的應用,并了解人工測試和自動化測試之間的區別。希望借此給應用金融軟件的企業一些參考,助力我國金融市場蓬勃發展。
關鍵詞:軟件測試技術;金融軟件;應用研究
中圖分類號:TP311 文獻標識碼:A
文章編號:1009-3044(2019)10-0211-02
開放科學(資源服務)標識碼(OSID):
實際上軟件測試技術在網絡軟件領域已經有了廣泛應用,只是近幾年金融業的蓬勃發展以及計算機技術的擴散,才使得軟件測試技術進入了金融業。無可置疑的是,計算技術和網絡給金融業帶去了蓬勃的生命力,各種金融軟件如雨后春筍般層出不窮。然而如何判斷這些金融軟件的優劣,如何知曉它們能否滿足客戶的要求,這就需要對其進行軟件測試,而軟件測試技術也是為此而生。本文將著重關注軟件測試技術在金融軟件中會應用在那些方面,各種測試手段又有何不同。
1 軟件測試技術的發展現況及重要性
1.1 軟件測試技術的發展現況
軟件測試技術的發展歷史并不長,但是它的發展速度非常驚人,同時也具有一定的地域性特點,在經濟發達的地區發展尤為迅速,而在經濟欠發達地區則較為萎靡。在發達國家,軟件測試技術已經正式成為一種行業,企業為了使研發出的軟件更貼合用戶需求,更快投入使用,減少軟件錯誤,通常都會對開發的軟件進行測試。這就促使了大量測試人員的誕生,現如今的發達國家,只要有軟件開發的部門,就一定會配置軟件測試隊伍,可見軟件測試的重要性。但是在我國,軟件測試可能還無法獨立作為一個行業存在,它通常是依附與軟件開發隊伍的。但是,隨著我國的軟件市場逐漸成熟,各企業團隊也認識到了軟件測試技術的重要性,正在積極組建屬于自己的軟件測試隊伍,在中國的軟件測試隊伍該如何發展現在仍未可知,但就目前的發展態勢來看,成熟的軟件測試隊伍誕生也只是時間問題。
1.2 軟件測試技術的重要性
軟件開發是由人來進行,無論如何專業的團隊,編寫出的軟件也不敢保證萬無一失,錯誤的存在是必然的,關鍵在于如何發現錯誤并改正過來,這就是軟件測試技術的任務,也充分展示了軟件測試技術的重要性,畢竟測試的結果將直接影響到該軟件公布后的反響。曾有人提出,優秀的開發者加上精密的開發軟件與高級的程序開發語言就可以提高軟件的開發效率,這種觀點是正確的,但這仍然對軟件的可靠性影響不大[1]。正如上文所說,軟件開發無論使用了多么優秀的設備和語言,其開發主體仍然是人,軟件錯誤無法被杜絕,只能被彌補。因此,要像重視開發團隊一樣重視測試團隊的組建,重視軟件測試技術的提升。
2 軟件測試技術在金融軟件中的應用
2.1 客戶端測試
金融軟件開發出來將直接面對廣大用戶,而客戶端就是用戶會直接接觸軟件的地方,因此對這一部分的測試將主要集中在客戶應用軟件的接受度,以及能否滿足客戶的需求,流暢地進行操作,基本屬于功能性方面的測試。
2.1.1 對客戶端文檔測試
軟件測試總是被認為是軟件開發出來以后進行的,然而實際上軟件測試伴隨著軟件開發的始終,對客戶端文檔檢測就屬于貫穿始終的測試。客戶端文檔測試分為三個,一是需求文檔測試,主要分析軟件開發初期開發團隊提出的對于整個軟件應該應用在什么方面、發揮什么效果的文檔的測試,檢測開發團隊的目標是否具有可行性,以及開發思路在邏輯上和技術性方面有沒有問題。二是設計文檔測試,測試開發團隊提出的設計方案與初始軟件需求是否存在沖突和錯位,以及設計是否具有可行性。三是幫助文檔測試,金融軟件基本屬于應用性軟件,用戶剛上手對于如何使用軟件滿足自己的需求并不了解,而同時他們又十分需要了解如何應用此軟件,所以他們會選擇去看幫助文檔。由此可見,幫助文檔是用戶學習如何使用該軟件的關鍵道具,所以幫助文檔必須是準確的、易懂的、完整的,才能讓用戶盡快熟悉軟件。
2.1.2 UI測試
金融軟件雖然更加注重實用性,但在今天這個競爭激烈的大環境下,一款軟件能不能被用戶所接受,它的UI,也就是用戶界面也是評判的一大要素。UI測試主要是測試用戶界面給人的感官如何,包括文字與圖片的位置和搭配是否合理、背景是否美觀、關鍵操作是否清晰明確等等。與其他測試有所不同的是,UI測試具有一定的主觀性,通常以滿足大眾需求為主,而且在金融軟件中,就更加注重簡潔、實用、能夠突出操作等方面。
2.1.3 安全性和訪問控制測試
金融軟件的實用會接觸到許多對用戶來說非常關鍵的信息,軟件內的數據也十分重要,這也就決定了金融軟件對于安全性和訪問控制方面的要求較高。所以測試會著重于兩個方面,應用程序級別的安全性,和系統級別的安全性。應用程序級別的安全性測試主要關注在金融軟件中,固定級別的用戶是否只能看到同等級別的信息,比如購買了相應服務的用戶才能享受服務,相關的服務和數據不會出現在沒有進行購買操作的用戶界面中。系統級別的安全性則更加重要,主要測試用戶是否只有具備了關鍵權限才能訪問固定程序,比如說兩臺電子設備同時登錄賬號的情況下,一方的賬號會被登出。
2.1.4 配置測試
配置測試又被叫作兼容性測試,主要測試軟件在不同的應用環境下是否能夠正常運行。計算機發展迅速,而構成計算機的設備各有不同的發展,導致不同的人在使用的計算機設備可能有不同的配置,時下接觸金融業的人群越來越廣泛,年齡跨度也逐漸增加,這些不同年齡的用戶會使用的瀏覽器、計算機使用的操作系統、計算機安裝的硬件設備在都會有不同的變化,配置測試就主要是測試軟件在什么等級的配置上能夠正常運行,按理來說軟件的應用范圍自然是越廣越好,但是也要考慮到有時候高級別的配置才能讓高級應用發揮應有的水平這一問題[2]。
2.1.5 安裝測試
軟件開發完成到被使用,需要通過安裝來提供給用戶,安裝測試就主要是檢測安裝過程中是否順利,以及安裝完成之后能否正常運行。為達到這個目的,安裝測試會測試兩個方面,一是安裝代碼,測試安裝代碼能否完整提供安裝程序運行的一些基礎數據。二是安裝手冊,安裝手冊將指導用戶如何正確安裝軟件,所以安裝手冊就如同上文中提到的幫助文檔一樣,一定要準確易懂,能夠指導用戶順利完成軟件的安裝。
2.1.6 分辨率測試
界面的分辨率往往會決定軟件的美觀程度,而分辨率在不同的設備上會發生變化,有時候是受限于設備的優劣,有時候是用戶根據需求自行進行了調整。無論如何,軟件要在不同的分辨率中都表現出實用性才可以,因此在測試時,會觀察軟件在不同的分辨率下的界面表現方式,力求無論在什么分辨率下,都保持軟件用戶界面的整潔實用,這一點在金融軟件中尤為重要。
2.1.7 功能測試
功能測試主要側重考場軟件內各種模塊是否能正常實用,比如數據的處理和檢索結果是否正確。金融軟件功能能測基本參考需求文檔來進行,但也不能完全依賴于需求文檔,這就需要測試的人員具備一定的專業素養,了解金融行業的專業術語含義以及業務流程,采用等價類劃分法、邊界值法、錯誤推測法等多種方式進行測試。
2.2 服務器端測試
現在進入金融業的人越來越多,人們對于金融軟件的需求也日益增加。因此對于金融軟件來說,服務器端測試非常重要,服務器能否承受起越來越大的使用壓力、能否完成大批量的業務操作,這都是檢測一個服務器端優劣的重點。
2.2.1 壓力測試
壓力測試旨在找到軟件可容納的負載底線,通常會采取不斷提高系統負載,觀察系統在多少負載下會無法發揮作用,找到軟件系統的底線。比方說,打開軟件內新的頁面的時間應該控制在一秒以內,而隨著用戶量的增加這個時間可能會變長,那么測試的時候就會以多少用戶量訪問之下新頁面的打開時間超過了一秒為標準,判斷系統的負載量。
2.2.2 負載測試
負載測試與壓力測試有異曲同工之處,都是測試軟件的負荷能力,以上文壓力測試里面的例子來看,在用戶量不斷提高促使新頁面打開超過一秒的臨界點上,系統能夠堅持多少時間就是負載測試,壓力測試注重的是測試系統的容量,而負載測試則是關注系統在飽和狀態下的耐受時間。
2.2.3 并發測試
并發測試主要是測試當有大量用戶同時使用同一個模塊的時候,軟件會不會發生意外情況,這是幾乎所有軟件都會進行的一個測試,對于金融軟件而言則更加重要。因為金融業中存在時間點,在固定時間范圍內用戶必然會進行某一種操作,比如說每天的開盤時間是九點,那么八點半到九點半這段時間就是用戶登錄軟件的高峰期,大量的用戶會在這一時間點打開軟件選擇登陸,登陸的過程中會進行驗證操作,所以金融軟件的登錄驗證操作就要著重進行并發測試,保障大量的用戶在固定時間內都能夠完成登陸操作。這個測試通常會使用LoadRunner工具來進行操作,設定固定數量(至少在2000以上)的用戶同時進行登陸操作,時間要控制在一定范圍內,超過這個范圍就應該判定軟件的這方面功能偏弱[3]。
3 手工測試與自動化測試
3.1 手工測試
測試技術可以大致分為兩種,手工測試與自動化測試,也可以看作是人工測試和自動測試兩種。手工測試的優勢在于測試人員的經驗和判斷能力,這是測試人員在經年累月對各種軟件測試后總結出的專業經驗,每個優秀的測試人員都有自己一套的測試方法,這是任何軟件或者工具都無法代替的。更為關鍵的一點在于用戶體驗測試,用戶界面是否有美感,操作是否便捷,功能模塊的分配是否合理,當用戶需要進行某項操作的時候是否能夠立刻找到需要的模塊,這都是只有人工測試才能得出結果的,工具難以對人類的思維和感受進行模仿。手工測試的缺陷在于它始終需要人力勞動的付出,所以在價格上較為高昂,而且長時間的重復操作方面,人工測試錯誤率比自動化測試要高,在面對大批量的檢查測試工作時,人工測試的工作效率和準確率也都明顯遜于自動化測試。
3.2 自動化測試
自動化測試的優勢在于,只要事先設定好了相關的程序,它就可以無休止地進行重復操作,每一次操作的準確性都維持在同一水平,在盡可能少的時間內完成更多的測試任務,節約了時間和成本。其劣勢在于對復雜的、設計審美感受和用戶體驗方面的測試效果較差,而且自動化測試屬于工具,沒有想象力,不能提高測試的有效性,有時候過于依賴工具測試甚至會制約軟件的開發。不過優秀的工具會給測試帶來許多便利,QTP就是較為常用的一款金融軟件測試工具。
QTP的全稱是Quick Test Professional,是MI公司的一款測試用應用,具有方便使用、功能強大等優勢,能夠與測試管理工具有效連接以實現自動化測試的效果,通常會應用在功能測試上,用于回歸測試或者是測試新的軟件版本。金融業的發展風云變幻,每一天都有新的變化,以股票交易為例,每天九點開盤前需要對多臺服務器進行檢測,盡可能快的檢測它們有沒有發生錯誤,這是手工檢測難以完成的任務,因此多數都會借助自動化測試工具來進行,QTP就是其中發揮不錯的一款應用[4]。
人工測試和自動化測試各有優劣,單一的使用某一種測試手段不僅不能完成測試任務,還會降低測試的準確率。所以在金融軟件的測試中應該采用人工測試+自動化測試的方式,根據情況使用不同的測試手段,正確發揮測試手段的優勢,更好地完成測試任務。
4 結語
軟件測試技術對于任何軟件來說都是十分重要的,在金融軟件的測試上較為重視客戶端測試和服務端測試兩個方面,客戶端測試需要測試客戶端文檔、UI、安全性和訪問控制、配置、安裝、分辨率、功能七個方面,而服務端測試則主要是壓力、負載、并發三個方面。在測試的過程中,人工測試和自動化測試各有優劣之處,應該結合具體情況選擇使用,這樣才能將軟件測試技術有效運用到金融軟件當中,促使金融軟件有效、準確滿足用戶的需求。
參考文獻:
[1] 童海峰.大數據時代下軟件測試技術的新進展[J].科學技術創新,2018(35):54-56.
[2] 苗長芬.大數據時代下的軟件測試技術研究[J].企業科技與發展, 2018(11):34-37.
[3] 但凝云.論自動化軟件測試技術的實際運用[J].信息記錄材料, 2018(4):89-92.
[4] 王琰.計算機軟件測試技術與開發應用研究[J].電腦知識與技術,2018(21):28.
【通聯編輯:唐一東】