黑盒測試記錄二
本次會議的主要內容有:
測試用例設計
- 定義
現在的軟件幾乎都是用事件觸發來控制流程的,事件觸發時的情景便形成了場景,而同一事件不同的觸發順序和處理結果就形成事件流。這種在軟件設計方面的思想也可引入到軟件測試中,可以比較生動地描繪出事件觸發時的情景,有利於測試設用例場景用來描述流經用例的路徑,從用例開始到結束遍歷這條路徑上所有基本流和備選流。
右圖中經過用例的每條路徑都用基本流和備選流來表示:
基本流用黑色表示,是經過用例的最簡單的路徑。
備選流用不同的彩色表示,一個備選流可能從基本流開始,在某個特定條件下執行,然後重新加入基本流中(如備選流 1 和 3);也可能起源於另一個備選流(如備選流 2),或者終止用例而不再重新加入到某個流(如備選流 2 和 4)。
- 應用的範圍
1) 基本上每個軟件都會用到這種方法,因為每個軟件後面都有業務的支撐
2) 比較常見的有: 網上購物流程, ATM機取款流程等
- 步驟
1) 畫出需要測試路徑的流程圖(一般選擇工具Office Visio)
2) 分析基本流和備選流
3) 根據基本流和備選流設計測試用例
- 案例
基本事件流:
1、用戶向ATM提款機中插入銀行卡,如果銀行卡是合法的,ATM提款機界面提示用戶輸入提款密碼;
參數1 |
銀行密碼 |
參數類型 |
字符串 |
參數範圍 |
字符串為0~9之間的阿拉伯數字組合,密碼長度為6位 |
備註 |
|
用戶輸入該銀行卡的密碼,ATM提款機與MainFrame傳遞密碼,檢驗密碼的正確性。如果輸入密碼正確,提示用戶輸入取錢金額,提示信息為,“請輸入您的提款額度”;
用戶輸入取錢金額,系統校驗金額正確,提示用戶確認,提示信息為“您輸入的金額是xxx,請確認,謝謝!”,用戶按下確認鍵,確認需要提取的金額;
參數1 |
取款金額 |
參數類型 |
整數 |
參數範圍 |
50~1500 RMB,單筆取款額最高為1500RMB;每24小時之內,取款的最高限額是4500RMB |
備註 |
|
系統同步銀行主機,點鈔票,輸出給用戶,並且減掉數據庫中該用戶帳戶中的存款金額。
用戶提款,銀行卡自動退出,用戶取走現金,拔出銀行卡,ATM提款機界面恢復到初始狀態;
備選事件流(考慮可能失敗的地方):
- 在基本事件流1中:
a) 如果插入無效的銀行卡,那麽,在ATM提款機界面上提示用戶“您使用的銀行卡無效!”,3秒鐘後,自動退出該銀行卡。
- 在基本事件流2中:
a) 如果用戶輸入的密碼錯誤,則提示用戶“您輸入的密碼無效,請重新輸入”;
b) 如果用戶連續3次輸入錯誤密碼,ATM提款機吞卡,並且ATM提款機的界面恢復到初始狀態。此時,其他提款人可以繼續使用其他的合法的銀行卡在ATM提款機上提取現金。
c) 用戶輸入錯誤的密碼後,也可以按“退出”鍵,則銀行卡自動退出。
- 在基本事件流3中:
a) 如果用戶輸入的單筆提款金額超過單筆提款上限,ATM提款機界面提示“您輸入的金額錯誤,單筆提款上限金額是1500RMB,請重新輸入”;
b) 如果用戶輸入的單筆金額,不是以50RMB為單位的,那麽提示用戶“您輸入的提款金額錯誤,請輸入以50為單位的金額”;
c) 如果用戶在24小時內提取的金額大於4500RMB,則ATM提款機提示用戶,“24小時內只能提取4500RMB,請重新輸入提款金額”輸入提取的金額超過了系統的設定的限制 ;
d) 如果用戶輸入正確的提款金額,ATM提款機提示用戶確認後,用戶取消提款,則ATM提款機自動退出該銀行卡;
e) 如果ATM提款機中余額不足,則提示用戶,“抱歉,ATM提款機中余額不足”,3秒鐘後,自動退出銀行卡。
- 在基本事件流4中:
a) 如果用戶銀行戶頭中的存款小於提款金額,則提示用戶“抱歉,您的存款余額不足!”,3秒鐘後,自動退出銀行卡;
- 在基本事件流5中:
a) 如果用戶沒有取走現金,或者沒有拔出銀行卡,ATM提款機不做任何提示,直接恢復到界面的初始狀態;
場景法--分析過程
- 總結
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
黑盒測試記錄二