目標確定后,我第一步要做的就是找資料,找資料的工作都是春節在家里完成的(其間還帶爸媽瀏覽了一下公司的網站),找開源的工具,主要是看大眾的評價和普及度。
軟件的易用度很重要,否則無法達到優化測試管理的目的。……(此處省略n字baidu和google),主流的開源測試管理工具如下:
缺陷管理工具
1. Mantis(http://mantisbt.sourceforge.net/)
2. Bugzilla(http://www.mozilla.org/projects/bugzilla/
3. Bugfree (http://www.bugfree.cn/)
測試管理工具
1. TestLink(http://testlink.sourceforge.net/docs/testLink.php)
2. Bugzilla Test Runner (http://sourceforge.net/projects/testrunner/)
最開始的時候特別侵向于2&2,因為Bugzilla Test Runner 就是基于Bugzilla的測試用例管理系統。本打算把前者改造一下讓它支持更多測試計劃(上篇提到的需求1),可惜工作量有點大,另外它的網絡支持也較少,決定Pass。
到這時,測試管理工具就剩下Testlink了,缺陷管理工具開始也是想用2,比較熟悉,這個沒有兌現則純粹是緣分問題,現在懷疑是當時下載的Bugzilla的包是個壞的,感興趣的同學可以再試試。
最終Testlink和Bugfree的結合就是順理成章了。這樣確定的時候,有點無奈,因為二者是PHP+mysql+Apache的,我對PHP了解太少,沒有寫過程序,不知道遇到問題能不能改。新發布的Bugfree2.0增加了測試用例和測試結果的管理,“冗余”了,還是用1.1.
服務器啟來,Testlink和Bugfree分別執行了一下,總的來說挺幸運,除了Testlink的亂碼比較多,兩個都能獨立順利跑起來。亂碼的問題最后改,根據經驗,這一定是個minor的bug,應該就是配置的問題。先嘗試能把兩個連接起來重要些。
找到配置文件,鏈接按鈕也照著葫蘆畫瓢編碼進去并且正確顯示了,只是點擊按鈕后就會異常退出。找Bug是咱測試人員的強項,分析跟這個bug相關的第一嫌疑是testlink和bugfree的主程序,次嫌疑是相關的兩個配置文件,主程序很短,兩個index.php 從頭至尾看過一遍,最可能出bug的就是幾個if語句了,分支走錯了退出,太常見了。果然就是少了一個!的問題。亂碼是鍵值沒有內容,逐個配置上就解決了。
試著模擬了一次CCI回歸測試,從建計劃到執行到指派相關人員處理臨時問題,可以滿足上篇的需求,也可以勝任小型項目的測試管理工作。CCI的同學可以連到我的機器玩玩http://10.1.1.187/testlink/index.php test/123456(senior tester). 目前自動化測試管理剩下一些修補的工作,像是郵件配置,明確權限管理、測試流程等,需要在業余時間慢慢做完,只是繁瑣,應該不難。另外計劃在4月份可以準備一次《基于Testlink&Bugfree的測試管理工具UserGuide》的內部交流。
最后總結一下整個自動化測試管理的過程,最大的感觸就是“選擇比努力更重要”,和人生一樣,永遠不只是A和B的選擇,應該還有C。另外一個感觸是,很多實驗沒有做徹底有些遺憾(主要是時間成本),無法確切定位問題,疏漏難免,因此非常歡迎大家的建議和指導!來電來函均有來必復~