每天進(jìn)步一點點,關(guān)注我們哦,每天分享測試技術(shù)文章
本文章出自【碼同學(xué)軟件測試】
大家熟悉的測試工作(也是傳統(tǒng)的瀑布式),是接到項目后參與需求評審,然后根據(jù)需求文檔寫寫用例和準(zhǔn)備腳本,等開發(fā)提測之后正式開始測試、提bug、回歸,測試通過后就結(jié)束了,項目交給運維上線,之后投入下一個項目繼續(xù)重復(fù)這樣的流程。
碼同學(xué)公眾號:自動化軟件測試
碼同學(xué)抖音號:小碼哥聊軟件測試
這樣的流程看似沒什么問題,但缺點是:
測試過程是在一定時間間隔內(nèi)發(fā)生的,測試人員必須等待產(chǎn)品完全構(gòu)建才能找到錯誤和故障。不可否認(rèn),花費的時間超過了可以商定的時間,等待代碼成為測試人員的瓶頸。
測試同學(xué)非常被動:當(dāng)需求質(zhì)量、開發(fā)質(zhì)量差的時候,你只能被動接受,結(jié)果就是你會進(jìn)行漫長痛苦的測試過程以及因為質(zhì)量差導(dǎo)致上線延期;
Bug的成本在后期是非常高的,需要花費很多精力和時間去修復(fù)。甚至嚴(yán)重的情況是產(chǎn)品都不能按時發(fā)布,導(dǎo)致很大的損失。
很有可能一個線上問題裸奔了幾個月,最后是業(yè)務(wù)方先發(fā)現(xiàn)才排查到是Bug導(dǎo)致,由于影響時間過長給公司造成的損失巨大,還被質(zhì)疑為什么這么明顯簡單的問題上線之后沒人發(fā)現(xiàn)。
不管是測試左移還是測試右移,都是為產(chǎn)品質(zhì)量服務(wù)。不要把提測認(rèn)為是測試活動的開始,上線是測試活動的結(jié)束,更不要認(rèn)為質(zhì)量只是測試同學(xué)需要關(guān)注的。
01
測試左移
測試左移的思想,本質(zhì)是越早的發(fā)現(xiàn)不合理的地方出問題的幾率就越低。
測試左移的原則支持測試團(tuán)隊在軟件開發(fā)周期早期和所有干系人合作。因此他們能清晰地理解需求以及設(shè)計測試用例去幫助軟件“快速失敗”,促使團(tuán)隊更早的修改所有的bug。
參與和理解會使測試人員獲取產(chǎn)品完整的知識,徹底想清楚各種場景,根據(jù)軟件行為設(shè)計實時的場景,這些都會幫助團(tuán)隊在編碼完成之前識別出一些缺陷。
我看到對于測試左移很好的理解
真正的測試左移就包含2個方面:
1. 提高質(zhì)量上限
2. 提高質(zhì)量下限
提高質(zhì)量上限,其實是通過一系列活動,來避免問題或者本身就讓我們起步就變得很好的,一句話:良好的開始是成功的一半
提高質(zhì)量下限,其實是通過一系列的活動,讓我們的質(zhì)量成果得以保證的
測試左移,其實就是通過一系列的活動,能提高質(zhì)量的上限,縮短測試的周期,提高質(zhì)量的下限,這樣子,我們就可以在不斷提高下限的過程中,始終將質(zhì)量穩(wěn)定在一個水平線上,而和團(tuán)隊一起追求更高的目標(biāo)了。
從不重視代碼質(zhì)量的第一天開始,就埋下了問題修復(fù),定位的成本和修復(fù)問題再次引入問題的成本。
當(dāng)測試在周期的早期開始時,團(tuán)隊會更專注于質(zhì)量,并且“讓我們在第一時間獲得正確的編碼”前景。這有助于節(jié)省大量時間,并減少軟件開發(fā)團(tuán)隊必須為特定代碼執(zhí)行的迭代次數(shù)。
測試左移,我們可以做什么
對于測試左移其實我們還有很多東西要做,就好像一開始說到的都是為產(chǎn)品質(zhì)量服務(wù),那么在研發(fā)流程中的任何角色、人員都要為質(zhì)量服務(wù)。
有哪些活動可以提高質(zhì)量上限(舉例)?
健康的項目流程(合理并且嚴(yán)格遵守的項目流程)
合理的需求分析(評估需求的質(zhì)量,分析需求的合理性以及完整性)
出色的系統(tǒng)架構(gòu)
完整的系統(tǒng)設(shè)計(評估設(shè)計的質(zhì)量,分析需求的合理性以及完整性)
充分利用靜態(tài)代碼掃描
進(jìn)行研發(fā)標(biāo)準(zhǔn)的定義
更早的測試分析(先于開發(fā)完成需求的分析,做好各種評審的準(zhǔn)備)
盡早的測試執(zhí)行(提早參與測試執(zhí)行,在集成前就發(fā)現(xiàn)一些問題)
免費領(lǐng)取?碼同學(xué)軟件測試?課程筆記+超多學(xué)習(xí)資料+完整視頻+最新面試題,可以轉(zhuǎn)發(fā)文章?+?私信「碼同學(xué)666」獲取資料哦
有哪些活動可以提高質(zhì)量下限(舉例)?
健康的測試流程
優(yōu)秀的測試用例
合理的測試計劃
合適的自動化
適當(dāng)?shù)奶剿魇綔y試
開發(fā)自測(TDD、BDD,測試提供更好的用例、技術(shù)支持)
團(tuán)隊質(zhì)量意識的培養(yǎng)
對于測試左移,也需要一個重要的基礎(chǔ),工程習(xí)慣,SDLC成熟度,測試分層,持續(xù)集成,鏈路上延展發(fā)布的節(jié)奏,縱深上需要貼合業(yè)務(wù)的專精領(lǐng)域的深度探索,代碼掃描(規(guī)范,問題,安全,異常等),CR,
代碼提交行為分析,test double(mock , fake, stub,dummy), UT,
自動化,驗收測試等。左移需要工程效率具備不亞于研發(fā)的代碼能力。
因此對于測試左移,筆者認(rèn)為可以圍繞質(zhì)量服務(wù)思想展開,參與人員則不僅僅局限于測試人員
測試左移實踐問題
當(dāng)然實踐起來會存在一些問題,例如筆者團(tuán)隊實踐起來,就出現(xiàn)了
測試要求提供概要設(shè)計、接口文檔?。?!
測試要求單元測試必須通過?。?!
測試干預(yù)需求設(shè)計?。?!
很多人都認(rèn)為是測試在要求完成一些沒必要的事情,測試在干預(yù)我的工作。
其實問題的矛盾點在于前面說過的一句話:不管是測試左移還是測試右移,都是為產(chǎn)品質(zhì)量服務(wù)。不要把提測認(rèn)為是測試活動的開始,上線是測試活動的結(jié)束,更不要認(rèn)為質(zhì)量只是測試同學(xué)需要關(guān)注的。
對于測試左移的落實,最重要的就是全員質(zhì)量服務(wù)意識的培養(yǎng)
02
測試右移
左移是往測試之前的開發(fā)階段移,右移是往發(fā)布之后移。也就是產(chǎn)品上線了之后也可以進(jìn)行一些測試活動。當(dāng)然在生產(chǎn)環(huán)境直接做測試是不推薦的,但是我們可以在生產(chǎn)環(huán)境做監(jiān)控,監(jiān)控線上性能和可用率,一旦線上發(fā)生任何問題,盡快反應(yīng),提前反應(yīng),給用戶良好的體驗。技術(shù)同學(xué)要比業(yè)務(wù)方先發(fā)現(xiàn)問題,如果業(yè)務(wù)方已經(jīng)發(fā)現(xiàn)業(yè)務(wù)量明顯下降,說明問題已經(jīng)很嚴(yán)重了。
測試右移其實還可以理解為如果線上發(fā)生任何問題,我們有沒有能力第一時間發(fā)現(xiàn)問題并解決問題,并保證線上數(shù)據(jù)的一致性或盡可能少的影響線上用戶,以及并且實時獲取用戶反饋。
測試右移,我們可以做什么
對于測試右移,線上監(jiān)控可以是突破點,舉例:
閉環(huán)的線上問題反饋-檢查-解決-更新流程
更便捷的日志查看、回傳服務(wù)
豐富有效的log,便于問題的快速定位
豐富的監(jiān)控指標(biāo)(例如業(yè)務(wù)異常點指標(biāo))
成本監(jiān)控(例如短信發(fā)送等)
關(guān)鍵指標(biāo)每日監(jiān)控(服務(wù)器指標(biāo))
生產(chǎn)數(shù)據(jù)監(jiān)控(警報)(通過sql語句實現(xiàn)生產(chǎn)數(shù)據(jù)監(jiān)控,例如是否有多個訂單號一樣的訂單出現(xiàn)等)
因此對于測試右移,我認(rèn)為可以圍繞問題反饋、發(fā)現(xiàn)、定位、監(jiān)控展開,參與人員則不僅僅局限于運維人員
測試右移,實踐問題
當(dāng)然一樣的,實踐起來也是存在問題,除了技術(shù)問題之外,還有例如:
線上監(jiān)控搭建后無人使用
線上問題反饋機(jī)制,業(yè)務(wù)人員不配合等等
監(jiān)控指標(biāo)不合理,反而被認(rèn)為增加服務(wù)器負(fù)載
測試右移的落實,除了質(zhì)量服務(wù)的培養(yǎng),更加重要的反而可能是:完善的反饋、發(fā)現(xiàn)、定位,在監(jiān)控架構(gòu)完善后,怎么更好的與項目流程結(jié)合,不要讓其成為累贅
END
免費領(lǐng)取碼同學(xué)軟件測試課程筆記+超多學(xué)習(xí)資料+學(xué)習(xí)完整視頻,可以關(guān)注我們公眾號哦:自動化軟件測試
本文著作權(quán)歸作者所有,任何形式的轉(zhuǎn)載都請聯(lián)系作者獲得授權(quán)并注明出處。