CRM的自動化測試研究
【導讀:自動化測試是軟件回歸測試的一種重要的方法,但不能完全用于替代軟件測試工作。計算機軟件只能用于替代人的機械重復動作,而不具有對各種特殊情況的應變能力。因此,在日常測試中,采用手工測試與自動化測試相結合的方法,可以互相取長補短,基本實現全覆蓋的測試,以確保軟件上線的質量。】
業務支撐系統是一個非常龐大的計算機軟件系統,進行全系統地毯式全覆蓋測試需要引入自動化測試的方法,包括數據準備、測試執行、結果校驗等環節。
軟件測試是軟件開發生命周期中的一個重要環節,其目的在于發現軟件中的錯誤,確保軟件的質量。隨著近幾年移動通信新業務的不斷推出及3G的正式商用,移動通信的業務關聯度越來越高,業務支撐系統內部結構也變得越來越復雜。在業務支撐系統的每次新業務上線測試中,新業務對老業務的影晌程度越來越難以預估,這給側試工作帶夾了許多不確定的因素。
全覆蓋的回歸測試必不可少
在實際的軟件上線中,常常會出現新業務上線后功能正常、但一些老業務功能卻變得不正常的情況。究其原因,在于新業務在開發過程中,修改了一些與老業務共用的模塊或內部接口;由于對系統關聯度認知與把控不夠,造成了一些相關聯的老業務沒有測試或是測試不充分,最終導致了新業務上線后老業務功能異常的情況。我們通常將對老業務的測試稱為“回歸測試”,回歸測試的正確性對軟件質量有著舉足輕重的作用。
在可預見的未來幾年內,移動通信的業務種類將會越來越多,各業務問的關聯度會越來越高。為防止新老業務相互影響的情況發生,應加強業務支撐系統內部軟件結構的梳理與規劃,在編寫測試用例時充分考慮到業務的關聯性,但這主要還是依賴于人為的判斷。俗話說:“智者千慮,必有一失。”誰也不能保證在每次的新業務測試中,都能;隹確地判斷出與之相關聯的老業務做到回歸測試的百分之百覆蓋。在這種情況下,進行全系統的地毯式全覆蓋測試,就成為回歸測試的一個重要解決方案。
業務支撐系統是一個非常龐大的計算機軟件系統,功能繁多,迸行全系統的地毯式全覆蓋測試,將會出現成千上萬甚至是幾十萬個測試用例,這并非靠手工測試所能完成,于是我們需要引入自動化測試的方法。自動化測試是指通過計算機軟件編程,由計算機來自動完成測試工作的一種測試方法,與手工測試一樣,包括數據;隹備、測試執行、結果校驗等環節。自動化測試系統本身就是一個計算機軟件系統,在CRM(Client Relation Management,客戶關系管理)領域,目前較成熟的產品有QTP(Quick Test Professional)、WinRunner等等。
如何建設自動化測試系統
建設自動化測試系統,首先必須建立起完備的測試用例庫。在CRM測試中,需要記錄每個業務測試的預置條件、測試步驟、結果驗證標準等信息,但這些信息還僅僅只能應用于手工測試。在自動化測試中,測試用例庫中還必須詳細地記錄預置條件相關界面中各個界面元素的名稱、需要輸入的數值、測試執行的按鈕或鏈接、結果驗證相關界面中各個界面元素的名稱及其對應的數值。
完成測試用例庫的編寫后,就可以進行自動化腳本的編寫開發工作。以QTP為例,采用的是VB Script,開發者需具備一定的VB編程基礎。自動化測試與手工測試一樣,包括數據錄入、測試執行、結果驗證等部分,將原先通過手工逐步操作的內容以腳本的形式記錄下來,包括文本框的數據輸入、下拉框的數據選擇、執行按鈕的點擊等等。與軟件編程一樣,自動化腳本的編寫也是一項艱苦的軟件開發工作。自動化腳本編寫完成后,就可以由電腦來進行自動化測試了。
自動化測試的執行效率非常高,一個復雜的測試項目,從錄入數據、測試執行到結果驗證一般只需幾秒鐘就可以完成,遠遠高于手工測試的速度。全系統的自動化回歸測試一般只需要幾個小時到十幾個小時就能完成,這就使得在每次新版本上線前,都能進行一次全系統的回歸測試,有效地確保了軟件的質量。新上線業務對一些相關聯業務的影響有時難以;隹確判斷,通過全系統的自動化測試,能夠在測試階段及時發現,從而杜絕了在上線后出現故障。
自動化測試系統的建設是一個工作量巨大的工程,不僅在測試用例庫的編寫上比手工測試更為復雜、嚴格,而且自動化腳本的編寫也是一項相當耗時耗力的工作,絕不亞于被測試軟件的開發過程,因此自動化測試系統建設的成本是非常高的。
自動化測試比較適用于在系統中處于比較關鍵的位置但又不經常變化的部分,例如CRM中的用戶開銷戶、用戶套餐申請與取消、用戶停復機等模塊。對于會經常變化的部分,則不宜采用自動化測試的方法,剛剛花費大量時間精力編寫的自動化腳本,可能在下一個的軟件版本測試中又發生了變化,新編寫的自動化腳本可能一次都還沒有使用又要重新進行修改,那將是時間與人力成本的巨大浪費。
自動化測試是軟件回歸測試的一種重要的方法,但不能完全用于替代軟件測試工作。計算機軟件只能用于替代人的機械重復動作,而不具有對各種特殊情況的應變能力。因此,在日常測試中,采用手工測試與自動化測試相結合的方法,可以互相取長補短,基本實現全覆蓋的測試,以確保軟件上線的質量。
除了CRM領域外,計費賬務領域也是業務支撐系統的一個重要組成部分。兩者不同的是,CRM主要面向營業網點,采用界面操作的方式運作,而計費賬務領域以后臺程序運作為主。目前在計費賬務領域還沒有成熟的自動化測試工具,但只要我們遵循自動化測試的方法與思路,就可以自行開發這方面的軟件,為業務支撐系統量身定做一款合適的自動化測試系統,這將大大提高測試的效率與效果。
業務支撐系統是一個非常龐大的計算機軟件系統,進行全系統地毯式全覆蓋測試需要引入自動化測試的方法,包括數據準備、測試執行、結果校驗等環節。
軟件測試是軟件開發生命周期中的一個重要環節,其目的在于發現軟件中的錯誤,確保軟件的質量。隨著近幾年移動通信新業務的不斷推出及3G的正式商用,移動通信的業務關聯度越來越高,業務支撐系統內部結構也變得越來越復雜。在業務支撐系統的每次新業務上線測試中,新業務對老業務的影晌程度越來越難以預估,這給側試工作帶夾了許多不確定的因素。
全覆蓋的回歸測試必不可少
在實際的軟件上線中,常常會出現新業務上線后功能正常、但一些老業務功能卻變得不正常的情況。究其原因,在于新業務在開發過程中,修改了一些與老業務共用的模塊或內部接口;由于對系統關聯度認知與把控不夠,造成了一些相關聯的老業務沒有測試或是測試不充分,最終導致了新業務上線后老業務功能異常的情況。我們通常將對老業務的測試稱為“回歸測試”,回歸測試的正確性對軟件質量有著舉足輕重的作用。
在可預見的未來幾年內,移動通信的業務種類將會越來越多,各業務問的關聯度會越來越高。為防止新老業務相互影響的情況發生,應加強業務支撐系統內部軟件結構的梳理與規劃,在編寫測試用例時充分考慮到業務的關聯性,但這主要還是依賴于人為的判斷。俗話說:“智者千慮,必有一失。”誰也不能保證在每次的新業務測試中,都能;隹確地判斷出與之相關聯的老業務做到回歸測試的百分之百覆蓋。在這種情況下,進行全系統的地毯式全覆蓋測試,就成為回歸測試的一個重要解決方案。
業務支撐系統是一個非常龐大的計算機軟件系統,功能繁多,迸行全系統的地毯式全覆蓋測試,將會出現成千上萬甚至是幾十萬個測試用例,這并非靠手工測試所能完成,于是我們需要引入自動化測試的方法。自動化測試是指通過計算機軟件編程,由計算機來自動完成測試工作的一種測試方法,與手工測試一樣,包括數據;隹備、測試執行、結果校驗等環節。自動化測試系統本身就是一個計算機軟件系統,在CRM(Client Relation Management,客戶關系管理)領域,目前較成熟的產品有QTP(Quick Test Professional)、WinRunner等等。
如何建設自動化測試系統
建設自動化測試系統,首先必須建立起完備的測試用例庫。在CRM測試中,需要記錄每個業務測試的預置條件、測試步驟、結果驗證標準等信息,但這些信息還僅僅只能應用于手工測試。在自動化測試中,測試用例庫中還必須詳細地記錄預置條件相關界面中各個界面元素的名稱、需要輸入的數值、測試執行的按鈕或鏈接、結果驗證相關界面中各個界面元素的名稱及其對應的數值。
完成測試用例庫的編寫后,就可以進行自動化腳本的編寫開發工作。以QTP為例,采用的是VB Script,開發者需具備一定的VB編程基礎。自動化測試與手工測試一樣,包括數據錄入、測試執行、結果驗證等部分,將原先通過手工逐步操作的內容以腳本的形式記錄下來,包括文本框的數據輸入、下拉框的數據選擇、執行按鈕的點擊等等。與軟件編程一樣,自動化腳本的編寫也是一項艱苦的軟件開發工作。自動化腳本編寫完成后,就可以由電腦來進行自動化測試了。
自動化測試的執行效率非常高,一個復雜的測試項目,從錄入數據、測試執行到結果驗證一般只需幾秒鐘就可以完成,遠遠高于手工測試的速度。全系統的自動化回歸測試一般只需要幾個小時到十幾個小時就能完成,這就使得在每次新版本上線前,都能進行一次全系統的回歸測試,有效地確保了軟件的質量。新上線業務對一些相關聯業務的影響有時難以;隹確判斷,通過全系統的自動化測試,能夠在測試階段及時發現,從而杜絕了在上線后出現故障。
自動化測試系統的建設是一個工作量巨大的工程,不僅在測試用例庫的編寫上比手工測試更為復雜、嚴格,而且自動化腳本的編寫也是一項相當耗時耗力的工作,絕不亞于被測試軟件的開發過程,因此自動化測試系統建設的成本是非常高的。
自動化測試比較適用于在系統中處于比較關鍵的位置但又不經常變化的部分,例如CRM中的用戶開銷戶、用戶套餐申請與取消、用戶停復機等模塊。對于會經常變化的部分,則不宜采用自動化測試的方法,剛剛花費大量時間精力編寫的自動化腳本,可能在下一個的軟件版本測試中又發生了變化,新編寫的自動化腳本可能一次都還沒有使用又要重新進行修改,那將是時間與人力成本的巨大浪費。
自動化測試是軟件回歸測試的一種重要的方法,但不能完全用于替代軟件測試工作。計算機軟件只能用于替代人的機械重復動作,而不具有對各種特殊情況的應變能力。因此,在日常測試中,采用手工測試與自動化測試相結合的方法,可以互相取長補短,基本實現全覆蓋的測試,以確保軟件上線的質量。
除了CRM領域外,計費賬務領域也是業務支撐系統的一個重要組成部分。兩者不同的是,CRM主要面向營業網點,采用界面操作的方式運作,而計費賬務領域以后臺程序運作為主。目前在計費賬務領域還沒有成熟的自動化測試工具,但只要我們遵循自動化測試的方法與思路,就可以自行開發這方面的軟件,為業務支撐系統量身定做一款合適的自動化測試系統,這將大大提高測試的效率與效果。
文章版權歸西部工控xbgk所有,未經許可不得轉載。