敏捷專案下的傳統測試轉型之旅 | IDCF
來源:DevOps社群Meetup,本文曾發表於“《測試技術與質量管理》季刊第19期” 作者:陳曉鵬。測試、敏捷及DevOps專家。德勤管理諮詢系統整合業務線測試負責人,中國商業聯合會網際網路委員會智庫專家,ISO29119軟體測試國際標準評審組專家。19年IT領域測試相關工作經驗,超過13年在IBM、埃森哲、德勤等國際頂尖IT諮詢及世界五百強公司工作。擅長測試諮詢與落地、專案管理、測試自動化及敏捷測試、DevOps等相關領域。 編輯:墨香
一、傳統測試在敏捷環境下面臨的挑戰
時間極短
文件極少
變更極頻
資源極缺
二、敏捷環境下應採用敏捷測試
“敏捷測試是遵從敏捷軟體開發原則的軟體測試實踐。敏捷測試包括跨功能敏捷團隊的所有成員,以及測試人員提供的特殊專業知識,以確保可持續的速度頻繁地交付客戶所需的業務價值。”
敏捷測試遵從敏捷開發的原則,強調遵守。所以敏捷價值觀和敏捷宣言遵循的12原則同樣適用在敏捷測試中。 測試被包含在整體開發流程中,強調融合。在敏捷開發過程中不再像傳統專案那樣有開發階段和測試階段之分,而是把開發和測試作為一個整體過程來看待。 跨職能團隊,強調協作。跨職能意味著團隊需要具備不同專業技能的人才共同組成,彼此之間互相協作、互相幫助,發揮每個人在團隊中的優勢,從而使得團隊績效最大化。
三、往敏捷測試轉型的四個要素
四、敏捷測試文化轉變
小心變成質量警察
可持續的速度而不是在專案尾段快速激烈的測試
合作伙伴式的客戶關係
每個團隊都有能力做出決定
提倡免責文化
管理層需要具備敏捷知識
五、敏捷測試組織轉變
在SAFe中是如此定義實踐社群CoP的:
實踐社群是一個由團隊成員和其他專家組成的非正式團體,他們在一個專案群或企業環境中活動,並且擁有在一個或多個相關領域分享實踐知識的使命。
由定義可知,雖然CoP不是一個正式的團體組織,無法承擔測試人員管理的職責,但是至少可以讓測試人員有一個“精神樂園”作為寄託,可以在裡面學習與分享,減少測試人員的迷茫感。
六、敏捷測試流程轉變
程式碼:在Sprint層級中,我們需要對程式碼進行質量掃描和單元測試,主要測試獨立的程式碼單元是否正確。這個測試在單個Sprint內完成,不會跨Sprint。 故事:在Sprint層級中,我們主要的測試物件是使用者故事。我們需要根據故事的驗收標準進行測試,這個測試是在Sprint迭代過程中執行的,而且不會跨Sprint。 特性:在版本釋出層級中,我們的測試物件是特性,主要是測試一些故事之間如何協同工作向使用者交付更大的價值。這個測試有些可以在Sprint內完成,有些需要跨Sprint才能完成。 史詩:在版本釋出層級中,我們測的物件是史詩,主要是跨多個特性的核心業務流程,通常是端到端的整合測試。這個測試通常都是要跨Sprint才能完成。
L1級別主要是針對單元元件模組級別進行的效能測試; L2級別主要是針對使用者故事級別進行的效能測試; L3級別主要是針對整個版本端到端級別進行的效能測試。
七、敏捷測試實踐轉變
需求到配置庫 程式碼到開發環境 程式碼到Sprint測試環境 程式碼到整合/釋出測試環境 程式碼到生產環境
需求到配置庫:這個環節是需求相關的環節,我們針對需求主要採用ATDD或者BDD的實踐進行活動,同時也要考慮關於可用性的調研,可以透過低保真原型向終端使用者收集反饋。該環節的賦能者是BDD的框架、ATDD的框架,比如Cucumber、Specflow等。 程式碼到開發環境:這個環節是單元測試環節,我們針對程式碼主要進行單元測試TDD、靜態程式碼分析、程式碼覆蓋率分析等活動。該環節的賦能者是XUnit框架、Jacoco程式碼覆蓋率分析、SonarQube靜態程式碼掃描等。 程式碼到Sprint測試環境:這個環節是Sprint內測試環節,我們針對程式碼的功能性和非功能性進行測試,主要的質量活動包括功能測試、效能測試、安全測試等。該環節的賦能者是服務虛擬化、API和UI的測試自動化、元件和故事級別的效能測試等。 程式碼到釋出整合測試環境:這個環節主要是跨Sprint的UAT測試環節,主要包括端到端聯調測試、探索式測試、效能測試、可用性/易用性測試、安全測試等活動。該環節的賦能者是自動化測試框架、CI/CD流水線、安全漏洞掃描、使用者體驗測試、系統級別的效能測試等。 程式碼到生產環境:這個環節主要是上線後環節,包括的質量活動如A/B測試、生產環境測試、混沌工程(Chaos Engineering)等。該環節的賦能者是自動化測試框架、生產監控工具包括APM等。
八、結語
透過敏捷測試流程使得測試過程與敏捷迭代一致,解決了測試時間短的問題; 透過合作伙伴式的客戶關係文化轉變,使得我們不再需要描寫繁雜的需求文件,我們透過與客戶頻繁溝通了解客戶的真正需要; 透過組織架構向跨職能團隊調整,質量應由團隊保障,解決了專職測試資源少的問題; 透過敏捷測試實踐的自動化測試與持續整合,縮減反饋週期,使得在變更頻繁的情況下也能很好的保證質量。
[1] SAFe4.0精粹 電子工業出版社 (美)理查德·克納斯特,(美)迪恩·萊芬韋爾著 [2] Scrum精髓 清華大學出版社 (美)凱恩魯本著 [3] 維基百科
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31558019/viewspace-2722721/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- “探索性測試”在敏捷專案中的運用 | IDCF敏捷
- 從傳統測試轉向敏捷測試敏捷測試
- 敏捷測試VS傳統測試對比,6招玩轉敏捷測試!敏捷測試
- KPN iTV的敏捷轉型之旅敏捷
- 敏捷交付中的自動化測試 | IDCF敏捷
- 傳統專案管理VS敏捷專案管理專案管理敏捷
- PMP|論傳統專案與敏捷專案管理的區別敏捷專案管理
- JB的測試之旅-專案流程規範
- JB的測試之旅-Linux下配置Linux
- 測試工程師在敏捷專案中扮演什麼角色?工程師敏捷
- 大型複雜專案管理怎麼結合傳統與敏捷專案管理敏捷
- 基於Jira的Scrum敏捷管理實戰 | IDCFScrum敏捷
- 測試專案管理系統 — TPA專案管理
- 如何使用預測性指標衡量敏捷轉型的成功?指標敏捷
- 中興通訊測試專案實踐:敏捷測試特性文件的交付過程實踐探討敏捷測試
- TPA測試專案管理系統-測試問題管理專案管理
- 應用敏捷與安全如何兼存?| IDCF敏捷
- 【敏捷轉型,效能提升】萬字長文敏捷轉型實踐系列分享敏捷
- 華為精益敏捷專家:DevOps轉型中的那些坑敏捷dev
- 組織敏捷轉型中的 HR敏捷
- 敏捷專案管理?敏捷專案管理
- JB的閱讀之旅-軟體測試52講(下)
- VUCA時代,敏捷團隊如何提升效能? | IDCF敏捷
- 檔案上傳測試
- 敏捷開發模式下的利刃:探索性測試(ET)敏捷模式
- 6個敏捷轉型挑戰及其解決方法:從搭建專案管理要素說起敏捷專案管理
- Jmeter測試工具的實際專案測試案例JMeter
- 傳統中小企業如何轉型?
- CSM順利向敏捷轉型的16個技巧,瞭解一下敏捷
- 客戶案例:敏捷轉型的二三事兒敏捷
- Golang專案的測試實踐Golang
- 解密!傳統測試 vs 大資料測試解密大資料
- 效能測試專案篇
- iwebshop專案測試(一)Web
- 敏捷測試是什麼?敏捷測試
- 軟體測試外包專案經驗分享:歷經7個月的OA系統專案驗收測試情況
- VScode配置 Django專案 使用應用下的tests.py測試VSCodeDjango
- JB的測試之旅-測試資料的準備/構造