我的團隊正在開發用於客戶端 - 服務器設置的桌面應用程序(混合C++/Tcl)。目前它只是Windows,但很快我們需要將它移植到Linux上。 CruiseControl.NET每晚都從SVN的源代碼構建它並將其打包到NSIS安裝程序中,但我們沒有自動化測試來運行。
幾乎不可能添加任何單元測試,但應用程序的集成測試很容易,因爲它已經基於腳本。
主要任務是將應用程序安裝到3臺PC中,對其進行配置(包括複製一些文件),運行它,監控可能的崩潰,等待集成測試完成,收集摘要,發送電子郵件。這可能跟一幫自定義PowerShell腳本來完成,但客戶端/服務器Windows桌面應用程序的自動集成測試
- 在將來,我們將要添加更多的功能和更多的測試,並 曾經被認爲是一個簡單的腳本很快炸燬(像往常一樣),所以我想 最小化自定義腳本,如果我需要腳本的東西,我 喜歡bash/cygwin(我不熟悉Python或Ruby)。
- 我希望有一個網絡信息中心將報告當前進展,如果 東西失敗 - 顯示日誌
- 我需要一些導師,如果它掛起或崩潰,將監測被測應用程序和 報告
- 我們需要在Linux上進行測試
- 理想情況下,我希望在PC之間協調一些測試步驟(例如,在PC1上運行測試X和在PC2上運行測試Y,等待它們的 都完成,然後在PC1上運行測試Z ,同時監測PC2上沒有任何 崩潰等)
所以,我正在尋找一個COTS工具/一套工具,它可以幫助我做到這一點,而且沒有陡峭的學習曲線。理想情況下,免費,但如果它真的很好,價格合理,我公司可能會購買許可證。
當NSIS安裝程序準備就緒時,應該從CruiseControl.NET觸發該過程,然後執行上述所有操作。基本上,它應該至少允許遠程安裝軟件,運行自定義腳本並擁有Web儀表板。
顯然,可以使用像Chef這樣的SCCM工具,但到目前爲止,它們都不支持Windows服務器,僅支持節點。我想避免爲此設置一個Linux VM,儘管我可以做到這一點,如果我沒有其他選擇。此外,廚師似乎有點矯枉過正 - 對於10k機器來說很好,但我未來只有3 ...也許5。我對編排分佈式測試的機會特別好奇。
StackOverflow和互聯網上的大多數類似問題都是關於Web應用程序,Java容器,Maven等,並且這些工具只有很多工具和插件才能評估。
在此先感謝。