乾貨|測試人員如何助軟體成功上線?如何建立一個好的部署計劃?
聽了公司大神的一個培訓,講的是Shell指令碼程式設計,其實所有的程式語言的思路都是差不多的,語法上可能會有一些小的差別。對於不同的程式設計人員來講,差異就在與程式設計人員自身的程式設計習慣和思考的是否全面,這些決定了程式的可讀性和可重用性。大神說了一句話:“一個好的程式不在於功能有多炫,效能有多好,好的程式應該有很好的可讀性和可重用性。其實學習知識並不難,難的是對知識的傳承。” 加我VX:atstudy-js 回覆“測試”,進入 自動化測試學習交流群~~
最簡單的辦法是列一個包含下列各項的表格:
步驟編號
步驟描述
負責人
步驟持續時間
測試注意事項(如果適用的話)
其它資訊(指令碼、端點、證照等的路徑)
測試的職責是什麼呢?部署計劃那一節提到的測試注意事項中可以包含關於如何驗證的說明。但是假如部署計劃非常龐大,資訊繁雜。那麼對於測試人員來講更合理的做法是為測試相關的資訊和資料建立一個單獨的文件,主要包含以下內容:
-
針對版本里的新功能,在生產環境上的非入侵性的測試場景
-
可測的生產環境配置步驟的清單與說明,例如:
配置變更:POM.xml, IIS 等
與正確的服務端點整合
DB Schema/資料變更
-
資料遷移
驗證新近的變更都已經被包含在最新的版本中
共享位置的訪問
部署後伺服器上的剩餘空間(假如該驗證沒有被 AWS 自動化部署覆蓋)
簡短的效能測試
上面提到的一些配置變更測試在下文會有比較詳盡的解釋。配置變更依賴於專案的流程,它可能是個非常長的清單,包括從簡單的配置檔案變更到伺服器本身的變更。但是我們還是就一些典型的例子來進行說明。
與正確的服務端點整合
這類測試本應很清楚,不需加以額外說明。但是如果被整合的服務同時有多個可用環境就比較棘手。要驗證所使用的服務端點的正確性,最簡單的辦法就是執行一個會呼叫該服務的例子並校驗配置檔案。還有一個可選方案就是使用資料標記:給資料記錄名加字尾,測試生產環境上的缺失記錄等等。
DB Schema/資料變更
測試 DB Schema 變更和資料變更的方法不大一樣。測試資料變更,我們可以通過介面或者返回值的驗證來證明系統使用的是新資料。如果是 DB Schema 的改動,情況就有所不同。因為有些變化在介面上是不可見的,除非連線生產環境上的資料庫,否則無法校驗。而連線生產環境的資料庫往往又是不被允許的。有時候,即便是儲存過程的變更(新欄位, 資料型別的變更等)有缺失,也不能立即被發現(有時候這些欄位是在異常捕獲的程式碼裡用到的,而正常情況下系統都使用預設值)。
針對此類情況,測試人員要選擇一些會使用到新欄位或變更欄位,而不是使用預設值的場景,來驗證使用的程式碼是最新的。如果新版本中需要新增欄位或是更改已有記錄的值,通常比較穩妥的辦法是去檢驗指令碼的執行情況(通常,把該校驗加入到自動化部署過程中所耗費的工作量要比手工執行一次指令碼大的多)。由於資料庫中資料量的差異,部署過程中一個常見的問題是,指令碼執行時間在測試環境和生產環境上大不相同。不幸的是,沒有一個完全可靠的辦法去預測生產環境的執行時間,除非把生產環境的資料庫完整複製到測試環境。
舉兩個例子,看看當類似的問題導致停服時間增加時該怎麼處理:
1. 如果是 SQL DB,通常通過建立索引優化查詢方案來提升指令碼執行效率;
2. 如果是非 SQL DB(比如亞馬遜的 AWS Dynamo),可能需要改變吞吐量,通過改變指令碼來限制資料庫的負載,改進指令碼並優化資料庫查詢來降低對吞吐量的需求。
主分支/功能分支的合併:驗證最後的變更都被包含在最新的版本中最基本的要求是,上一個通過測試的版本之後提交的每個變更都至少有一個測試場景與之相對應。
部署後伺服器上的剩餘空間(假如 AWS 自動化部署沒有自動驗證)有時應用的新版本需要進行線下更新,需要安裝新軟體,因此版本的規模就會大很多。對於這些情況,如果伺服器沒有配置剩餘空間告警功能,那麼在部署完成後至少要保留10GB的可用空間。
結論
正如前文提到的,生產環境的部署其實從第一行程式碼就開始了。滿足所有的功能要求當然很重要,但開發和部署過程中應用程式的可測性同樣重要。適當的日誌、日誌聚合功能、可用的文件、伺服器配置的可檢測性等所有的這些,將會使得開發、除錯、測試和部署流程對所有人都變得更容易些。除此之外,相互尊重、良好的溝通和共同的目標對任何部署計劃都很重要。
最後:
可以我的 個人V:atstudy-js,可以免費領取一份10G軟體測試工程師面試寶典文件資料。以及相對應的視訊學習教程免費分享!,其中包括了有基礎知識、Linux必備、Mysql資料庫、抓包工具、介面測試工具、測試進階-Python程式設計、Web自動化測試、APP自動化測試、介面自動化測試、測試高階持續整合、測試架構開發測試框架、效能測試等。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31407649/viewspace-2857851/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 一個好的軟體測試計劃要怎麼寫?
- 軟體測試員如何提取測試需求?
- 如何建立成功的FMEA計劃
- 軟體測試人員如何避免被甩各種鍋?
- 【乾貨】作為一個測試人員,我們能幹些什麼?
- 【乾貨】每個軟體測試員最怕被問的問題:“測得怎麼樣了?”
- 軟體測試初級人員如何應對職場面試?面試
- 軟體測試-測試計劃
- 軟體測試技術乾貨丨舉個例子告訴你,未開發完成的介面該如何測試
- 軟體測試人員如何去分析及提高使用者體驗?
- 好的軟體測試人員簡歷是什麼樣子的?
- 軟體整合測試乾貨分享,2022國內軟體測試公司排名
- 軟體測試培訓分享:做軟體測試工作如何清楚的描述一個bug
- 測試人員如何在軟體敏捷開發流程中體現價值?敏捷
- 軟體測試計劃與測試方案
- 軟體測試新人,教你如何成功入行?經驗分享
- 乾貨分享▏軟體效能測試包括哪些測試內容?
- 軟體測試人員如何撰寫簡歷才能提高面試邀約率?面試
- 迷茫的軟體測試員,如何擺脫工具人身份?
- 軟體測試人員必備的60個測試工具清單,建議收藏一波!
- 測試人員如何提高API功能測試效率?API
- 測試人員如何攻破物聯網測試?
- 技術人員如何建立個人品牌
- 軟體測試計劃文件(初)
- 【乾貨】如何設計一個Arkane遊戲的關卡遊戲
- 如何挑選一家好的軟體測試培訓機構
- 軟體效能測試計劃如何進行?權威效能測試報告需要多少錢?測試報告
- 測試人必須瞭解的軟體測試流程及5大測試過程模型,經典乾貨分享!模型
- 測試人員如何上手去測試鴻蒙 NEXT鴻蒙
- 軟體測試人員必備的60個測試工具清單,果斷收藏了!
- 軟體測試人員需要具備的硬技能
- 軟體測試之Web測試如何進行?廣東好口碑軟體測評公司推薦Web
- 如何評判軟體測試培訓機構的好壞?
- AI客服上線 乾貨 乾貨 全是乾貨!AI
- 乾貨|如何利用CNN建立計算機視覺模型?CNN計算機視覺模型
- 第1章 軟體測試概述線上測試
- 軟體測試中的43個功能測試點(上)
- 後端人員如何應對線上故障後端