軟件測試用例_軟件測試用例設計實戰場景法

不點藍字,我們哪來故事??

??????目錄

  • ? ? 場景法

    • 擴展例子

    • 場景法介紹

    • 影子

    • 場景法用例設計舉例

    • 場景法設計用例步驟和表示

    • 場景法舉例

  • ?????總結

  • ? ? ?場景法的注意點

場景法

影子

本來想直接跳過場景法的,今天群友提出問題:1、面試官問:場景法舉例說明,怎么回答?
反正我有點懵,雖然在工作過程中,我一直運用的是場景法,但我說不出場景法的觀點來。2、群友熱心回答:正向流和逆向流,基本流和備選流
然而,我還是非洲問號臉???

場景法介紹

首先上網查資料,給了我一個圖,這個圖是啥啊???場景業務流通常分為基本流、備選流、異常流程889bec735aa61f476790b853d9a5ebca.png
然后看文字:
我先放上查到的定義。·基本流:基本流表示通過業務流程時輸入都正確,能達到目標的流程。

(插卡–》輸入正確密碼–》輸入金額–》取款–》取卡)

備選流:備選流表示通過業務流程時輸入錯誤(或者操作錯誤)導致流程存在反復,但是經過糾正后仍能達到能達到目標的流程
.(插卡–>輸入錯誤密碼–》輸入正確密碼–》輸入金額–》取款–》取卡)

異常流:異常流表示通過業務流程時輸入錯誤(或者操作錯誤)產生異常終止流程?(插卡–>輸入3次錯誤密碼–》吞卡)

結合例子和文字描述就很清楚了:基本流:
業務流程開始——業務流程結束
(1)只有1種情形,中間的所有業務流程也是正確的,最后達到的結果是正確結束,這個場景是一個基線。
舉個例子:就是你從起點開始,一直沿著正確的道路走,最后到達終點。備選流:
(1)業務流程開始——業務流程存在反復——業務流程結束
(2)業務流程開始——業務流程存在反復——業務流程中斷——未結束
舉個例子:
你從起點開始,走到中途走錯了路,但是你認得路,于是沿著新的路線,雖然繞了路,但是最終還是走到了終點
你從起點開始,走到中途走錯了路,但是你不認得路,于是開始探路,但是最終還是沒有走到終點

異常流:
業務流程開始——業務流程中斷——未結束
在這種情況下正確的業務流程沒有走完
舉個例子:
就是你從起點開始,走到中途走錯了路,但是你被困于死迷宮,然后你就一直到不了終點

場景法用例設計舉例

例子舉的有點不是很恰當,但我對場景法很自信,因為我測試的項目天天在用。
一個重要的測試模塊就是登錄,我們的登錄方式是密碼+短信,密碼輸錯5次后賬號會凍結,短信驗證碼有效時間是200s,驗證錯誤超過3次后,短信驗證碼也會失效
我先用文字描述一下基本流:
(1)輸入正確賬號——輸入正確密碼——點擊登錄,獲取短信驗證碼成功——200s內輸入正確短信驗證碼——再次點擊登錄按鈕——登錄成功——返回上次登錄時間和IP——登錄日志記錄正確備選流
(1)輸入正確賬號——輸入四次錯誤密碼——輸入正確密碼——點擊登錄,獲取短信驗證碼成功——200s內輸入正確短信驗證碼——再次點擊登錄按鈕——登錄成功——返回上次登錄時間和IP——登錄日志記錄正確
(2)輸入正確賬號——輸入五次錯誤密碼——輸入正確密碼——點擊登錄,提示賬號已被凍結——登錄失敗——登錄日志記錄正確

異常流
(1)輸入正確賬號——輸入錯誤密碼——登錄失敗——登錄日志記錄正確
(2)輸入凍結賬號——輸入正確密碼——登錄失敗——登錄日志記錄正確

 這里強調一下,場景流梳理實際上是業務的梳理,意味著相關的業務場景必須都考慮進去,真正達到業務流程開始從業務流程結束
實際的業務場景要考慮的更多
區分備選流和異常流主要是看用例結束后業務流程是否是正確結束
  • 1

  • 2

  • 3

場景法設計用例步驟和表示

步驟:
1、首先確定執行用例場景所需的數據元素
2、然后構建矩陣,最后要確定包含執行場景所需的適當條件的測試用例。
在矩陣中,V表示這個條件必須是有效的才可執行基本流,I表示這種條件下將激活所需備選流 ,n/a表示這個條件不適用于測試用例。表示:
每一個場景都需要確定測試用例,一般采用矩陣或決策表來確定和管理測試用例。第一行是測試用例ID、場景/條件、測試用例中涉及的所有數據元素和預期結果。

場景法舉例

