【软件测试用例篇】
🎉🎉🎉點(diǎn)進(jìn)來你就是我的人了
博主主頁:🙈🙈🙈戳一戳,歡迎大佬指點(diǎn)!
歡迎志同道合的朋友一起加油喔🤺🤺🤺
目錄
1. 測(cè)試用例的概念
2. 設(shè)計(jì)測(cè)試用例的好處
3. 基于需求設(shè)計(jì)測(cè)試用例
3.1 功能性需求
3.2 非功能性需求
4. 設(shè)計(jì)測(cè)試用例的具體方法
4.1 等價(jià)類
4.2 邊界值
4.3 判定表
4.4 正交表
1. 什么是正交表
2. 正交表的兩條性質(zhì):
3. 如何通過正交表設(shè)計(jì)測(cè)試用例?
4.5?場(chǎng)景設(shè)計(jì)法
4.6?錯(cuò)誤猜測(cè)法
5. 測(cè)試用例的萬能公式
1. 測(cè)試用例的概念
測(cè)試用例就是測(cè)試人員向被測(cè)試系統(tǒng)發(fā)起的一組集合,該集合包括測(cè)試環(huán)境,測(cè)試數(shù)據(jù),測(cè)試步驟,預(yù)期結(jié)果
2. 設(shè)計(jì)測(cè)試用例的好處
在測(cè)試前都要先設(shè)計(jì)測(cè)試用例,設(shè)計(jì)測(cè)試用例有如下好處:
測(cè)試用例的編寫往往是根需求編寫的,那么如何根據(jù)需求來編寫測(cè)試用例?
3. 基于需求設(shè)計(jì)測(cè)試用例
在基于需求設(shè)計(jì)測(cè)試用例之前,測(cè)試人員要進(jìn)行如下操作:
在測(cè)試人員分析需求時(shí)往往分析功能性需求和非功能性需求
3.1 功能性需求
功能性需求是為了滿足軟件的基本功能,往往從以下幾個(gè)方面進(jìn)行分析考慮
- 從界面考慮,驗(yàn)證界面功能? ?
比如QQ登陸頁面,有許多的按鈕對(duì)應(yīng)不同的功能
- 從業(yè)務(wù)角度考慮,把功能串起來進(jìn)行測(cè)試
比如增加一條用戶信息,然后是查詢,修改或者刪除
- 驗(yàn)證功能之間的交互性,一致性
比如微信發(fā)朋友圈,你發(fā)送的內(nèi)容要和微信好友在朋友圈看到的一致
- 一個(gè)功能的多個(gè)輸入
比如登陸功能,要使用不同的賬號(hào)和密碼進(jìn)行登陸測(cè)試
- 功能的異常測(cè)試
- 功能的易用性,體驗(yàn)性的測(cè)試
主要是驗(yàn)證用戶在使用上是否符合用戶使用習(xí)慣,使用起來是否舒適等
- 功能涉及的算法
比如滴滴打車,一個(gè)顧客叫了一個(gè)車,系統(tǒng)要根據(jù)某些算法算出距該顧客最近的車
下面讓我們一起來看個(gè)具體的例子:思考一下我們要如何去分析這個(gè)日歷頁面,才能做到毫無保留把相關(guān)功能分析完呢?🤔
答案就是:頁面分析可以從上到下,從左到右,依次去分析每個(gè)測(cè)試點(diǎn)
3.2 非功能性需求
非功能需求是在功能性需求的基礎(chǔ)上做一些限制,滿足特定場(chǎng)景的需求,讓用戶有更好的體驗(yàn),比如軟件的兼容性,性能,安全性,可靠性,可移植性,易用性等
不同的軟件對(duì)于非功能性的需求往往是不同的,如:
- 客戶端的軟件:像word,ppt,xmind,播放器對(duì)功能和要求很簡(jiǎn)單,對(duì)性能,安全性要求比較低,對(duì)軟件的可移植性要求比較高,因?yàn)檫@些不需要聯(lián)網(wǎng)就可以使用
- 企業(yè)軟件:比如聊天軟件,像飛Q,飛書,釘釘,對(duì)功能有一定要求,對(duì)兼容性,安全性,性能要求低,因?yàn)槠髽I(yè)軟件用的用戶比較少
- 商業(yè)軟件:像QQ,微信等,對(duì)功能,性能,安全性,可移植性,易用性要求都很高,因?yàn)樯虡I(yè)軟件使用的用戶基數(shù)大
4. 設(shè)計(jì)測(cè)試用例的具體方法
設(shè)計(jì)測(cè)試用例的常用方法有:等價(jià)類,邊界值,錯(cuò)誤猜測(cè)法,場(chǎng)景設(shè)計(jì)法,因果圖,正交法,下面就對(duì)這幾種常用設(shè)計(jì)測(cè)試用例的常用方法展開具體的介紹
4.1 等價(jià)類
根據(jù)輸入(特殊情況下考慮輸出),把輸入劃分成若干個(gè)等價(jià)類,從每一個(gè)等價(jià)類當(dāng)中取一個(gè)測(cè)試用例進(jìn)行測(cè)試,如果這個(gè)測(cè)試用例通過,我們就說這個(gè)測(cè)試用例代表的等價(jià)類測(cè)試通過
等價(jià)類可以解決測(cè)試用例無法窮舉的情況
等價(jià)類有有效等價(jià)類和無效等價(jià)類
- 有效等價(jià)類:符合需求規(guī)格說明書的數(shù)據(jù)
- 無效等價(jià)類:不符合需求規(guī)格說明書的數(shù)據(jù)
注意:測(cè)試的時(shí)候有效等價(jià)類和無效等價(jià)類都得測(cè)試
示例:注冊(cè)網(wǎng)易郵箱時(shí),針對(duì)郵箱賬號(hào)找到對(duì)應(yīng)的等價(jià)類
等價(jià)類思想設(shè)計(jì)測(cè)試用例步驟:
4.2 邊界值
對(duì)輸入和輸出的邊界針對(duì)性的進(jìn)行測(cè)試用例的設(shè)計(jì),叫作邊界值法
邊界值要取邊界上的值,和邊界左右兩邊的值。
示例:就拿上邊的那個(gè)例子來說,它的有效范圍為6-18位,找出邊界點(diǎn)
注意:邊界值往往和等價(jià)類結(jié)合在一起使用
邊界值設(shè)計(jì)測(cè)試用例方法:
?4.3 判定表
判定表(Decision table)是另一種表達(dá)邏輯判斷的工具。
關(guān)系:
- 與:所有的條件必須滿足,如果一個(gè)條件不滿足,此時(shí)結(jié)果為假
- 或:滿足其中一個(gè)條件結(jié)果就為真,如果條件全部為假,結(jié)果就為假
- 恒等:條件為真,結(jié)果一定為真非:條件為假,結(jié)果才為真
- 非:條件為假,結(jié)果才為真
如何設(shè)計(jì)測(cè)試用例:
?
案例一:
假設(shè)業(yè)務(wù)單據(jù)的處理規(guī)則為:“淘寶618活動(dòng),訂單已提交,訂單合計(jì)金額大于300元或有紅包,則進(jìn)優(yōu)惠”。
1. 對(duì)于這條業(yè)務(wù)規(guī)則,首先通過分析所有可能的輸入和可能的輸出,可以得到如下結(jié)果:
- ?輸入:訂單已提交、金額大于300、有紅包。
- ?輸出:優(yōu)惠、不優(yōu)惠。
2. 找出輸入與輸出之間的對(duì)應(yīng)關(guān)系:
3. 判定表:
?4.?把判定表對(duì)應(yīng)到每一個(gè)測(cè)試用例
判定表的每一列都是一個(gè)測(cè)試用例
?最后之所以寫成這樣,是因?yàn)槲覀兒笃谝槍?duì)這些測(cè)試點(diǎn)補(bǔ)充測(cè)試要素
4.4 正交表
1. 什么是正交表
最簡(jiǎn)單的正交表是L4(23),含意如下:“L”代表正交表;L 下角的數(shù)字“4”表示有 4 橫行,簡(jiǎn)稱行,即要做四次試驗(yàn);括號(hào)內(nèi)的指數(shù)“3”表示有3 縱列,簡(jiǎn)稱列,即最多允許安排的因素是3 個(gè);括號(hào)內(nèi)的數(shù)“2”表示表的主要部分只有2 種數(shù)字,即因素有兩種水平1與2。正交表的特點(diǎn)是其安排的試驗(yàn)方法具有均衡搭配特性。
2. 正交表的兩條性質(zhì):
- 每一列中各數(shù)字出現(xiàn)的次數(shù)都一樣多。
- 任何兩列中的各有序數(shù)對(duì)出現(xiàn)的次數(shù)都一樣多。
3. 如何通過正交表設(shè)計(jì)測(cè)試用例?
繼續(xù)以注冊(cè)的需求為例: 姓名、郵箱、密碼、確認(rèn)密碼、驗(yàn)證碼必須全部輸入,才能進(jìn)行注冊(cè)
- 因素:?姓名、郵箱、密碼、確認(rèn)密碼、驗(yàn)證碼
- 水平: 填寫/不填寫
allpairs畫正交表:allpairs壓縮包百度網(wǎng)盤鏈接(提取碼:e578)
① 將因素和水平放到Excel表格中
?② 將Excel表格內(nèi)容直接復(fù)制到TXT文本中并保存到allpairs路徑下
?
③ cmd進(jìn)入到allpairs安裝路徑下
?④ 生成正交表 (輸入下面指令)
?⑤?將正交表轉(zhuǎn)換成測(cè)試用例 (每一個(gè)橫行就是一個(gè)測(cè)試用例)
?4.5?場(chǎng)景設(shè)計(jì)法
很多軟件不同的場(chǎng)景,是基于不同的事件的觸發(fā)。不同事件的觸發(fā),導(dǎo)致場(chǎng)景走向不同的事件流。不同的功能點(diǎn)串起來形成一個(gè)場(chǎng)景,不同的功能點(diǎn)又有不同的輸出,不同的輸出導(dǎo)致不同的測(cè)試場(chǎng)景。
場(chǎng)景設(shè)計(jì)法中涉及到兩個(gè)概念:基本事件流和備選事件流。用下面的一個(gè)例子進(jìn)行解釋,以去ATM取款機(jī)取款的流程為例
除了基本事件流以外,可能出現(xiàn)的以外情況稱之為備選事件流
如何通過這個(gè)方法設(shè)計(jì)測(cè)試用例:
充分理解需求-> 確定主事件流->確定次事件流->每一個(gè)事件流就是一個(gè)測(cè)試用例
根據(jù)上圖編寫測(cè)試用例:
(1)插卡、輸入密碼、密碼錯(cuò)誤、重置密碼、輸入金額、取鈔、退卡
(2)插卡、輸入密碼、輸入金額、金額不是整數(shù)、重新輸入、取鈔、退卡
…
4.6?錯(cuò)誤猜測(cè)法
錯(cuò)根據(jù)測(cè)試人員的經(jīng)驗(yàn),知識(shí)積累,猜測(cè)某一塊功能有問題,有針對(duì)性的進(jìn)行測(cè)試用例的編寫。類似于探索性測(cè)試,針對(duì)性比較強(qiáng),比較依賴測(cè)試人員個(gè)人的水平。適用于在用例設(shè)計(jì)后,作為補(bǔ)充,加強(qiáng)去設(shè)計(jì)測(cè)試用例。
案例:已注冊(cè)為例
5. 測(cè)試用例的萬能公式
首先,為"水杯"設(shè)計(jì)一個(gè)測(cè)試用例,我們可能會(huì)想到水杯是否可以盛水、水杯是否漏水、水杯攜帶是否方便、水杯是否保溫、水杯的形狀和外觀是否符合用戶預(yù)期…但這些用例是我們想一個(gè)寫一個(gè)的,并不是按照某個(gè)具體步驟詳細(xì)而全面的來設(shè)計(jì)測(cè)試用例。因此學(xué)會(huì)萬能公式對(duì)我們?cè)O(shè)計(jì)測(cè)試用例將很有幫助
測(cè)試用例的萬能公式:功能測(cè)試+性能測(cè)試+界面測(cè)試+兼容性測(cè)試+易用性測(cè)試+安全測(cè)試
- 功能測(cè)試:對(duì)產(chǎn)品的功能設(shè)計(jì)測(cè)試用例(來源是需求文檔/日常生活經(jīng)驗(yàn))
- 性能測(cè)試:功能測(cè)試沒有問題不代表性能好,考慮極端情況(高并發(fā)量、響應(yīng)時(shí)間等)
- 界面測(cè)試:界面中每個(gè)元素的大小、顏色、材質(zhì)、形狀、頁面跳轉(zhuǎn)、文字錯(cuò)別字…都需要進(jìn)行測(cè)試(以界面設(shè)計(jì)圖為依據(jù))
- 兼容性測(cè)試: 軟件的不同版本是否兼容、不同瀏覽器、不同的系統(tǒng)版本、數(shù)據(jù)兼容性…
- 易用性測(cè)試:產(chǎn)品是否具備簡(jiǎn)單易上手的屬性
- 安全測(cè)試:用戶的隱私數(shù)據(jù)是否加密(注冊(cè)賬號(hào)時(shí)賬號(hào)和密碼在接口傳輸時(shí)是否加密)、是否存在SQL注入問題、越權(quán)問題
【SQL注入問題】
select * from info where id=1 or 1=1; 這條SQL語句的結(jié)果是返回所有的用戶信息
【越權(quán)問題】
越權(quán)又分為垂直越權(quán)和水平越權(quán)
垂直越權(quán)是指,比如在一個(gè)教務(wù)系統(tǒng)中,有教師和學(xué)生不同的身份,教師可能有布置作業(yè)的功能,學(xué)生沒有作業(yè)的功能,但如果學(xué)生也能進(jìn)行布置作業(yè),那么這就屬于是垂直越權(quán)
水平越權(quán)是指,學(xué)生有張三和李四,張三不能進(jìn)入到李四的界面中進(jìn)行操作,但如果張三可以操作李四的界面,那這就是水平越權(quán)
在學(xué)完萬能公式之后,借助萬能公式對(duì)"水杯"進(jìn)行設(shè)計(jì)測(cè)試用例
【設(shè)計(jì)測(cè)試用例一定是越多越好嗎?】
不是的,測(cè)試用例能夠提高質(zhì)量覆蓋率才是最好的
總結(jié)
- 上一篇: Windows 语言版本导致CMD %d
- 下一篇: 软件测试用例篇(2)