小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

測(cè)試如何應(yīng)對(duì)新的開發(fā)模式? · 語(yǔ)雀

 鏡馨苑8 2021-11-23
為什么需要測(cè)試左移,測(cè)試右移?
測(cè)試可以保證產(chǎn)品質(zhì)量,重要性不言而喻。但,要做好測(cè)試也比較困難,需要克服很多挑戰(zhàn)。尤其是,持續(xù)交付、敏捷開發(fā)等開發(fā)模式為傳統(tǒng) 軟件測(cè)試方式帶來(lái)了更大的時(shí)間壓力。

我們先來(lái)看看下面這種熟悉的測(cè)試方式都有什么問(wèn)題:測(cè)試人員接到項(xiàng)目后參與需求評(píng)審,然后根據(jù)需求文檔寫用例、準(zhǔn)備腳本,等開發(fā)提測(cè)之后正式開始測(cè)試、提 Bug、回歸,測(cè)試通過(guò)后就結(jié)束了,項(xiàng)目交給運(yùn)維上線,之后投入下一個(gè)項(xiàng)目繼續(xù)重復(fù)這樣的流程。

這樣的流程看似沒(méi)什么錯(cuò),但有兩大問(wèn)題:
測(cè)試人員非常被動(dòng)。當(dāng)需求質(zhì)量、開發(fā)質(zhì)量較差的時(shí)候,測(cè)試人員只能被動(dòng)接受。
但同時(shí),測(cè)試又被認(rèn)為是質(zhì)量的責(zé)任人。如果因?yàn)樾枨筚|(zhì)量、開發(fā)提測(cè)質(zhì)量差而導(dǎo)致上線延期,大家通常會(huì)首先怪罪測(cè)試團(tuán)隊(duì)。

這些問(wèn)題,在新的開發(fā)模式下愈發(fā)嚴(yán)重。因?yàn)檫@些新的開發(fā)模式有一個(gè)共同點(diǎn),就是要縮短產(chǎn)品的交付周期,對(duì)自動(dòng)化的要求越來(lái)越高,能夠?qū)iT留給傳統(tǒng)豎井流程中測(cè)試環(huán)節(jié)的時(shí)間越來(lái)越短,自然更難保證質(zhì)量。在極端的情況下,比如在持續(xù)部署的模式下,所有測(cè)試都是自動(dòng)化的,已經(jīng)完全沒(méi)有留給測(cè)試人員專門進(jìn)行手工測(cè)試的時(shí)間了。與此同時(shí),測(cè)試的能力和質(zhì)量又是這些開發(fā)模式成功的關(guān)鍵。否則,即使可以頻繁地構(gòu)建產(chǎn)品,質(zhì)量不過(guò)關(guān)價(jià)值也為零。所以,在快速開發(fā)模式的挑戰(zhàn)下,測(cè)試左移、測(cè)試右移就應(yīng)運(yùn)而生了。這些測(cè)試模式,能讓測(cè)試人員擁有更多主動(dòng)權(quán),以及更多的時(shí)間進(jìn)行測(cè)試。

那,到底什么是測(cè)試左移和測(cè)試右移呢?

什么是測(cè)試左移和測(cè)試右移?
測(cè)試左移和右移,就是把測(cè)試的范圍從傳統(tǒng)測(cè)試的節(jié)點(diǎn)中釋放出來(lái),向左和右擴(kuò)展。

向左擴(kuò)展,就是讓測(cè)試介入代碼提測(cè)之前的部分。比如,擴(kuò)展到開發(fā)階段,在架構(gòu)設(shè)計(jì)時(shí)就考慮產(chǎn)品的可測(cè)試性,并盡量進(jìn)行開發(fā)自測(cè)等。另外,測(cè)試可以更進(jìn)一步擴(kuò)展到需求評(píng)審階段,讓測(cè)試人員不只是了解需求,更要評(píng)估需求的質(zhì)量,比如分析需求的合理性以及完整性等。

