![]() |
Jeremy Ristau目前是VISTAPRINT的高級質量工程師,掌管網站可交付產品的質量并推銷公司網頁屬性的性能。 他在確保重新架構項目及新功能的質量結果方面有超過5年的專業經驗。 他對需求采集,測試文檔和管理,及試驗周期的優先回歸測試有著濃厚的興趣。 |
![]() |
Harish Narayan目前是VISTAPRINT的技術董事,專注于將組織轉換成一個靈活的技術功能。 他的工作職能是開發專業的、的技術,以及保證全企業流程和性能的改進。 他熱衷于在組織里灌輸一種質量文化,他已是包括電子商務,電信,金融服務在內的各種不同行業的可靠的貿易伙伴。 他也有戰略規劃,全球運營,項目管理,績效管理,團隊建設方面的經驗,他已經成功地在各種合約中利用了這些經驗。 他經常演講和寫文章,之前還曾為Testing Experience撰寫過文章。 |
測試用例和測試資產通常隨著時間而增長,在許多情況下,它們的增長沒有得到很好的管理。我們認為,需要對測試用例的效率和效益進行管理,其方法與管理代碼資產十分相似。
所以,你問過自己以下幾個問題了嗎?
●你希望盡量減少測試維護時間嗎?
●你的測試集里的測試中有重復的設置步驟嗎?
●全面徹底的改變對你的測試有不利影響嗎?
●你的測試集過于零散/增長過快嗎?
●你的測試集和測試下的系統之間不對齊嗎?
如果其中的一個或多個問題你回答“是”,這篇文章會使你更加了解如何才能夠更好地回答這些問題并管理測試用例資產。我們將在某些章節加上一些用例(斜體)作為例子來說明我們的測試用例架構設計方法如成功地在VISTAPRINT中被利用的。
背景及需要
VISTAPRINT一直通過以合理的價格提供專業的營銷產品和服務給世界各地超過50萬的微型企業,使它們讓人印象深刻并擁有脫穎而出的機會。
我們是一個電子商務營銷公司,擁有超過25個本地化的國際網站,每3周發布整個代碼庫將其投入生產。每個發布周期包括1周的需求審核,3周的開發,及 1周的全系統測試。這個5周的周期被2周覆蓋,使我們能夠每3周發布一個新產品。
我們當前的代碼庫中缺乏某些架構原則,比如關注點和服務導向的分離,所以大多數測試是通過一個完整環境的UI界面完成的。豐富的UI級自動化的存在會自動抄錄手動操作。
自動化由測試編寫質量工程師外的開發團隊創建和管理。采用測試用例設計架構的想法來源于提高我們的測試管理流程的需求。
以前在組織中,內聯步驟文檔足夠了,但是一旦開始運行大規模的測試腳本,我們會遇到問題。雖然許多測試想要執行完全一樣的步驟,但是每個測試都有其獨特的文檔。
記錄步驟的變化難以保持是一致且新的。這個過程是無效的且維護它的成本會不斷增加。此外,起草新測試時,設置步驟的知識需要傳播給每個人,以便更正記錄。即使測試的創建者只是想達到讓特性“通過”測試的目的,這也是必要的。這引起測試創建者和特性所有者之間很多不必要的來回交流。
我們提出三點以增加質量組織的測試資產集的質量和可擴展性。這三點如下,本文的重點是第三點:
1.優質的平臺和工具——一個全面的平臺,它擁有一個完整的與我們的自動化平臺無縫協作測試管理系統。
2.優質的工程培訓和技能提升——一個擴展組織的技能使之更擅長利用測試設計和相關的做法的程序。
3.可擴展性的測試設計增強——我們推廣我們測試資產的重用和可擴展性的方法,本文的重點是不斷向前推進。以這種方法,我們的測試案例設計現在專注于把某種軟件架構和設計原則用到測試用例的創建和維護過程中。
這些原則包括:
●定義測試對象模型
●孤立的,可重用的構建模塊和模板
●測試參數
●一個“從測試到軟件”的映射
定義測試對象模型
傳統上,一個測試,被認為是包括某種驗證形式的一組執行步驟。但是,比起你看到的,測試對象還有更多。測試對象模型需要測試并剖析其組成部分:描述符,步驟和可連接的業務對象。
●描述符表示存在于所有測試中的數據集。包括標題,測試所有者,創建日期等。
●步驟表示如用戶描述與系統的行為交互,功能驗證也包含于此。
●可連接的業務對象是任何有用的外部對象。這包括自動化腳本,其中包含了執行正在測試中的底層系統的代碼。