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