有限的功能測試。
它有很多好的特性,比如動態報告、可移植性、強大的測試IDE等,并且支持不同類型的應用程序、協議、shell腳本、Java對象和數據庫。
Postman:接口測試
Postman 提供功能強大的Web API和HTTP請求的調試,它能夠發送任何類型的HTTP請求 (GET, POST, PUT, DELETE…),并且能附帶任何數量的參數和Headers。不僅如此,它還提供測試數據和環境配置數據的導入導出,付費的Post Cloud用戶還能夠創建自己的 Team Library用來團隊協作式的測試,并能夠將自己的測試收藏夾和用例數據分享給團隊。
SoapUI:接口測試
SoapUI是一個非常流行的用于SOAP和REST的開源API測試自動化框架。它還支持功能測試、性能測試、數據驅動測試和測試報告。
Monkey:穩定性測試
軟件附帶在sdk中,適用于android和ios,通過adb shell,生成用戶或系統的偽隨機事件。壓力測試結果:崩潰crash,無響應anr,基本命令:adb shell monkey 1000。
Robot Framework:Web UI自動化測試,接口測試
Robot Framework是一個開源自動化框架,它實現了用于驗收測試和驗收測試驅動開發(ATDD)的關鍵字驅動方法。Robot Framework為不同的測試自動化需求提供框架。但是,通過使用Python和Java實現其他測試庫,可以進一步擴展其測試功能。Selenium WebDriver是Robot Framework中常用的外部庫。
測試工程師可以利用Robot Framework作為自動化框架,不僅可以進行Web測試,還可以用于Android和iOS測試自動化。對于熟悉關鍵字驅動測試的測試人員,可以輕松學習Robot Framework。
QTP:Web UI自動化測試
QTP是一種自動測試工具。使用 QTP 的目的是想用它來執行重復的手動測試,主要是用于回歸測試和測試同一軟件的新版本。因此你在測試前要考慮好如何對應用程序進行測試,例如要測試那些功能、操作步驟、輸入數據和期望的輸出數據等。
QTP針對的是GUI應用程序,包括傳統的Windows應用程序,以及現在越來越流行的Web應用。它可以覆蓋絕大多數的軟件開發技術,簡單高效,并具備測試用例可重用的特點。其中包括:創建測試、插入檢查點、檢驗數據、增強測試、運行測試、分析結果和維護測試等方面。
LoadRunner:性能測試
LoadRunner,是一種預測系統行為和性能的負載測試工具。通過以模擬上千萬用戶實施并發負載及實時性能監測的方式來確認和查找問題,LoadRunner能夠對整個企業架構進行測試。
企業使用LoadRunner能最大限度地縮短測試時間,優化性能和加速應用系統的發布周期。LoadRunner可適用于各種體系架構的自動負載測試,能預測系統行為并評估系統性能。
Jenkins:持續集成
自動化構建編譯,部署,任務執行,測試報告,郵件通知等。
使用開源測試工具有很多好處,尤其是無直接的購買成本,而且可定制,但也有一定的局限性。尤其是缺乏專業的技術支持,有限的許可支持以及腳本維護有時會成為一個挑戰性的工作。
為了選擇正確的自動化測試工具,你應該確保該工具是處于活躍維護狀態的,并且與你所在企業業務、團隊、技能匹配,并且是團隊里有相應的專家。
因此在選擇工具之前,你必須仔細研究,以便該工具能夠滿足你的測需求,并且能幫助你更好的執行測試。
目錄
一、CICD簡介
二、CICD實踐過程
三、含淚踩坑
四、 歷史 文章指路
一、CICD簡介
1、CICD定義
2、DevOps定義
DevOps(Development和Operations的組合詞)是一組過程、方法與系統的統稱,用于促進開發(應用程序/軟件工程)、技術運營和質量保障(QA)部門之間的溝通、協作與整合。
DevOps的基礎核心是CICD。
CICD的基礎核心是自動化。
二、CICD實踐過程
1、起因
在我之前的團隊,因為要切換全新業務線,需要為新業務搭建一套全新的環境,所有東西從0開始。
原先只是用于部署測試環境,后面決定一起部署生產環境,這個過程中我還造成了一個嚴重生產環境問題,好在當時的生產環境還未正式使用,未造成嚴重影響。
在當時挺害怕也挺有壓力的,但是后面項目完整落地,平穩運行,我還是挺有成就感的,接下來我將整個項目過程完整的分享出來。
2、技術棧選型
首先進行技術棧選型,我們選擇的是Jenkins,Jenkins當屬業內持續集成老大哥,有著非常豐富的插件,也可以選擇gitlab集成的CICD,因為我們還有其它的測試腳本需要集成,所以Jenkins對于我們來說是最優的選擇;
Ansible是批量運維工具,通過編寫yaml腳本,可以方便實現批量管理多臺機器,并且Ansible是比較輕量級應用,很容易上手;
shell腳本可以用于執行一系列命令。
其它的就結合團隊項目情況進行搭建。
3、Jenkins應用部署實現流程
首先來梳理下整個項目的實現流程,主要分為Jenkins主節點和應用服務器,是一對多的關系。
Jenkins主節點的主要負責項目部署前的工作,主要包含拉取代碼,前端打包,后端打包,快照版檢測,將壓縮包和部署腳本發送到目標機器(即應用服務器),遠程調用目標機器上的部署腳本進行代碼替換。
應用服務器部署腳本執行過程有:解壓壓縮包,停止服務,覆蓋代碼,拉取dis買粉絲nf,應用目錄分組賦權,重啟服務,檢查服務是否有進程,查看啟動日志,刪除/tmp目錄下舊壓縮包。
Jenkins應用部署流程圖
4、任務計劃
4.1、搭建環境
Jenkins
指路【Jenkins系列】如何搭建Jenkins環境。
Ansible
Git
GitLab
因為這個我沒有實踐成功的教程,所以在這里就不貼啦~
Node.js
Maven
JDK
Nginx
2、編寫前置腳本
3、編寫應用部署腳本
4、Jenkins配置
指路【Jenkins系列】如何構建Jenkins Job。
新增Job,主要用于拉取代碼,執行Maven編譯,執行app_build.sh,將壓縮包通過ssh發送到目標機器,遠程調用目標機器的deploy.sh。
三、含淚踩坑
踩坑1
問題描述:在錯誤的路徑拉取配置,原因是未成功解壓壓縮包。
解決方案:校驗壓縮包是否解壓成功解壓成功,并且在cd到正確的路徑后添加&&(&&表示上一條命令執行成功再執行下一條命令)才進行拉取配置。
踩坑2
問題描述:項目沒有正常停止,導致無法重新啟動。
解決方案:雖然執行kill -9,但是未找到根本原因,因此加了一個檢測機制,如果檢測沒有正常停止服務,則退出程序。
踩坑3
問題描述:生產部署腳本拉取了開發環境的的jdbc配置,原因是生產部署腳本寫錯了開發環境dis買粉絲nf的域名,當時我同時在搞開發生產環境的腳本,開發和生產是兩套不同的腳本,一時混亂寫錯了,嚇得一批,好在當時生產環境還沒投產使用。
解決方案:為了避免后續這種情況的發生,而且是必須避免的,我們通過環境名稱來判斷走開發還是生產域名,這樣就能保證腳本一致性了。
在這個項目實際遇到的問題遠不止上面這幾個,在這個實踐過程中,我對整個應用部署流程有了更深的理解,平時方方面面的學習終于集中化起來進行實踐了。
我習慣將學到的知識和遇到的問題記錄起來,在寫這篇文章的過程回過頭來看,五味雜陳,原來我都經歷了這些哈哈哈......
踩過的坑終究使我更加強大,帶你見證呱呱本呱成長為參天大呱~
搞測試,不迷路
呱呱大王本呱帶你飛!
啟動Jenkin