在app功能測試中,常用的測試方法可分為黑盒測試方法(不關(guān)注代碼邏輯,僅驗證功能輸出)和基于場景的測試策略。
?
那么,大家知道有哪些常用app功能測試方法嗎?
一、等價類劃分法
原理:將輸入數(shù)據(jù)劃分為有效等價類(合理數(shù)據(jù))和無效等價類(異常數(shù)據(jù)),每組選一個代表值測試,避免重復(fù)。
應(yīng)用場景:
輸入框校驗:如手機(jī)號需 11 位數(shù)字。
有效等價類:138 開頭的 11 位數(shù)字(如 13812345678)。
無效等價類:10 位數(shù)字(如 1381234567)、含字母(如 138abc56789)。
年齡輸入:限制 18-60 歲。
有效等價類:25 歲、59 歲。
無效等價類:17 歲、61 歲、負(fù)數(shù)(-5)。
優(yōu)勢:用較少測試數(shù)據(jù)覆蓋
較多場景,提升效率。
二、邊界值分析法
原理:聚焦輸入數(shù)據(jù)的邊界點(diǎn)(如
較大值、
較小值、剛好超過邊界的值),驗證系統(tǒng)是否正確處理。
應(yīng)用場景:
字符長度限制:用戶名
較多 20 字。
測試點(diǎn):20 字(邊界值)、21 字(超過邊界)、19 字(正常)。
金額范圍:充值金額 1-1000 元。
測試點(diǎn):1 元(
較小值)、1000 元(
較大值)、0 元(無效
較小值)、1001 元(無效
較大值)。
關(guān)鍵原則:邊界點(diǎn) ±1 的數(shù)值必測,如 “≥18 歲” 需測 18 歲和 17 歲。
三、因果圖 / 判定表法
原理:通過 “因果圖” 分析輸入條件的組合關(guān)系及其導(dǎo)致的輸出結(jié)果,轉(zhuǎn)化為 “判定表” 窮舉所有組合。
應(yīng)用場景:多條件組合觸發(fā)不同邏輯的場景(如權(quán)限設(shè)置、優(yōu)惠規(guī)則)。
案例:電商 App 優(yōu)惠券使用條件:
輸入條件:
條件 1:訂單金額≥200 元(是 / 否)。
條件 2:用戶等級≥VIP2(是 / 否)。
條件 3:優(yōu)惠券未過期(是 / 否)。
輸出結(jié)果:
結(jié)果 1:允許使用優(yōu)惠券。
結(jié)果 2:提示 “條件不滿足”。
四、場景法(流程分析法)
原理:模擬用戶真實使用路徑,設(shè)計正向場景(正常流程)和逆向場景(異常流程)。
應(yīng)用場景:覆蓋完整業(yè)務(wù)流程,如注冊登錄、支付、社交互動。
案例:社交 App 添加好友流程:
正向場景:
搜索用戶名→點(diǎn)擊 “添加好友”→對方同意→好友列表顯示。
逆向場景:
搜索不存在的用戶名→提示 “用戶未注冊”;
發(fā)送好友請求后對方拒絕→狀態(tài)顯示 “請求已拒絕”。
關(guān)鍵步驟:
繪制業(yè)務(wù)流程圖,標(biāo)注主流程和分支流程。
為每個節(jié)點(diǎn)設(shè)計成功 / 失敗場景,確保流程閉環(huán)。
五、錯誤猜測法(探索性測試)
原理:基于測試經(jīng)驗和直覺,主動猜測可能的錯誤點(diǎn),針對性設(shè)計測試用例。
應(yīng)用場景:
歷史缺陷復(fù)現(xiàn):參考過往版本中高頻缺陷(如某機(jī)型按鈕點(diǎn)擊無響應(yīng))。
非常規(guī)操作:
快速連續(xù)點(diǎn)擊按鈕(如多次提交表單),驗證防重復(fù)機(jī)制。
在輸入框中粘貼大段文本(如 5000 字),測試性能和截斷邏輯。
邊界場景:
系統(tǒng)時間修改為未來 / 過去日期,測試時效性功能(如倒計時活動)。
賬號同時在多設(shè)備登錄,驗證會話管理是否沖突。
優(yōu)勢:彌補(bǔ)常規(guī)方法的盲區(qū),發(fā)現(xiàn)偶發(fā)或邏輯隱蔽的缺陷。
六、正交試驗法(統(tǒng)計抽樣)
原理:使用正交表從大量輸入組合中選取代表性樣本,以
較少測試次數(shù)覆蓋主要影響因素。
應(yīng)用場景:輸入條件多(≥5 個)且組合爆炸的場景(如個性化設(shè)置、推薦算法參數(shù))。
案例:測試視頻 App 播放清晰度與網(wǎng)絡(luò)環(huán)境的適配:
因素:
清晰度:標(biāo)清、高清、超清(3 水平)。
網(wǎng)絡(luò):Wi-Fi、4G、弱網(wǎng)(3 水平)。
設(shè)備性能:低端、中端、高端(3 水平)。
正交表選擇:L9 (3?),僅需 9 次測試即可覆蓋主要組合,替代全組合的 27 次測試。
適用場景:當(dāng)窮舉所有組合不現(xiàn)實時,用統(tǒng)計方法平衡效率與覆蓋率。