Choerodon的測試管理主要為使用者提供靈活化的持續測試工具,包括測試用例管理、測試計劃、測試分析等,可以有效地提高軟體測試的效率和品質,提高測試的靈活性和可視化水準,最終減少測試時間,讓使用者将主要精力放到軟體功能建構上。本文将為您分享靈活測試概念及Choerodon在靈活開發過程中的測試實踐。
什麼是靈活測試
在靈活開發流程中,測試不再是瀑布式開發流程的其中一個環節,而是全程參與整個開發流程。開發中可以通過多種方式來保證産品的品質,無論是原則中的“頻繁傳遞”,還是對“可工作的軟體”的度量,或是靈活開發實踐中的“測試驅動開發”、“行為驅動開發”,都離不開測試的支援。 當然,靈活測試對測試人員也提出了更高的要求,對測試人員來說是新的挑戰。
靈活測試人員的定義
專業的測試人員,必須有适應變化的能力,了解利用測試記錄需求和驅動開發的思想,才能與技術人員和業務人員展開良好的協作。靈活測試人員往往具有優秀的技術能力,知道如何與他人合作以實作自動化測試,同時也擅長探索性測試,他們了解客戶在做什麼,以此更好地了解客戶的軟體需求。
測試人員在靈活過程的價值展現
- 需求讨論:測試人員可以站在客戶角度上來闡述自己的觀點,和産品人員、開發人員等進行充分的交流和讨論,使自己在使用者體驗、業務邏輯等等方面的經驗充分展現出來。
- 開發過程:測試人員不僅扮演“使用者代表”角色,而且可以及時提供更全面的品質回報,包括代碼品質、接口一緻性等。測試人員不寫代碼,可以參與代碼複審(code review),将品質問題及時送出給項目組,保證在産品構造的整個過程中品質受到足夠的關注,提高品質改進的持續性和可視性。
- 單元測試:單元測試由開發人員做,測試人員可以推進開發人員進行單元測試,檢查單元測試狀态。例如確定單元測試達到75%以上覆寫率,以及幫助開發人員開發出具有良好可測試性的代碼。
- 內建測試、端到端(end-to-end)測試、性能測試:因為在靈活方法中,往往将一個大的系統開發分解成多個小的子系統(子產品/元件),內建測試和端到端(end-to-end)測試顯得更重要。其有效保證整個功能流程的完整、暢通,以及所開發的産品與其任何子系統協調良好。
- 回歸測試:持續回歸測試,保證産品的穩定性。可以采用自動化回歸測試。
- 對缺陷進行分析:總結出一些規律,幫助開發人員建立良好的習慣,改進代碼的品質。例如标記出反複出現的bug,以便于開發總結原因。
- 缺陷優先級:與開發溝通上有直接交流、靈活應對變化,品質控制,什麼bug是重要的,什麼是可以後期去做,厘清bug優先級。
Choerodon在靈活疊代中的測試流程
1. 需求分析:依據需求文檔提取測試點
通過分析需求描述中的輸入、輸出、處理、限制、限制等,給出對應的驗證内容,并分析各個功能子產品之間的業務順序,和各個功能之間的傳遞資訊和資料,對存在功能互動的功能項,給出對應的驗證内容(功能互動測試)。同時需要考慮到需求的完整性,要充分覆寫軟體需求的各種特征,包含隐形需求的驗證,比如界面的驗證,賬号唯一性驗證(界面、易用性、相容性、安全性、性能壓力)。
2. 編寫測試計劃和測試用例
為項目需求而編制的一組測試步驟,測試資料以及預期結果,以便測試某個程式是否滿足客戶需求,測試用例需關聯到對應的issue或者story,測試計劃的内容包含疊代内的全部開發任務。
3. 用例評審:确認用例是否覆寫到各個場景,以及用例是否符合需求
用例評審主要是産品、開發和測試人員,針對測試用例能否用于項目的測試而做的工作。主要是為了減少測試人員執行階段做無效工作(送出無效問題等),以避免三方需求了解不一緻。評審按用例的優先級,功能的複雜程度進行;先對優先級高,功能複雜,疑問多的用例進行評審,再評審功能簡單,優先級低的功能點。評審過程中盡量做到思路清晰,用最簡潔的語言闡述每一個功能點。對于評審過程中,超過5分鐘無法确定結果的問題,可以記錄下來,作為會後讨論跟進的重點。
4. 測試執行
測試執行是執行所有或部分標明的測試用例,并對結果進行分析的過程。測試執行活動是整個測試過程的核心環節,所有測試分析、測試設計、測試計劃的結果将在測試執行中得到最終的檢驗。
5. 轉化測試後的bug
将執行完的有bug的測試用例關聯靈活協作中的缺陷。在靈活協作中一個缺陷可以快速定位到測試用例,幫助開發者快速擷取測試結果,實作測試閉環。
6. 回歸bug測試
通過靈活中的疊代規劃,制定團隊的回歸方案,積極跟開發人員溝通問題原因、修複的方案和影響。整體的回歸bug測試進度計劃中需要包含所有回歸測試和自動化回歸測試時間,同時預估好每天的工作量,與實際完成的工作量進行對比,盡早知道測試進度是正常還是延期,提早控制好風險,進而達到團隊能更好地傳遞價值的目的。
總結
以上我們回顧了Choerodon豬齒魚靈活測試在整個項目開發中的基本流程,詳細介紹了各階段存在的主要測試活動。總的來說,靈活測試的最終目的是持續傳遞,快速傳遞可靠的産品。靈活過程的測試,除了對測試能力的要求之外,還要求測試人員在團隊的協作能力更高。此外,随着疊代的不斷增加,對自動化測試的能力也有較高要求。
希望本文有助于正在使用靈活模式或者打算使用靈活模式的團隊更好得了解靈活測試。
關于豬齒魚
Choerodon 豬齒魚作為開源多雲應用靈活全鍊路技術平台,是基于開源技術Kubernetes,Istio,knative,Gitlab,Spring Cloud來實作本地和雲端環境的內建,實作企業多雲/混合雲應用環境的一緻性。平台通過提供精益靈活、持續傳遞、容器環境、微服務、DevOps等能力來幫助組織團隊來完成軟體的生命周期管理,進而更快、更頻繁地傳遞更穩定的軟體。
更加詳細的内容,請參閱Release Notes和官網。 大家也可以通過以下社群途徑了解豬齒魚的最新動态、産品特性,以及參與社群貢獻:
- 官網:http://choerodon.io
- 論壇:http://forum.choerodon.io
- Github:https://github.com/choerodon
歡迎加入Choerodon豬齒魚社群,共同為企業數字化服務打造一個開放的生态平台。
本篇文章出自Choerodon豬齒魚社群柴曉燕。