【舉例1:】
還是登錄場景,我們的登錄方式是密碼+短信,密碼輸錯5次后賬號會凍結15分鐘,短信驗證碼有效時間是200s,驗證錯誤超過3次后,短信驗證碼也會失效5bc1c252170489f7c35e9fbef16ea76e.png符號定義:
V:Valid
I:Invalid
n/a:Not Applicable涉及到的數據元素
賬號、密碼、短信驗證碼

這里舉的例子比較簡單

擴展例子

游戲簽到場景測試用例
這里先看一下游戲策劃書寫的游戲簽到策劃方案
https://gameinstitute.qq.com/community/detail/111163
其中:附上一個APP的簽到界面acccc46ef281ba2e77104336b6f652bd.png再配上一個游戲的簽到界面。a4c6465f67d9ab1b7122a34c3c23b326.png
1、進入簽到界面,頁面顯示正確和美觀
2、第N(N=1,2,3,4,5,6,7)天簽到,當天簽到狀態變為已簽到,領取當天的簽到獎勵
3、第N(N=1,2,3,4,5,6,7)天沒有簽到,當天簽到狀態變為未簽到,無法領取當天的到獎勵
4、連續M(M=1,2,3,4,5,6,7)天簽到,當天簽到狀態變為已簽到,領取到當天的簽到獎勵和累計的簽到獎勵
5、連續M(M=1,2,3,4,5,6,7)天簽到中斷,當天簽到狀態變為未簽到,無法領取到當天的簽到獎勵和累計的簽到獎勵,重新計算累計簽到時間
6、當天簽到后,領取簽到獎勵,獎勵領取狀態變更正確,文字提示,增加到累計簽到時間
7、獎勵領取成功,獎勵發放的物品種類、數量增加正確,并且領到的物品能夠在游戲內正常的消耗和被使用
8、一天簽到結束后,當天不再顯示簽到界面,如果當天一直不簽到,當天登錄首先進入的是簽到界面
9、一段時間的簽到活動時間(比如:一周)結束后,是否開始新一輪的游戲簽到7天活動
10、簽到的時間規則:在約定時間范圍內簽到,簽到得到今天的獎勵,在約定時間外簽到,可能沒有獎勵(一般情況下,簽到時間范圍和自然日有區別)
11、簽到對所有等級用戶都開放,VIP等級有加倍獎勵

異常場景:
1、連續點擊N次簽到,只領取一次獎勵,
2、多次領取一天簽到、累計簽到獎勵

擴展:補簽功能
1、補簽的天數+實際簽到天數<=最大簽到天數
2、補簽次數限制

其實簽到的這個例子并不是找的特別好,但我覺得有代表性。你們發現沒有:當我把場景法的矩陣順時針旋轉90度時,是不是演化成了判定表,這是因為簽到只有兩種狀態。
但是我覺得你在面試游戲測試的時候,面試官肯定想考察的是你的場景考慮的全不全的問題。也就是文章末尾提到的整體業務感覺的問題。

總結

最后,總結一下場景法和因果圖(用例設計二和三提到的方法)兩種方法的區別和適用范圍。因果圖的分析步驟:
1、在需求規格說明書中找出哪些是輸入條件(原因),哪些是輸出條件(結果)
2、判定表的每一行首寫輸入條件、輸出條件
3、根據原因和結果找對應的邏輯關系,用符號0,1,-分別表示滿足、不滿足和無關,每一列是一個用例

場景法的分析步驟:
1、根據說明,找出基本流
2、根據基本流中不同的數據元素據此找出備選流和異常流
3、根據備選流和異常流構造新的場景

因果圖的適用范圍
因果關系很復雜,用場景法很難找到一個基本流時,不妨關注需求規格說明,找出輸入條件和輸出條件的因果關系,利用因果圖法和判定表反而能快速梳理條件之間的因果關系
eg:上一篇博文中的售貨機就不使用場景法,因為你用場景法很難去構造一個基本流。沒有了基本流作為一個準繩,用場景法構造會很費腦力,而且也很容易忽略條件之間的因果關系

場景法的適用范圍
場景法多用于系統的典型業務和典型功能,首先能很方便的構造一個基本流,因果圖側重因果關系,用0和1區分有效無效的數據元素,不如場景法的矩陣圖來的直觀,也不能窮盡場景法的所有場景
(因為場景法不只有0和1兩種場景,舉個例子:登錄場景賬號狀態的校驗有賬號是否輸入、賬號是否存在、賬號是否過期等校驗,用判定表會增加行數,也不方便于我們理清所有的業務流)

場景法的注意點

注意:
場景法偏重于大的業務流程,目的是用業務流把各個孤立的功能點串起來,所以在用場景法設計用例時,測試人員必須建立整體業務感覺,避免忽略業務流程要點
當然,在整理測試用例的過程中,我們也不要忘記使用等價類和邊界值方法。

