茹炳晟的《軟件測(cè)試52講》01講使用“用戶登錄”測(cè)試的例子,講述通過方法來設(shè)計(jì)測(cè)試用例熟吏。一個(gè)看似簡(jiǎn)單功能距糖,不代表設(shè)計(jì)的測(cè)試用例也簡(jiǎn)單。下面看看作者怎么設(shè)計(jì)“用戶登錄”的測(cè)試用例分俯。(PS:測(cè)試用例太多肾筐,摘記部分測(cè)試用例)
根據(jù)“用戶登錄”功能的需求說明哆料,結(jié)合等價(jià)類劃分和邊界值方法來設(shè)計(jì)的測(cè)試用例缸剪。等價(jià)類劃分和邊界值方法是最常用、最典型的黑盒測(cè)試方法东亦。設(shè)計(jì)測(cè)試用例如下:
- 輸入已注冊(cè)的用戶和輸入正確密碼
- 輸入已注冊(cè)的用戶和輸入錯(cuò)誤密碼
- 輸入錯(cuò)誤的用戶和輸入正確密碼
- 未注冊(cè)的用戶登錄
- 用戶名杏节、密碼為空能否登錄
- 驗(yàn)證碼是否起到驗(yàn)證作用
- 用戶名和密碼是否大寫敏感
- 密碼框是否加密顯示
- 控制用戶和密碼長(zhǎng)度唬渗、用戶名和密碼組成要求
- 用戶登錄成功超時(shí)后,繼續(xù)操作能否會(huì)重定向到登錄頁(yè)面
…………
在這里為了舉例子奋渔,就不一一列出測(cè)試用例镊逝,認(rèn)真閱讀“用戶登錄”需求文檔和業(yè)務(wù)規(guī)則,還能設(shè)計(jì)出更多測(cè)試用例嫉鲸。
一個(gè)質(zhì)量過關(guān)撑蒜、用戶體現(xiàn)好的軟件系統(tǒng),不僅需要顯式功能性需求玄渗,還需要隱式功能性需求座菠。
顯式功能性需求(Funcational requirement)指的是軟件本身需要實(shí)現(xiàn)的具體功能。上面列舉測(cè)試用例按照顯式功能性需求來設(shè)計(jì)藤树。
隱式功能性需求(Non-Funcational requirement):從軟件測(cè)試的維度來看浴滴,非功能性需求主要設(shè)計(jì)安全性、性能以及兼容性三大方面岁钓。這些是決定軟件質(zhì)量的關(guān)鍵因素升略。下面分別描述安全性測(cè)試用例、性能壓力測(cè)試用例和兼容性測(cè)試用例屡限。
用戶登錄安全性測(cè)試用例:
- 用戶密碼后臺(tái)存儲(chǔ)是否加密
- 用戶在網(wǎng)絡(luò)傳輸過程中是否加密
- 用戶Session在有效期內(nèi)是否會(huì)失效
- 用戶名和密碼輸入框中分別輸入“SQL注入攻擊”字符串品嚣,驗(yàn)證系統(tǒng)的頁(yè)面內(nèi)容展示
- 用戶名和密碼的輸入框中分別輸入典型“XSS跨站腳本攻擊”字符串,驗(yàn)證系統(tǒng)行為是否被篡改
- 知道其他用戶的Id钧大,能否查詢其他用戶信息腰根。
……
用戶登錄性能壓力測(cè)試用例:
- 單用戶登錄的響應(yīng)時(shí)間是否小于3秒
- 但用戶登錄時(shí),后臺(tái)請(qǐng)求數(shù)量是否過多拓型。
- 高并發(fā)場(chǎng)景下用戶登錄的響應(yīng)時(shí)間是否小于5秒
- 高并發(fā)場(chǎng)景下服務(wù)端的監(jiān)控指標(biāo)是否符合預(yù)期
- 高集合點(diǎn)并發(fā)場(chǎng)景下额嘿,是否存在資源死鎖和不合理的資源等待
- 長(zhǎng)時(shí)間大量用戶連續(xù)登錄和登出,服務(wù)器端是否存在內(nèi)存泄露劣挫。
用戶登錄兼容性測(cè)試用例:
- 不同瀏覽器下册养,驗(yàn)證登錄頁(yè)面的顯示以及功能正確性。
- 相同瀏覽器的不同版本下压固,驗(yàn)證登錄頁(yè)面的顯示以及功能正確性
- 不同移動(dòng)設(shè)備終端的不同瀏覽器下球拦,驗(yàn)證登錄頁(yè)面的顯示以及功能正確性。
- 不同分辨率的界面下帐我,驗(yàn)證登錄頁(yè)面的顯示以及功能正確性坎炼。
思考1:測(cè)試一個(gè)功能、系統(tǒng)可以遵循作者思路來設(shè)計(jì)測(cè)試用例拦键,從功能測(cè)試谣光、安全性測(cè)試、性能壓力測(cè)試芬为、兼容性測(cè)試來思考萄金。如果是web端測(cè)試蟀悦,還需要增加用戶界面測(cè)試。如果每次測(cè)試都從這些方面散發(fā)思考用例設(shè)計(jì)氧敢,能發(fā)現(xiàn)不一樣缺陷日戈。
上面列出測(cè)試用例,有部分功能點(diǎn)沒有覆蓋到孙乖,是有遺漏的浙炼,測(cè)試是不可窮盡。窮盡測(cè)試是指所有可能輸入值組合的測(cè)試唯袄。
思考2:測(cè)試受到時(shí)間成本和經(jīng)濟(jì)成本限制鼓拧,不可能采用窮盡測(cè)試,采用基于風(fēng)險(xiǎn)驅(qū)動(dòng)的模式越妈,有所側(cè)重選擇測(cè)試功能點(diǎn)和測(cè)試范圍季俩,進(jìn)行等價(jià)類劃分,抽樣選出測(cè)試用例梅掠。在軟件質(zhì)量和測(cè)試成本找個(gè)平衡點(diǎn)酌住。