為什么要設(shè)計(jì)用例?
作為質(zhì)量保證(QA)人員,設(shè)計(jì)測試用例的重要性不亞于開發(fā)人員編寫技術(shù)實(shí)現(xiàn)方案。如果實(shí)現(xiàn)方案設(shè)計(jì)不周,編碼階段將可能遇到許多問題;同理,如果我們未能設(shè)計(jì)測試用例,產(chǎn)品質(zhì)量就難以得到充分保障。
對于不同的測試類型,我們在設(shè)計(jì)測試用例時(shí)候的側(cè)重點(diǎn)和顆粒度有所不同。
設(shè)計(jì)測試用例的目的,個(gè)人觀點(diǎn)認(rèn)為主要有如下幾點(diǎn)原因:
方便測試活動開展
我們心中一定需要有質(zhì)量和效率的意識。我們工作的核心是以更高的效率保證交付產(chǎn)出物的質(zhì)量,這也是是所有測試工作的最終目標(biāo)。
在實(shí)際工作實(shí)踐中,絕大多數(shù)的測試工作都是圍繞測試用例展開的。例如測試用例評審、冒煙測試、提測檢查、用例執(zhí)行、缺陷提交、缺陷跟蹤和修復(fù)驗(yàn)證,直到最終線上發(fā)布。每個(gè)階段都有對應(yīng)的測試用例、腦圖、測試點(diǎn)或者checklist。
保證業(yè)務(wù)場景覆蓋
軟件測試工作的核心是通過設(shè)計(jì)各種場景并進(jìn)行校驗(yàn),以確保交付的軟件符合預(yù)期設(shè)計(jì)結(jié)果。無論是采用功能測試中的等價(jià)類、邊界值、正交、因果圖等用例設(shè)計(jì)方法,還是自動化測試中的分層概念,都是為了通過特定的方法和手段盡可能地保障業(yè)務(wù)場景的覆蓋率,避免因遺漏而導(dǎo)致問題逃逸到線上,從而影響最終交付產(chǎn)出物的質(zhì)量。
我們的目標(biāo)是通過精心設(shè)計(jì)的測試策略和全面的測試覆蓋,確保軟件功能的穩(wěn)定性、一致性和可靠性。
質(zhì)量管控和評估
隨著團(tuán)隊(duì)對質(zhì)量的重視,開始對需求質(zhì)量、研發(fā)質(zhì)量、發(fā)布質(zhì)量等進(jìn)行質(zhì)量評估,通過一系列的手段和策略去提升各個(gè)方面的質(zhì)量,達(dá)到最終交付質(zhì)量。
測試用例是研發(fā)過程質(zhì)量中的重要組成部分,可以說是研發(fā)過程中各項(xiàng)測試工作的核心。
我們習(xí)慣以多維度的視角,運(yùn)用各種測試技術(shù)手段來檢驗(yàn)軟件是否滿足預(yù)期,都是為了驗(yàn)證和確保交付質(zhì)量。同時(shí),我們也嚴(yán)格遵循流程規(guī)范和度量標(biāo)準(zhǔn),以保證最終交付的產(chǎn)品達(dá)到標(biāo)準(zhǔn)。
例如我們想要度量研發(fā)提測質(zhì)量,通過單元測試、代碼掃描、冒煙測試的手段,制定對應(yīng)的度量標(biāo)準(zhǔn)如單元測試覆蓋率、冒煙用例通過率、提測退回率、代碼質(zhì)量分等。
這里面我們有些可能不是完整的用例,但是會是一些檢查點(diǎn)、度量指標(biāo)。
如何設(shè)計(jì)自動化測試用例?
自動化測試的分層模型,我們應(yīng)該已經(jīng)很熟悉了,按照分層測試?yán)砟?,自動化測試的投入產(chǎn)出應(yīng)該是一個(gè)金字塔模型。越是向下,投入/產(chǎn)出比就越高,但開展的難易程度/成本和技術(shù)要求就越高。
分層自動化具體參考前面文章分層自動化測試的實(shí)戰(zhàn)思考
Unit 自動化
單元測試(unit testing) 是指對軟件中的最小可測試單元進(jìn)行檢查和驗(yàn)證。最初由開發(fā)人員完成,旨在確保其所負(fù)責(zé)的環(huán)節(jié)交付的產(chǎn)出物符合進(jìn)入下一階段的標(biāo)準(zhǔn)。
對于單元測試,我認(rèn)為測試人員應(yīng)該參與其中,共同協(xié)作進(jìn)行測試和驗(yàn)證,以盡早發(fā)現(xiàn)問題。具體執(zhí)行者主要是開發(fā)人員,但如果測試人員有能力、時(shí)間和精力,他們也可以參與其中的一部分。在設(shè)計(jì)單元測試用例和執(zhí)行方面,可以考慮如下幾點(diǎn):
? 測試人員和開發(fā)人員分清楚職責(zé)和邊界
? 測試人員和開發(fā)人員對于用例設(shè)計(jì)顆粒度達(dá)成共識,給出相關(guān)標(biāo)準(zhǔn)
? 劃定業(yè)務(wù)范圍、優(yōu)先級、實(shí)施階段和執(zhí)行頻率
? 測試人員和開發(fā)人員制定的度量標(biāo)準(zhǔn)需要達(dá)成共識,如覆蓋率、通過率、阻礙bug數(shù)等
API 自動化
從測試分層金字塔模型來說,API自動化測試是性價(jià)比最高的一種測試手段。在設(shè)計(jì)用例時(shí)需要如下思考:
? 確定要開展API自動化測試的業(yè)務(wù)范圍
? 針對業(yè)務(wù)范圍內(nèi)的接口進(jìn)行優(yōu)先級排序
? 優(yōu)先保障正向業(yè)務(wù)場景覆蓋,逆向場景后面再進(jìn)行考慮
? 明確 API 接口相關(guān)基礎(chǔ)信息,如接口參數(shù)、業(yè)務(wù)邏輯及數(shù)據(jù)落庫等信息
? 優(yōu)先保證單接口進(jìn)行,再考慮對接口串聯(lián)的場景化
UI 自動化
先說 UI 自動化用例設(shè)計(jì)之前,我們聊聊哪些項(xiàng)目、場景適合開展 Ui 自動化測試,我們需要考慮如下情況:
? 需求比較穩(wěn)定,不會頻繁變更
? 比較頻繁的回歸驗(yàn)證和執(zhí)行
? UI界面穩(wěn)定,變動少
? 軟件維護(hù)周期長,可持續(xù)性
? 項(xiàng)目進(jìn)度時(shí)間比較充裕
? 被測系統(tǒng)開發(fā)較為規(guī)范,可開展性高
? 存在比較好的基礎(chǔ)設(shè)施
UI層是直接面向用戶的入口,我們的業(yè)務(wù)功能測試工作主要集中在這一層。在進(jìn)行UI自動化時(shí),應(yīng)針對性評估和篩選適合的業(yè)務(wù)場景來設(shè)計(jì)用例。然而在實(shí)際工作實(shí)踐中,很難完全滿足上述條件。
一般來說只要滿足下面幾點(diǎn),就可以開展UI自動化測試:
需求穩(wěn)定,不會頻繁變更
UI自動化測試面臨的主要挑戰(zhàn)是需求和UI的頻繁變化。為適應(yīng)新的改動,腳本需要不斷修改和擴(kuò)展,過多的修改可能導(dǎo)致投入產(chǎn)出比低,從而降低UI自動化測試的價(jià)值和意義。一種妥協(xié)的辦法是選擇相對穩(wěn)定的模塊和功能進(jìn)行自動化測試,而對于變動較大或需求頻繁變更的部分,則采用手動回歸。
比較頻繁的回歸驗(yàn)證和執(zhí)行
測試數(shù)據(jù)、測試用例、自動化腳本的復(fù)用高,只有高頻的執(zhí)行才能體現(xiàn)出價(jià)值所在。
軟件維護(hù)周期長,可持續(xù)性
UI自動化測試需要穩(wěn)定的需求、精心設(shè)計(jì)的自動化框架以及花費(fèi)時(shí)間進(jìn)行腳本開發(fā)和調(diào)試,這實(shí)際上是一個(gè)軟件開發(fā)過程。如果項(xiàng)目周期較短且沒有足夠的時(shí)間去支持這一過程,那么自動化測試可能就不再必要。
被測系統(tǒng)UI設(shè)計(jì)較為規(guī)范,可開展性高
主要基于以下幾點(diǎn)進(jìn)行考慮:
? 系統(tǒng)UI的差異,不同的系統(tǒng)UI可能會影響自動化測試的效果和效率
? 測試工具的適應(yīng)性,選擇的工具是否能適應(yīng)項(xiàng)目的需求和環(huán)境
? 測試人員的能力,他們是否能夠快速掌握并應(yīng)用相關(guān)的知識和技術(shù)。
設(shè)計(jì)用例需要注意什么?
我們始終需要遵循小步快跑、逐漸迭代的思維原則,先跑起來,進(jìn)行驗(yàn)證再說。
由易到難,從簡單到復(fù)雜
不同類型的自動化測試用例設(shè)計(jì)和實(shí)施,都是覆蓋范圍越大/粒度越小,投入成本越大, ROI遞減的過程。
在如今的環(huán)境中,大部分企業(yè)都強(qiáng)調(diào)研發(fā)效益的提升和快速迭代的重要性。此時(shí),我們不能再沉溺于“慢工出細(xì)活”的傳統(tǒng)理念,反而應(yīng)著眼于如何在更短的時(shí)間內(nèi),以更低的投入實(shí)現(xiàn)核心場景的全面覆蓋,以達(dá)到快速驗(yàn)證的目標(biāo)。我們要理智地看待覆蓋率、案例數(shù)量等度量指標(biāo),不應(yīng)過分追求這些表面的數(shù)字,而應(yīng)關(guān)注其背后的真實(shí)價(jià)值和意義。
我們千萬不要面向質(zhì)量度量和KPI搞自動化測試,這樣容易因小失大
可監(jiān)控、可確認(rèn)、可評估
在設(shè)計(jì)自動化測試用例時(shí)還應(yīng)注意這些:
? 可監(jiān)控:用例執(zhí)行需要很方便的查看執(zhí)行過程場景,非常清晰的展示相關(guān)數(shù)據(jù)及變化;
? 可確認(rèn):自動化用例必須要有斷言,執(zhí)行完成需要達(dá)到我們的目標(biāo)文章來源:http://www.zghlxwxcb.cn/news/detail-836037.html
? 可評估:自動化執(zhí)行的結(jié)果要可評估,例如通過率為 100%,代表當(dāng)前功能沒有問題文章來源地址http://www.zghlxwxcb.cn/news/detail-836037.html
到了這里,關(guān)于【職場經(jīng)驗(yàn)】關(guān)于自動化用例設(shè)計(jì)的思考的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!