最新開班信息:索要課表加微信:18910737736

1、python自動化21期實戰班:年底最后一期,可預約試聽!

2、python測試開發第6期實戰班:年底最后一期,可預約試聽!

3、零基礎轉行軟件測試就業班 11月16日 加開一期,統招本科學員可先就業后收費!

真正的0元入學計劃來了~

4591a71f222c7f3349099f13325ad936.png

44e507823041b9f7fa3949a1f3271ec5.png

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/534779.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/534779.shtml
英文地址,請注明出處:http://en.pswp.cn/news/534779.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

linux下printf語句執行時間,linux下printf中\n刷新緩沖區的疑問(已解決)

#include #include int main(void){ printf("hello world");close(STDOUT_FILENO); return 0;}//什么都不輸出12345678910111234567891011#include #include int main(void){ printf("hello world\n");close(STDOUT_FILENO); …

樹莓派攝像頭_Arducam 8MP重磅來襲,為樹莓派4B構建完全同步的雙攝像頭方案~

大家好&#xff0c;我是小月月。雙目立體景深一直是很熱門的項目&#xff0c;最近已經有不少小伙伴學會在樹莓派上插兩個USB攝像頭了&#xff0c;這個方案可以識別靜態場景中各個物體的距離遠近。但是兩個USB攝像頭捕獲到的兩組圖像序列的時間并不是嚴格同步的&#xff0c;對運…

linux 獲取設備樹源文件(dts)里描述的資源,Linux 獲取設備樹源文件(DTS)里描述的資源...

在linux使用platform_driver_register() 注冊 platform_driver 時&#xff0c; 需要在 platform_driver 的probe() 里面知道設備的中斷號&#xff0c; 內存地址等資源。這些資源的描述信息存放在 resource 數據結構中&#xff0c; 相同的資源存放在一個樹形樹形數據結構中&…

python無法安裝第三方庫read time out_解決pip install的時候報錯timed out的問題

安裝包的時候報錯&#xff0c;執行&#xff1a;pip install pyinstaller問題&#xff1a;File "c:\python\python35\lib\site-packages\pip\_vendor\requests\packages\urllib3\response.py", line 357, in streamdata self.read(amtamt, decode_contentdecode_cont…

嵌入式linux文件系統類型,嵌入式Linux 的Cramfs 根文件系統配置的解決方案

當系統啟動并執行到系統初始化腳本/etc/init.d/rcS 時&#xff0c;mount 命令將/mnt/yaffs 目錄掛載 為ramfs 類型的隨機存儲文件系統&#xff0c;并在此文件系統上建立Qtopia 和Qtopia/tmp 目錄[5]&#xff0c; /Qtopia/tmp 目錄即為應用程序可能對文件系統進行寫操作的臨時文…

python nlp data_Python nlpaug包_程序模塊 - PyPI - Python中文網

NLPAUG這個python庫幫助您為機器學習項目增加nlp。訪問此簡介了解Data Augmentation in NLP。Augmenter是增廣的基本元素&#xff0c;而Flow是將多個增廣器組合在一起的管道。起動指南增強器TargetAugmenterActionDescriptionCharacterRandomAuginsertInsert character randoml…

Linux創始人數據結構,Linux 通用數據結構說明

