本人主要是側重電信領(lǐng)域的軟交換及BOSS業(yè)務(wù)的測試,從本人多年所處理的現場(chǎng)問(wèn)題來(lái)看,在現場(chǎng)發(fā)生的約80%的問(wèn)題來(lái)源于軟件版本升級后引入的新功能帶來(lái)的對老功能的影響,有過(guò)不少沉痛的經(jīng)驗教訓。
我們公司曾經(jīng)設置過(guò)專(zhuān)門(mén)的自動(dòng)化測試部門(mén),轟轟烈烈的從事自動(dòng)化平臺的開(kāi)發(fā),基本上發(fā)動(dòng)了測試部門(mén)的所有同事從事測試 CASE的腳本開(kāi)發(fā),時(shí)間力行半年,結果由于眾所周知的原因,整個(gè)自動(dòng)化體系以失敗告終,最后,該自動(dòng)化測試部門(mén)也就無(wú)疾而終了。我總結了一下,主要是下面的原因造成,這基本上也是行業(yè)內不同公司實(shí)施自動(dòng)化失敗的主要原因:
1.自動(dòng)化平臺的思路缺乏創(chuàng )造性,基本上都是以腳本編寫(xiě)CASE,錄制回放為主。
2.傳統的自動(dòng)化體系存在以下成本因素,導致自動(dòng)化的投入產(chǎn)出比較高,從而制約了自動(dòng)化的有效實(shí)施
2.1 開(kāi)發(fā)成本
2.2 調試成本
2.3 維護成本
2.4 培訓成本
2.5 規范化成本
眾所周知,BOSS系統以業(yè)務(wù)眾多為主,以業(yè)務(wù)受理單一個(gè)接口為例,我們的測試案例庫就存在不下3000個(gè)CASE,如果通過(guò)傳統的編寫(xiě)自動(dòng)化腳本來(lái)進(jìn)行CASE轉化的話(huà),從我們以前實(shí)施的代價(jià)是:由于每個(gè)CASE都要涉及到腳本編寫(xiě),環(huán)境清理,環(huán)境設置,結果檢查,調試等幾個(gè)步驟,一個(gè)人一個(gè)月能完成的CASE不過(guò)50個(gè),一旦應用的業(yè)務(wù)發(fā)生變化,相關(guān)的CASE也就作廢了,在這種情況下,大家也就清楚了自動(dòng)化為何操作不下去的原因了.
通過(guò)分析傳統自動(dòng)化所固有的缺陷,我重新定義了自動(dòng)化架構的核心新思路:自動(dòng)化架構必須實(shí)現CASE的產(chǎn)生,執行,結果檢查三大要素的分離。我把新自動(dòng)化的架構命名為ROBOT,無(wú)巧不成書(shū),IBM也存在名字為RATIONAL ROBOT的一個(gè)架構產(chǎn)品,文章后面,我把我們的UT ROBOT和IBM的RATIONAL ROBOT的特性進(jìn)行了比較。
通過(guò)將近六個(gè)月左右時(shí)間的開(kāi)發(fā),這個(gè)架構基本開(kāi)發(fā)成功,并應用到了10多個(gè)應用的接口測試中,發(fā)現了超過(guò)200個(gè)問(wèn)題,實(shí)現了以下功能:
1.對新應用的接口支持只需要不到2周的時(shí)間
2.以通用模板為基礎,所有CASE自動(dòng)產(chǎn)生
3.結果檢查點(diǎn)自動(dòng)產(chǎn)生,可以快速產(chǎn)生包括100萬(wàn)的結果檢查點(diǎn)
4.可支持多協(xié)議
通過(guò)ROBOT框架測試過(guò)的產(chǎn)品在多個(gè)現場(chǎng)實(shí)施之后,竟然在半年的時(shí)間內沒(méi)有報過(guò)任何一個(gè)問(wèn)題,以前1個(gè)月都跑不了100 個(gè)CASE通過(guò)ROBOT框架可以在2天的時(shí)間內完成3000個(gè)CASE,50萬(wàn)結果檢查點(diǎn)的檢查,這點(diǎn)也印證了這篇文章的標題:開(kāi)放性敏捷自動(dòng)化測試架構
下面是傳統自動(dòng)化體系與ROBOT架構的特性比較:
傳統自動(dòng)化體系
|
ROBOT通用架構
|
|
CASE生成
|
全部CASE需要腳本支持
|
無(wú)需腳本支持
|
數據驅動(dòng)
|
比較困難,不同的應用需要寫(xiě)大量的代碼
|
采用強大的模板解析引擎,數據驅動(dòng)輕而易舉
|
繼承性
|
自動(dòng)化腳本容易被測應用的變化而失效
|
應用邏輯變化只需要調整數據
|
可讀性
|
不同的腳本編寫(xiě)人員有不同的編碼風(fēng)格
|
全部基于數據表達,清晰易懂
|
自然語(yǔ)言
|
不支持
|
支持,設計CASE的自然語(yǔ)言可以通過(guò)解析器識別,所見(jiàn)即所得
|
歷史CASE轉化
|
比較死板,需要逐一CASE編寫(xiě)腳本
|
采取全新的自動(dòng)化思路,CASE轉化交給機器
|
擴展性
|
增加新的應用需要寫(xiě)大量的腳本
|
只需對應用進(jìn)行模板定義
|
CASE維護
|
難以維護,需要大量的管理成本
|
基于數據,維護成本很低
|
CASE執行
|
需要很多時(shí)間提前準備環(huán)境,CASE執行方式單一
|
可以快速執行
|
檢查點(diǎn)設置
|
比較單一,通常與CASE寫(xiě)在一起,維護成本非常高
|
CASE產(chǎn)生與檢查點(diǎn)相分離,極低的耦合度,檢查點(diǎn)強大無(wú)比,維護成本極低
|
可靠性
|
不可靠,因為檢查點(diǎn)比較單一
|
可靠,通過(guò)數據庫跟蹤技術(shù),可以確保檢查精確到字段級別
|
原文轉自:http://www.uml.org.cn/Test/2008090410.asp