一、測試左移簡介
測試左移,是一種測試的思想,顧名思義就是讓測試的活動向前端推動,也叫測試前置。
盡早的測試介入,盡早的發現測試問題,可以從產品流程規范和測試效率的提升保證測試左移的效果。
測試左移思想是"第一時間發現缺陷,第一時間解決",目的是在測試過程中降低缺陷修復的成本,且在測試后期可以更靈活的進行測試資源再分配。
二、測試左移各階段實現
1、需求階段
1)需求深度“理解”
A、需求必要性
很少有人在這方面提出質疑,需求真的是否有必要,是否還其它的方式能夠更好的達到目標?如果不做這個需求會有什么樣的影響?
B、需求背景
為什么要做這個需求,是填坑還是完善體驗,如果是填坑那么后續針對類似的場景、需求就需要能夠早早糾正和避免;
C、需求價值
該需求能夠為用戶帶來什么樣的價值,換位思考下,如果你是這個需求的用戶群體,你希望這個功能是怎么樣的;
D、需求訴求
不同用戶對於需求的訴求是不同的,有的用戶側訴求可能是希望有“一站式”的體驗,有的可能是希望有功能上的補全,只有真正清楚需求背后的訴求才能保證需求的正確性;
2)需求分析:測試建模
深入分析需求,建立測試模型
3)需求價值驗證
實際上在需求進入研發流程前也可以利用眾測用戶或是外團用戶來進行調研及摸底,對於用戶信息再進行二次加工分析,讓用戶“決定”需求的正確性。此外,測試人員本身的用戶思維角度也需要多多積累。
也許做為一名測試工程師,決定不了產品的戰略方向或是布局,但是可以把控需求本身,包括需求對於用戶的價值以及需求本身的質量,基於這兩個維度,測試仍然可以在需求側做很多“左移”的事情。
2、概要設計階段
概要設計也是開發實現的一個思路,具體改動點,如何去實現,這塊可以多和開發溝通,可以多去想想他們這種實現方案是否有問題,是否有更好的實現方式。
1)概要設計文檔
提前熟悉概要設計文檔,評審時提出建設性意見
和開發設計人員多溝通,協調開發整理出具體改動點
2)接口文檔
接口文檔評審,定義接口字段和字段類型的可用性
評估接口性能,異步/同步
提早介入接口測試(調用端接接口之前)
3、開發階段
1)代碼靜態掃描
2)CodeReview
•開發階段,要求開發及時提交代碼,至少每天一次,查看代碼變更可以明確本次需求涉及到的具體模塊;
•裁剪測試用例,指定用例優先級
•對於編碼習慣不好的開發,提交的代碼要着重review,及時發現低級錯誤,相似錯誤着重檢查。
**3)冒煙用例和測試用例開發聯調前提供,供開發聯調自測
4)開發聯調時產品走查
4、自動化左移
1)接口自動化
對於原有接口新增字段或者改動,接口串聯自動化持續集成測試
2)UI自動化
前期在需求、代碼實現分析的時候,可以分析出該需求的功能自動化路徑及場景,可以嘗試先實現功能腳本的主路徑,待正式提測后更新控件庫,即可同步上線,並且可以接入到持續集成中,減少回歸成本
三、測試左移對QA團隊的好處
1、測試"核心"價值的體現
測試人員不僅僅是一個質量的把關員,他可以存在產品整個生命周期內,提供專業的解決方案讓產品更好的實現商業價值。
2、編碼能力的提升
測試人員不再是"點點點"的代言人,同樣可以編寫代碼來實現產品的高效測試,如自動化,性能,安全測試等。
3、創新習慣養成
需求分析多了,對產品功能有了深度的認識,可以着手於創新項目如測試平台,工具,流程推廣等高級測試技能的實現
四、測試左移的推進
1、上級領導、開發、產品團隊的認可與支持
2、各角色中涉及到測試前置的工作,需要評估入工作量
3、PRD和代碼在結構上均需要優化可測試性
4、技術層面上需要為測試前置提供有力的框架和工具支持
5、測試人員串聯各個環節和監督、總結的角色,需要提供每個節點各個角色的工作數據