類似的,測(cè)試右移,是讓測(cè)試介入代碼提測(cè)之后的部分。比如,測(cè)試人員在產(chǎn)品上線過(guò)程中,利用線上的真實(shí)環(huán)境測(cè)試。另外產(chǎn)品上線之后,測(cè)試人員仍然介入,通過(guò)線上監(jiān)控和預(yù)警,及時(shí)發(fā)現(xiàn)問(wèn)題并跟進(jìn)解決,將影響范圍降到最低。這樣一來(lái),測(cè)試人員不但有更多的時(shí)間進(jìn)行測(cè)試,還能發(fā)現(xiàn)在非生產(chǎn)環(huán)境中難以發(fā)現(xiàn)的問(wèn)題。

測(cè)試左移的原則和實(shí)踐
調(diào)整團(tuán)隊(duì)對(duì)測(cè)試的態(tài)度;
把測(cè)試添加到開發(fā)和產(chǎn)品需求步驟中;
頻繁測(cè)試,快速測(cè)試。

測(cè)試左移原則一:調(diào)整團(tuán)隊(duì)對(duì)測(cè)試的態(tài)度

調(diào)整團(tuán)隊(duì)對(duì)測(cè)試的態(tài)度,打破豎井的工作方式,是測(cè)試左移的前提。一個(gè)有效的辦法是,按照功能的維度管理團(tuán)隊(duì),讓整個(gè)功能團(tuán)隊(duì)對(duì)產(chǎn)品負(fù)責(zé)。也就是說(shuō),如果產(chǎn)品質(zhì)量出現(xiàn)問(wèn)題,不只是測(cè)試團(tuán)隊(duì)“背鍋”,而是會(huì)影響整個(gè)功能團(tuán)隊(duì)的績(jī)效。同時(shí),讓質(zhì)量問(wèn)題的直接責(zé)任人承擔(dān)更多的責(zé)任,來(lái)進(jìn)一步增強(qiáng)團(tuán)隊(duì)成員的責(zé)任心。這種利益綁定的辦法,雖然簡(jiǎn)單但非常有效,只不過(guò)出現(xiàn)質(zhì)量問(wèn)題時(shí)要記得進(jìn)行根因分析,以避免再次出現(xiàn)類似問(wèn)題。

另外,還要改變團(tuán)隊(duì)成員對(duì)測(cè)試工作的認(rèn)知。傳統(tǒng)的工作方式中,我們通常認(rèn)為發(fā)現(xiàn) Bug 最重要,但其實(shí)為了提高產(chǎn)品質(zhì)量,更重要的是預(yù)防 Bug。所以說(shuō),在測(cè)試左移的過(guò)程中,我們應(yīng)該更聚焦在預(yù)防 Bug 上。

測(cè)試左移原則二:把測(cè)試添加到開發(fā)和產(chǎn)品需求步驟中

測(cè)試左移的第一步,是把測(cè)試工作融入到開發(fā)步驟中。常用的辦法是,讓測(cè)試人員參與到開發(fā)階段的方案設(shè)計(jì)中,了解開發(fā)的實(shí)現(xiàn)方式。因?yàn)楹芏嚅_發(fā)人員可能只熟悉他負(fù)責(zé)的那一部分,而測(cè)試人員往往對(duì)全局更加了解,所以測(cè)試人員要評(píng)估改動(dòng)范圍以及是否有遺漏的模塊和系統(tǒng)。

另外一個(gè)比較徹底,也很有效的方法是全棧開發(fā),通過(guò)運(yùn)維團(tuán)隊(duì)提供工具和支持,讓開發(fā)人員盡量參與到運(yùn)維工作中去。對(duì)于測(cè)試來(lái)說(shuō),也是同樣的道理。我們可以讓測(cè)試團(tuán)隊(duì)轉(zhuǎn)型,進(jìn)行工具開發(fā),并更多地去支持專項(xiàng)測(cè)試,比如性能測(cè)試、安全測(cè)試等,通過(guò)“使能”的辦法,讓開發(fā)人員完成功能測(cè)試,包括單元測(cè)試、集成測(cè)試等。

說(shuō)到讓開發(fā)人員完成部分測(cè)試工作,常常會(huì)聽(tīng)到很多質(zhì)疑聲。反對(duì)者認(rèn)為,測(cè)試人員的心理模型跟開發(fā)人員不一樣,他們更傾向于去找問(wèn)題。而開發(fā)人員面對(duì)自己開發(fā)的產(chǎn)品,潛意識(shí)里就不愿意去找問(wèn)題,比如,他們不愿意專門嘗試各種邊界輸入進(jìn)行測(cè)試,而把自己開發(fā)的功能搞崩潰。所以,開發(fā)人員和測(cè)試人員更適合分開。

