1. 程式人生 > >黑盒測試記錄二

黑盒測試記錄二

軟件設計 範圍 軟件測試 ron 初始 char mysql用戶 denied 分享

技術分享圖片

本次會議的主要內容有:

測試用例設計

  1. 定義

現在的軟件幾乎都是用事件觸發來控制流程的,事件觸發時的情景便形成了場景,而同一事件不同的觸發順序和處理結果就形成事件流。這種在軟件設計方面的思想也可引入到軟件測試中,可以比較生動地描繪出事件觸發時的情景,有利於測試設用例場景用來描述流經用例的路徑,從用例開始到結束遍歷這條路徑上所有基本流和備選流。

技術分享圖片

右圖中經過用例的每條路徑都用基本流和備選流來表示:

基本流用黑色表示,是經過用例的最簡單的路徑。

備選流用不同的彩色表示,一個備選流可能從基本流開始,在某個特定條件下執行,然後重新加入基本流中(如備選流 1 和 3);也可能起源於另一個備選流(如備選流 2),或者終止用例而不再重新加入到某個流(如備選流 2 和 4)。

  1. 應用的範圍

1) 基本上每個軟件都會用到這種方法,因為每個軟件後面都有業務的支撐

2) 比較常見的有: 網上購物流程, ATM機取款流程等

  1. 步驟

1) 畫出需要測試路徑的流程圖(一般選擇工具Office Visio)

2) 分析基本流和備選流

3) 根據基本流和備選流設計測試用例

  1. 案例

基本事件流

1、用戶向ATM提款機中插入銀行卡,如果銀行卡是合法的,ATM提款機界面提示用戶輸入提款密碼;

參數1

銀行密碼

參數類型

字符串

參數範圍

字符串為0~9之間的阿拉伯數字組合,密碼長度為6位

備註

用戶輸入該銀行卡的密碼,ATM提款機與MainFrame傳遞密碼,檢驗密碼的正確性。如果輸入密碼正確,提示用戶輸入取錢金額,提示信息為,“請輸入您的提款額度”;

用戶輸入取錢金額,系統校驗金額正確,提示用戶確認,提示信息為“您輸入的金額是xxx,請確認,謝謝!”,用戶按下確認鍵,確認需要提取的金額;

參數1

取款金額

參數類型

整數

參數範圍

50~1500 RMB,單筆取款額最高為1500RMB;每24小時之內,取款的最高限額是4500RMB

備註

系統同步銀行主機,點鈔票,輸出給用戶,並且減掉數據庫中該用戶帳戶中的存款金額。

用戶提款,銀行卡自動退出,用戶取走現金,拔出銀行卡,ATM提款機界面恢復到初始狀態;

備選事件流(考慮可能失敗的地方):

  1. 在基本事件流1中:

a) 如果插入無效的銀行卡,那麽,在ATM提款機界面上提示用戶“您使用的銀行卡無效!”,3秒鐘後,自動退出該銀行卡。

  1. 在基本事件流2中:

a) 如果用戶輸入的密碼錯誤,則提示用戶“您輸入的密碼無效,請重新輸入”;

b) 如果用戶連續3次輸入錯誤密碼,ATM提款機吞卡,並且ATM提款機的界面恢復到初始狀態。此時,其他提款人可以繼續使用其他的合法的銀行卡在ATM提款機上提取現金。

c) 用戶輸入錯誤的密碼後,也可以按“退出”鍵,則銀行卡自動退出。

  1. 在基本事件流3中:

a) 如果用戶輸入的單筆提款金額超過單筆提款上限,ATM提款機界面提示“您輸入的金額錯誤,單筆提款上限金額是1500RMB,請重新輸入”;

b) 如果用戶輸入的單筆金額,不是以50RMB為單位的,那麽提示用戶“您輸入的提款金額錯誤,請輸入以50為單位的金額”;

c) 如果用戶在24小時內提取的金額大於4500RMB,則ATM提款機提示用戶,“24小時內只能提取4500RMB,請重新輸入提款金額”輸入提取的金額超過了系統的設定的限制 ;

d) 如果用戶輸入正確的提款金額,ATM提款機提示用戶確認後,用戶取消提款,則ATM提款機自動退出該銀行卡;

e) 如果ATM提款機中余額不足,則提示用戶,“抱歉,ATM提款機中余額不足”,3秒鐘後,自動退出銀行卡。

  1. 在基本事件流4中:

a) 如果用戶銀行戶頭中的存款小於提款金額,則提示用戶“抱歉,您的存款余額不足!”,3秒鐘後,自動退出銀行卡;

  1. 在基本事件流5中:

a) 如果用戶沒有取走現金,或者沒有拔出銀行卡,ATM提款機不做任何提示,直接恢復到界面的初始狀態;

場景法--分析過程

技術分享圖片

技術分享圖片

  1. 總結

1) 流程圖可以參考需求規格說明書中的相關流程圖

2) 如果沒有需求文檔,和需求和開發溝通,確保了解被測試軟件的流程

3) 流程有大流程和小流程,大流程是指大功能的跳轉,小流程是指功能內的調整,大小流程需要都被覆蓋到.

2 ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: NO)

原因:
mysql 用戶沒有操作/var/run目錄的權限,所以pid文件無法創建,導致登陸時無法建立 進程信息文件,登陸進程就無法開啟,自然無法登陸。


解決:
修改 /etc/my.conf
原來的
#pid-file=/var/run/mysqld/mysqld.pid
修改為
pid-file=/var/lib/mysql/mysqlid.pid


檢查發現,mysql用戶根本無法 cd /var/run/。修改為mysql可以有權限的目錄後再執行mysql就進入數據庫了。


第二步:修改數據庫默認密碼
/etc/init.d/mysql stop (service mysqld stop )
/usr/bin/mysqld_safe --skip-grant-tables
另外開個SSH連接
[root@localhost ~]# mysql
mysql>use mysql
mysql>update user set password=password("123456") where user="root";
mysql>flush privileges;
mysql>exit


然後
[mysql@localhost etc]$ ps -A | grep mysql
4532 pts/0 00:00:00 mysqld_safe
5542 pts/0 00:00:00 mysqld
[mysql@localhost etc]$ kill -9 4532 5542
正常啟動 MySQL:/etc/init.d/mysql start (service mysqld start)


第三步:
登陸ok。 mysql -uroot -p

黑盒測試記錄二