自動化以提高效率
以更快速完成的軟體自動化取代重複的手動工作,並透過更高的一致性和精確度,並降低風險。 |
---|
工作負載可能具有涉及小組成員進行平凡、重複且耗時的工作,而不需要人類智力的工作流程。 視頻率而定,您可能會花費相當長的時間進行這些工作,在工作負載成長時投入更多時間。 此外,由於人為輸入,這些程式通常容易出錯。
透過自動化,您可以節省時間、精力和金錢,並避免錯誤。
範例案例
Contoso 大學已開發 Web 應用程式,目前在生產環境中並裝載於 Azure 中,為 Contoso 的學生和教職員提供在線教育服務。
技術解決方案是以 Azure App 服務、Azure SQL 資料庫、Azure Active Directory、Azure 金鑰保存庫 和 Azure DevOps 為基礎。
自動化流程
根據正確層級複雜度、投入時間、頻率、精確度、時程表和生命週期的準則,評估所有工作流程。 根據該評估將工作流程自動化,並以最高的預期傳回來排定工作流程的優先順序。 拿掉備援工作流程或增加價值,以證明人力投入。
藉由採用這種方法,您可以將團隊容量重新投入較高的價值工作,並提升生產力和一致性。
建置工作流程清查可確保您將正確的工作自動化。 拿掉備援工作可減少複雜度和錯誤。
Contoso 的挑戰
- Contoso University 的團隊正在尋找一些方法來改善作業程式,方法是將重複、耗時、容易出錯或低值的手動工作自動化。 這可以釋出一些小組的時間和資源,以進行更策略性的工作、改善服務的品質和可靠性,並可能降低成本。
套用方法和結果
- 為了開始這項工作,小組會針對可能自動化的手動作業工作進行清查。 接下來,小組會使用建議中建議的準則來分析工作清單,例如正確層級的複雜度、投入時間、頻率、精確度、時程表和壽命,以判斷自動化的最佳候選專案。 同時,小組還評估了取得自動化工具或自定義建築,自動化在長期可能更好。
- 由於分析,他們決定專注於自動化與用戶帳戶管理相關的活動。 管理用戶帳戶(學生、教職員、教職員)是一項常見的工作,包括在學生註冊時建立新帳戶、重設密碼,以及在個人離開大學時刪除帳戶。
- 藉由自動化許多與使用者帳戶管理相關的工作,小組已釋出足夠的時間,開始進行先前延遲的其他卓越營運改進。
自動化設計
設計工作負載元件以支援自動化功能。
避免系統設計中缺乏自動化的情況,促進重複工作的反模式、減緩增長,並開始累積技術債務。
Contoso 的挑戰
- 應用程式具有豐富的動態UI,其使用許多互動式元素和動畫。 開發小組從未使用過自動化UI測試工具,因為應用程式最初是開發,而且只依賴手動測試。
- 最近,小組一直在致力於自動化其UI測試,但面臨許多挑戰。 有些UI頁面太動態且無法預測,而且沒有一致的方式可識別測試案例需要與之互動的一些字段。
套用方法和結果
- 小組已決定改善其UI實作,使其更具可測試性和可存取性。 他們會在建立測試案例時修正頁面,以累加方式進行改善。
- 當他們處理每個頁面時,他們會確定每個欄位都有唯一標識碼,可供測試自動化工具使用。 它們也會遵循輔助功能指導方針和標準,例如使用語意 HTML、適當的標籤和鍵盤流覽。 這可讓UI更方便使用者且更容易測試。
- 當自動化測試完成時,它們會併入在每日建置期間執行的測試套件中,進而大幅縮短將新組建發行至生產環境所需的時間、改善產品品質,以及在開發期間節省成本。
自動化應該經過妥善架構
將所有自動化視為工作負載的重要相依性。 適應工作負載的預期成長。 您的自動化工具是工作負載不可或缺的一部分,它應該遵守五個架構完善的架構要素。
設計您的自動化元件以承受風險,例如安全性威脅。 透過套用的最佳做法,您可以避免實作蔓延。
如果此相依性保持運作且安全,工作負載會繼續以高階保證運作。
Contoso 的挑戰
- 工作負載具有專用於負載和效能測試的環境,其設定會密切模擬生產環境。 為了更密切地模擬環境中的類似生產環境的情況,當環境重設時,所有使用者的敏感數據匿名和遮罩都會載入到測試環境的新複本。
- 資料庫載入腳本是由未妥善記錄或遵循其他最佳做法的前開發人員所撰寫。 腳本執行速度緩慢,且不會正常處理錯誤或失敗。
- 最近,隨著生產資料庫成長,腳本運行時間越來越長且經常失敗。 這些延遲和失敗會影響小組執行測試回合的能力,並導致開發排程的延遲。
套用方法和結果
- 小組決定重寫此工具的時間,以便與用來開發核心應用程式程式代碼基底的標準開發做法相同。 小組將遵循業界公認的最佳做法,包括適當的安全性和適當的錯誤處理。
- 效能已改善,而且功能已經過重新設計,因此不論生產數據集的大小為何,都會產生可預測的運行時間。
- 藉由將自動化與核心應用程式程式代碼基底相同,並套用WAF原則和建議,小組已針對可靠性、安全性、效能、成本和作業進行優化。