device_driver include/linux/device.h struct device_driver {const char * name; /* 驅動名稱 */struct bus_type * bus; /* 總線類型 */struct completion unloaded; /* 卸載事件通知機制 */ struct kobject kobj; /* sys 中…

python在瀏覽器運行一片空白_Webdriver啟動Firefox瀏覽器后,頁面顯示空白

在使用pycharm碼代碼時編譯總是出錯&#xff0c;后來驗證發現瀏覽器啟動后出現問題。白白耗了我2個小時。我把我的解決方案寫出來&#xff0c;希望對大家有幫助。1.現象&#xff1a;起初安裝的時候總是能正常運行&#xff0c;有一天突然發現Webdriver打開fFirefox瀏覽器后&…

centos linux7修改主機名,CentOS7操作系統下永久修改主機名

操作系統&#xff1a;CentOS Linux release 7.8任務&#xff1a;修改主機名為sky9899操作步驟如下&#xff1a;[root146 ~]# hostname*.*.*.*.adsl-pool.jx.chinaunicom.com[root146 ~]# hostnamectlStatic hostname: localhost.localdomainTransient hostname: *.*.*.*.adsl-…

稀疏自編碼器_自編碼(AutoEncoder)模型及幾種擴展之二

4. 稀疏自編碼假設我們只有一個沒有類別標簽的訓練樣本集合{x(1),x(2)...},一個自編碼神經網絡就是一種非監督學習算法&#xff0c;它使用BP算法&#xff0c;并將目標值設為&#xff1a; y(i)x(i)。我們的目標是希望得到hW,b(X)≈x。用aj(2)(x)表示輸入向量x對隱藏層單元j的激活…

linux x86 關機 過程,linux在x86上的中斷處理過程(詳細)

Linux在x86上的中斷處理過程一&#xff1a;引言在Intel的文檔中,把中斷分為兩種。一種是異常,也叫同步同斷。一種稱之為中斷,也叫異常中斷。同步中斷指的是由CPU控制單元產生,之所以稱之為同步,是因為只有一條指令執行完畢后才會發出中斷。例如除法運算中,除數為零的時候,就會產…

thymealf 高級用法_Thymeleaf

JSP 已經存在很長時間了&#xff0c;很多公司還在用&#xff0c;它看起來像 HTML&#xff0c;但其實并不是&#xff0c;它有一些缺陷。比如&#xff0c;每個頁面頂部都需要有如下聲明與 Servlet 規范緊密耦合的&#xff0c;依賴 Servlet 容器(意味著無法直接瀏覽效果)。工作過的…

linux 顯卡轉碼,ffmpeg用GPU轉碼

8種機械鍵盤軸體對比本人程序員&#xff0c;要買一個寫代碼的鍵盤&#xff0c;請問紅軸和茶軸怎么選&#xff1f;有些視頻編碼太屌&#xff0c;播放起來對CPU消耗巨大&#xff0c;而在電視上或者電視盒子上看視頻&#xff0c;編碼就需要合適&#xff0c;樓主用的FireTV Stick&a…

ant實例 jmeter_Jmeter+ant搭建環境

1.將jmeter3.3和ant1.9.6放在一個文件夾下2.配置環境a、安裝jdk&#xff0c;配置環境變量變量名&#xff1a; JAVA_HOME變量值&#xff1a; C:\Program Files\Java\jdk1.8.0_91 (即jdk安裝的位置)變量名&#xff1a; Path (這個變量名已在系統變量中存在&#xff0c;現只需在這…

c語言課程設計作業五子棋,C語言課程設計報告五子棋游戲課程設計

C語言課程設計報告五子棋游戲課程設計 C語言課程設計報告_五子棋游戲-課程設計C語言課程設計報告_五子棋游戲|c語言程序代碼編程小程序設計|c語言課程設計報告課程案例**********************************************************//* 本程序在Turbo C或Borland C下編譯通過 */…

sqlmap圖形化_Web安全:SQL注入工具

原標題&#xff1a;Web安全&#xff1a;SQL注入工具SQL注入工具主要是針對Web服務器后臺數據庫的注入&#xff0c;其主要目的是獲取數據庫中的數據。以前常用的SQL注入工具有啊D注入工具及Domain(明小子注入工具)&#xff0c;現在常用的SQL注入工具有HackBar、SQLMap、Pangolin…

在c語言程序中 對文件進行操作首先要,《C語言程序設計》試題八及答案

版權聲明&#xff1a;以上文章中所選用的圖片及文字來源于網絡以及用戶投稿&#xff0c;由于未聯系到知識產權人或未發現有關知識產權的登記&#xff0c;如有知識產權人并不愿意我們使用&#xff0c;如果有侵權請立即聯系&#xff1a;55525090qq.com&#xff0c;我們立即下架或…

vue中多行文本標簽_vue控制多行文字展開收起的實現示例

這里講一下&#xff0c;如何使用vue控制多行文字展開收起(也叫控制文字展開隱藏)。效果&#xff1a;這里設置了控制三行&#xff0c;如果超過三行會展示&#xff0c;“顯示更多” 超出文字顯示省略號。點擊“顯示更多”會展開所有文案&#xff0c;按鈕變成“收起”(未超出三行的…

c語言什么時候需要加分號,歸納一下html中什么時候需要分號什么時候需要冒

公告&#xff1a; 為響應國家凈網行動&#xff0c;部分內容已經刪除&#xff0c;感謝讀者理解。話題&#xff1a;歸納一下html中什么時候需要分號什么時候需要冒號什么時候問題詳情&#xff1a;最近初學html和php&#xff0c;弄暈了回答&#xff1a;一般情況下&#xff0c;HTML…

python wheel使用_【轉載】Python,使用Wheel打包

轉載自&#xff1a; http://blog.sina.com.cn/s/blog_1318255b00102wbtz.htmlPython的第一個主流打包格式是.egg文件&#xff0c;現在大家庭中又有了一個叫做Wheel(*.whl)的新成員。wheel“被設計成包含PEP 376兼容安裝(一種非常接近于磁盤上的格式)的所有文件”。在本文中&…