熟悉一個應用系統的業務流程是非常關鍵的,因為這不僅在方法上給我們帶來很大的便利,我們做自動化(回歸)測試,多數都是為了某些個系統核心業務的完整性和正確性作保證,這當然要求我們精通“業務”。明確一個較為龐大的業務系統的業務流程不是件容易的事情,在多數情況下需要將精通的業務的同事拉進來參與我們的流程制定、選取和覆蓋設計。對業務模塊的精確劃分是我們完成一份高效的自動化測試的良好基礎,否則,我們的自動化可能雜亂無章,甚至徒勞無功。
那么業務模塊劃分的準則和依據到底是什么呢?不同的系統有著不同的標準,下面引用一個案例對金融系統做個粗略的介紹。
對金融系統來說,我們進行業務分解和設計業務流程的時候需要做如下要求:
1.較為模塊化的設計,避免重復的腳本,減少建立或維護腳本的成本。
2.在應用軟件開發的同時,就可以同步進行腳本建立的動作,而且當應用軟件功能變動時,只需要修改業務功能腳本。
3.由于應用軟件的功能已經被分解成獨立的業務功能腳本,測試人員可以隨意組合業務功能腳本成為更復雜多樣的測試個案。
4.測試輸入數據與驗證數據與腳本分開,儲存在另外的檔案,如純文字文件或 Excel 文件,測試人員可以更容易修改與維護。
5.加強錯誤處理合結果分析判斷,讓腳本更有彈性。
當然這樣做也會帶來一定的額外開銷,但是這些都是必須的,自動化本身就是需要結合良好的管理以犧牲人力成本來贏得時間的,針對一些缺點我做一下簡單的注釋:
1.在編寫業務功能腳本時,需要「精通」測試工具腳本語言的工程師:其實很多公司都有實力尋找這樣的人,因為VBS本身相對比較簡單,雖然自動化測試還沒有在整個中國全面興起,但是有著豐富自動化測試經驗的測試人員已經非常多了。
2.每個Action都會有自己的輸入輸出參數,需要用文檔統一維護,控制變更:這的確增加了一些工作量,但是對測試本身的規范來說,是一大進步。
3.測試人員除了要維護測試計劃之外,還要另外維護數據文件:同上。
4.對測試工具以及腳本語言來說,使用數據文件可能也要注意數據文件的格式。
這個分解結果來自51Testing上的一位同仁,我在做完興業銀行自動化之后做總結的時候無意發現了這段話,緣分哪!與我的想法不謀而和,呵呵,所以當時就Copy下來了,并非有意剽竊,如果侵犯了這位仁兄,敬請原諒!這里修改了一些地方,我覺得這是金融尤其是銀行業務分解的一個經典,也算是一個不大不小的標準吧,可能并不能適用于所有系統,但是對銀行來說,還是很實用的。
下面以興業銀行交易處理中心項目自動化測試為例,看看這份業務分解和腳本規范會帶來什么樣的效果。(注:附件文檔乃非正式發布文檔,系個人私有,不牽涉興業銀行商業秘密,諸位放心!)
系統說明:
前臺Teller(銀行柜員操作界面)、電子驗印系統(印章校驗)、Integrator(信息管道)、工作流系統(IBM的FileNet)、后臺交易集中處理系統(中間業務平臺)、核心(聯想亞信的FTS)等?紤]金融系統的安全性,所有交易流程的處理采用獨占的方式,后臺界面交易處理按交易優先級次、時間先后進行,同等條件下FileNet隨機分配,所以自動化的難度相當的大。交易功能分解按照操作員崗位職責劃分為前臺柜員,CPC(中間業務平臺)的錄入崗、審核崗、報文審核崗、異常處理崗、監控崗等部分。
文章來源于領測軟件測試網 http://www.kjueaiud.com/