這種觀念,在 10 年前瀑布開發(fā)模式盛行時(shí)就深入人心。我曾經(jīng)也非常認(rèn)同,但在 Facebook 工作了 5 年后改變了看法。如果你能夠把開發(fā)人員的責(zé)任界定得很清楚,誰(shuí)開發(fā)的產(chǎn)品誰(shuí)要保證質(zhì)量,那么開發(fā)人員自然而然地就會(huì)去嘗試做好測(cè)試,比如進(jìn)行邊界測(cè)試。而且,開發(fā)人員最了解自己寫的代碼,所以他能夠最高效地對(duì)自己的代碼進(jìn)行測(cè)試。

當(dāng)然,做全棧開發(fā)的同時(shí)我們?nèi)詴?huì)保留一部分功能測(cè)試人員,畢竟從豎井模式轉(zhuǎn)變到全棧模式是一個(gè)循序漸進(jìn)的長(zhǎng)期過(guò)程。不過(guò) Facebook 做到了極致,完全沒(méi)有了功能測(cè)試人員,也就是我們所說(shuō)的“去 QA”。

測(cè)試左移到了開發(fā)階段之后,再往左移一步就到了產(chǎn)品設(shè)計(jì)階段,在這里,測(cè)試人員除了解需求外,更重要的是評(píng)估需求的質(zhì)量。

我推薦使用 BDD(Behavior Driven Development,行為驅(qū)動(dòng)開發(fā))的方法進(jìn)行開發(fā),促進(jìn)團(tuán)隊(duì)在需求評(píng)審時(shí)更多地考慮測(cè)試。BDD 是通過(guò)特定的框架,用自然語(yǔ)言或類自然語(yǔ)言,按照編寫用戶故事或者用例的方式,從功能使用者的視角描述并編寫測(cè)試用例,從而讓業(yè)務(wù)人員、開發(fā)人員和測(cè)試人員著眼于代碼要實(shí)現(xiàn)的業(yè)務(wù)行為,并以此為依據(jù)通過(guò)測(cè)試用例進(jìn)行驗(yàn)證。

測(cè)試左移原則三:頻繁測(cè)試,快速測(cè)試

測(cè)試左移的第三個(gè)重要原則是,頻繁測(cè)試、快速測(cè)試。在測(cè)試左移之前,我們需要等待提測(cè),比較被動(dòng),不能頻繁測(cè)試。但測(cè)試左移到開發(fā)階段之后,我們就有了很大的自由度去頻繁運(yùn)行測(cè)試,從而更好地發(fā)揮測(cè)試的作用,盡早發(fā)現(xiàn)更多的問(wèn)題。

這里最重要的方法就是,我在講持續(xù)開發(fā)時(shí)提到的幾個(gè)關(guān)于驗(yàn)證的操作,具體包括:

規(guī)范化、自動(dòng)化化本地檢查;
建設(shè)并自動(dòng)化代碼入庫(kù)前的檢查流程;
提供快速反饋,促進(jìn)增量開發(fā)。

另外,為了能夠順利、頻繁地運(yùn)行測(cè)試,我們還要提升測(cè)試運(yùn)行的速度。給測(cè)試提速的常見(jiàn)辦法包括:
并行運(yùn)行。比如把測(cè)試用例放到多臺(tái)機(jī)器上運(yùn)行,用資源換時(shí)間。
提高構(gòu)建速度。比如使用精準(zhǔn)構(gòu)建,因?yàn)橥ǔ?gòu)建之后才能運(yùn)行測(cè)試。
精準(zhǔn)測(cè)試,也就是只運(yùn)行跟改動(dòng)最相關(guān)的測(cè)試??梢越⑿枨笈c代碼的關(guān)系,以及需求與測(cè)試用例的關(guān)系,從而在代碼改動(dòng)時(shí)重點(diǎn)關(guān)注與之最相關(guān)的測(cè)試用例。
分層測(cè)試,即不同情況運(yùn)行不同測(cè)試用例集合。
減少不必要的用例。比如,識(shí)別不穩(wěn)定的用例,對(duì)其刪除或者優(yōu)化。


    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多