在我們的測(cè)試工作中,是不是經(jīng)常遇到這樣的情形,發(fā)生了線上問(wèn)題,產(chǎn)品、研發(fā)或者測(cè)試同學(xué)一拍腦袋:當(dāng)時(shí)怎么沒(méi)有想到,怎么給漏掉了呢?明明是一個(gè)非常簡(jiǎn)單的事情,用大拇指都能想到的驗(yàn)證場(chǎng)景,為何當(dāng)時(shí)就漏測(cè)了呢?但實(shí)際情況是,逃逸到線上的缺陷,疑難雜癥式的極端異常的問(wèn)題很少,大部分都不復(fù)雜且可以在設(shè)計(jì)和開發(fā)中規(guī)避,或者在測(cè)試過(guò)程中被識(shí)別出來(lái)。針對(duì)此類問(wèn)題,從測(cè)試覆蓋度的角度,本文試圖解釋一下為何會(huì)發(fā)生這樣的事情,以及如何有效規(guī)避。
一. 為什么經(jīng)常會(huì)發(fā)生測(cè)試場(chǎng)景覆蓋不全的問(wèn)題
高質(zhì)量的測(cè)試覆蓋率是確保產(chǎn)品質(zhì)量和用戶體驗(yàn)的關(guān)鍵因素,但為何會(huì)經(jīng)常發(fā)生測(cè)試場(chǎng)景覆蓋不全的問(wèn)題,這里面既有主觀因素的缺失,也有客觀因素的限制,具體包括:
1. 主觀原因
?粗心大意:認(rèn)為需求非常簡(jiǎn)單,沒(méi)有認(rèn)真分析驗(yàn)證場(chǎng)景及異常流程、分支流程,沒(méi)有識(shí)別隱藏的細(xì)節(jié),或者對(duì)于存在的風(fēng)險(xiǎn),存在僥幸心理,不去進(jìn)一步求證或驗(yàn)證。
?經(jīng)驗(yàn)主義:思維固化,認(rèn)為老辦法同樣可以解決新問(wèn)題,沒(méi)有進(jìn)一步思考測(cè)試場(chǎng)景、測(cè)試數(shù)據(jù)、驗(yàn)證方式的不同之處。
?需求理解不充分:測(cè)試用例只覆蓋到了產(chǎn)品PRD里的顯式功能,沒(méi)有覆蓋隱性需求,只進(jìn)行了黑盒測(cè)試或者黑盒測(cè)試覆蓋的場(chǎng)景不足。
?業(yè)務(wù)知識(shí)不足:只看到了需求本身,沒(méi)有看到背后隱藏的業(yè)務(wù)的真正訴求,知其然不知其所以然。
?開發(fā)知識(shí)欠缺:無(wú)法熟讀代碼,無(wú)法通過(guò)參加代碼評(píng)審識(shí)別出研發(fā)代碼改動(dòng)之處及可能影響的范圍,望碼興嘆,無(wú)法熟練進(jìn)行白盒測(cè)試,或者自動(dòng)化測(cè)試代碼健壯性較差,無(wú)法起到自動(dòng)化回歸的作用。
?信息互通不到位:與項(xiàng)目組其他成員溝通不到位,遺漏重要信息或沒(méi)有對(duì)齊顆粒度,你以為的實(shí)際不是你以為,導(dǎo)致遺漏重要驗(yàn)證場(chǎng)景。
?用例顆粒度太大:編寫用例的過(guò)程也是自己梳理信息的過(guò)程,用例顆粒度大,自然梳理的過(guò)程就不會(huì)太精細(xì),自然遺漏驗(yàn)證場(chǎng)景的幾率就會(huì)更大(雖然探索式測(cè)試的理念是不要求編寫詳細(xì)的測(cè)試用例,而是在測(cè)試過(guò)程中不斷調(diào)整、優(yōu)化或細(xì)化,但很多需求不太適合探索式測(cè)試,這些需求要求快速上線,排期被嚴(yán)重?cái)D壓,很難有充足的時(shí)間進(jìn)行探索式測(cè)試)。
?測(cè)試專業(yè)技能薄弱:測(cè)試專業(yè)技能、經(jīng)驗(yàn)不足,力所不及,自然無(wú)法保證測(cè)試的充分性及驗(yàn)證場(chǎng)景的全面性。
2. 客觀原因
?項(xiàng)目周期緊湊:目前很多需求都無(wú)法按照研發(fā)測(cè)試的正常排期進(jìn)行交付,倒排期和趕工是常態(tài),測(cè)試很難有充分的時(shí)間思考驗(yàn)證場(chǎng)景,新功能的測(cè)試往往只能覆蓋主要路徑,而忽略了一些邊界情況和異常場(chǎng)景。
?需求變更頻繁:迭代快、變更快也是產(chǎn)品常態(tài),往往一期還沒(méi)有上線,二期三期就要評(píng)審了,沒(méi)有經(jīng)過(guò)線上真實(shí)環(huán)境、數(shù)據(jù)和客戶的反饋,產(chǎn)品方案、技術(shù)方案存在的缺陷可能無(wú)法暴露和識(shí)別。
?投放渠道眾多:尤其是針對(duì)C端用戶的拉新和促活活動(dòng),投放渠道非常多,涉及到不同的承接環(huán)境,如App環(huán)境(iOS、安卓、鴻蒙)、H5環(huán)境、小程序環(huán)境,同時(shí)涉及到不同設(shè)備、不同環(huán)境、不同操作系統(tǒng)版本、不同瀏覽器的打開、回流、引導(dǎo)下載等操作,兼容性測(cè)試覆蓋不足可能導(dǎo)致無(wú)法識(shí)別到特定設(shè)備下的功能或體驗(yàn)問(wèn)題。
?流量情況懸殊:各個(gè)投放渠道流量差異較大,若上線前沒(méi)有對(duì)各渠道的流量有充分的預(yù)估,沒(méi)有進(jìn)行壓測(cè),在高并發(fā)、大數(shù)據(jù)量或復(fù)雜業(yè)務(wù)場(chǎng)景下,性能問(wèn)題可能無(wú)法被及時(shí)發(fā)現(xiàn),從而導(dǎo)致線上問(wèn)題。
?測(cè)試環(huán)境仿真度低:目前很多系統(tǒng)之間存在測(cè)試環(huán)境未打通、測(cè)試環(huán)境數(shù)據(jù)不全等問(wèn)題,導(dǎo)致測(cè)試環(huán)境的仿真度較低,可能出現(xiàn)測(cè)試環(huán)境無(wú)法模擬真實(shí)環(huán)境或測(cè)試環(huán)境無(wú)法覆蓋全部驗(yàn)證場(chǎng)景的情況。
二. 如何提升測(cè)試覆蓋度
為了盡量避免因測(cè)試場(chǎng)景覆蓋不足所導(dǎo)致的線上問(wèn)題,需要針對(duì)以上客觀和主觀原因進(jìn)行分析,并制定行之有效的對(duì)策。總結(jié)來(lái)說(shuō),在測(cè)前、測(cè)中及測(cè)后,提升"內(nèi)因",把控“外因”,避免“三拍”。
??
?
1. 內(nèi)因
提升測(cè)試覆蓋度,“內(nèi)因”是關(guān)鍵,即可以通過(guò)積極的質(zhì)量策略以及專業(yè)能力的提升,大大減少測(cè)試覆蓋度不足的情況。
?測(cè)前:充分理解,不盲目拍胸脯保證。
?測(cè)試工作不是始于測(cè)試執(zhí)行之時(shí),而應(yīng)前置到需求階段,測(cè)試同學(xué)應(yīng)具備基本的業(yè)務(wù)Know-How,充分理解業(yè)務(wù)邏輯及研發(fā)邏輯,面對(duì)具體的業(yè)務(wù)需求,不僅停留在功能實(shí)現(xiàn)層面,更應(yīng)理解此需求背后的業(yè)務(wù)訴求。在前置編寫及評(píng)審測(cè)試用例的時(shí)候,與產(chǎn)品、研發(fā)充分溝通產(chǎn)品邏輯及技術(shù)實(shí)現(xiàn)方案是否與業(yè)務(wù)邏輯及真正的業(yè)務(wù)訴求保持一致,充分討論業(yè)務(wù)風(fēng)險(xiǎn)和技術(shù)風(fēng)險(xiǎn)。總之,絕不能不求甚解、掉以輕心,應(yīng)不懂就問(wèn),多溝通,多討論風(fēng)險(xiǎn),敢于發(fā)問(wèn),敢于質(zhì)疑。
?在測(cè)試專業(yè)能力方面,采用靈活的質(zhì)量策略,如進(jìn)行代碼覆蓋率分析,實(shí)施精準(zhǔn)測(cè)試和探索式測(cè)試,維護(hù)貼近生產(chǎn)的測(cè)試環(huán)境和測(cè)試數(shù)據(jù)、更高覆蓋率的的自動(dòng)化測(cè)試,以及適合業(yè)務(wù)特點(diǎn)的測(cè)試工具等等。
?測(cè)中:充分識(shí)別,不草率拍腦袋決策。按照我們前置測(cè)試用例的邏輯,大部分需求的測(cè)試用例在開發(fā)階段或開發(fā)之前就已經(jīng)編寫并評(píng)審?fù)戤叄S著交付進(jìn)度的進(jìn)行,各方對(duì)需求的理解不斷加深,即使進(jìn)入到測(cè)試階段,仍可能會(huì)識(shí)別出新的范圍、風(fēng)險(xiǎn)或問(wèn)題,因此,應(yīng)不斷就驗(yàn)證范圍、風(fēng)險(xiǎn)、異常場(chǎng)景等進(jìn)行確認(rèn),并標(biāo)注出核心驗(yàn)證點(diǎn)以及測(cè)試過(guò)程中可能存在的問(wèn)題和風(fēng)險(xiǎn),及時(shí)調(diào)整和改進(jìn)測(cè)試策略。還應(yīng)共識(shí)雙向的影響范圍,即該需求是否影響了其他業(yè)務(wù)功能或技術(shù)模塊,其他功能或技術(shù)模塊是否影響該需求。
?測(cè)后:充分總結(jié),不驚慌拍大腿懊悔。測(cè)試完成并上線不是終點(diǎn),除了配合業(yè)務(wù)進(jìn)行線上驗(yàn)證及觀察線上數(shù)據(jù)、進(jìn)行線上巡檢之外,還應(yīng)花點(diǎn)時(shí)間回顧一下交付的過(guò)程,總結(jié)經(jīng)驗(yàn)教訓(xùn),主動(dòng)分享。對(duì)于核心的用例,看能否沉淀為自動(dòng)化的回歸及巡檢用例。萬(wàn)一出現(xiàn)了線上問(wèn)題,先盡快恢復(fù)業(yè)務(wù),再分析原因,進(jìn)行復(fù)盤,總結(jié)教訓(xùn)和改進(jìn)方案。
2. 外因
提升測(cè)試覆蓋度,“外因”是基礎(chǔ),即通過(guò)流程機(jī)制的約束及全流程的質(zhì)量把控、層層把關(guān)、互相補(bǔ)位,從機(jī)制上降低測(cè)試場(chǎng)景遺漏發(fā)生的概率。通過(guò)規(guī)范化的質(zhì)量活動(dòng)對(duì)需求交付的各個(gè)階段進(jìn)行質(zhì)量準(zhǔn)入和準(zhǔn)出,步步為營(yíng),形成強(qiáng)制性的“七道關(guān)卡”,即上圖所示的用例前置、單元測(cè)試、冒煙演示、測(cè)試執(zhí)行、產(chǎn)品驗(yàn)證、運(yùn)營(yíng)驗(yàn)收及線上灰度驗(yàn)證。嚴(yán)格遵守這套流程機(jī)制,上一道關(guān)卡遺漏下來(lái)的問(wèn)題,大概率會(huì)在后面的關(guān)卡被識(shí)別出來(lái),因此,遺漏驗(yàn)證場(chǎng)景的從而導(dǎo)致缺陷逃逸到線上的概率會(huì)被大大降低。(關(guān)于本段內(nèi)容,可以參閱《產(chǎn)品需求交付質(zhì)量保證的“七重門”》)。
?
總結(jié)一下,針對(duì)如何提升測(cè)試覆蓋度,“內(nèi)因”是關(guān)鍵,基本可以解決上述“主觀原因”導(dǎo)致的測(cè)試覆蓋不足的問(wèn)題,“外因”是基礎(chǔ),基本可以解決上述“客觀原因”導(dǎo)致的測(cè)試場(chǎng)景覆蓋不足的問(wèn)題。
三. 綜述
總結(jié)來(lái)說(shuō),防止線上問(wèn)題不能停留在口頭上,或者簡(jiǎn)單粗暴地要求測(cè)試同學(xué)提升測(cè)試覆蓋度,應(yīng)該給與更加具體的要求、指導(dǎo)及評(píng)價(jià)的標(biāo)準(zhǔn)。其關(guān)鍵要素是流程機(jī)制確保基本的質(zhì)量,專業(yè)能力進(jìn)一步提升質(zhì)量,主觀能動(dòng)性構(gòu)建持續(xù)的高質(zhì)量,只有不斷提升“內(nèi)因”并把控好“外因”,才能有效防范“漏測(cè)”問(wèn)題的發(fā)生,持續(xù)交付穩(wěn)定可靠的產(chǎn)品,并提供更好的用戶體驗(yàn)。
審核編輯 黃宇
-
測(cè)試
+關(guān)注
關(guān)注
8文章
5628瀏覽量
128294 -
仿真
+關(guān)注
關(guān)注
51文章
4236瀏覽量
135299
發(fā)布評(píng)論請(qǐng)先 登錄
一個(gè)優(yōu)秀的射頻測(cè)試工程師需要具備哪些技能?

如何在Visual Studio 2022中運(yùn)行FX3吞吐量基準(zhǔn)測(cè)試工具?
全自動(dòng)框架壽命測(cè)試機(jī)6大突破,助力騰方提升工作效率和提高產(chǎn)品質(zhì)量

使用高速ADC工作中遇到兩個(gè)很關(guān)鍵的問(wèn)題求解答
如何測(cè)試諧波減速器的性能
芯科科技Z-Wave設(shè)備測(cè)試工具介紹

Web端TCP/UDP測(cè)試工具!小白必學(xué)~

嵌入軟件單元/集成測(cè)試工具專業(yè)分析
CAN總線測(cè)試工具選擇與使用
TAS5805的PWM頻率工作中768K,如果設(shè)定到384K,功耗會(huì)降低嗎?能否這樣進(jìn)行調(diào)整?
氣密性檢測(cè):為什么在負(fù)壓測(cè)試中泄漏量是正值,什么時(shí)候出現(xiàn)負(fù)值

新品發(fā)布 | 多通道車載以太網(wǎng)仿真測(cè)試工具

評(píng)論