1. 程式人生 > >實驗四+161+張麗霞

實驗四+161+張麗霞

event 用戶名 判斷語句 button 自動 總結 com row 控件

第四次實驗報告:功能自動化測試

一、實驗目的

1) 學習QTP工具的使用

2)了解黑盒自動化測試

二、實驗要求

(1)對被測程序進行黑盒測試用例設計

(2)對QTP的飛機訂票系統的任一界面或控件實現自動化測試。(測試的具體自選)

(3)寫出該程序的缺陷。

三、實驗內容

1、對QTP的樣例小程序飛機訂票系統,實現自動化測試。(學號被3整除,測3a;余1,測3b;余2,測4a)

2、要求:

1)寫出飛機訂票系統的被測需求。

測試部分:飛機訂票系統登錄界面;

  需求: 登錄界面進行自動化測試

輸入用戶名和密碼,有以下幾種情況:

  • 當用戶名和密碼都沒有輸入時,點擊OK按鈕,是否提示請輸入用戶名;

  i)用戶名和密碼都未空時;

  ii)用戶名為空,密碼為錯誤;

  iii)用戶名為空,密碼為正確;

  • 2. 當輸入正確的用戶名,未輸入密碼,點擊OK按鈕,是否提示請輸入密碼;

  i)用戶名的長度小於4位數;

  ii)用戶長度不小於4位數;

  • 對密碼進行驗證

  i)密碼是否為空;

  ii)密碼長度是否有驗證

  iii)密碼是否固定值;

  • 當輸入正確的用戶名和密碼時,點擊OK按鈕是否進入操作界面;

2)設計測試用例。寫出測試用例表。

在對登陸模塊進行測試時,如果要盡可能全面的測試登陸功能,就要考慮到它的的正常情況和異常情況,在本系統的登錄模塊中只要用戶名不小於4位字符,密碼是“mercury”(不區分大小寫),便可登錄成功。所以設計如下測試用:

用例編號

輸入數據

預期結果

實際結果

測試結果

用戶名

密碼

001

提示請輸入用戶名

提示請輸入用戶名

通過

002

bbbb

提示請輸入用戶名

提示請輸入用戶名

通過

003

mercury

提示請輸入用戶名

提示請輸入用戶名

通過

004

aaa

提示用戶名長度少於4

提示用戶名長度少於4

通過

005

aaa

bbbb

提示用戶名長度少於4

提示用戶名長度少於4

通過

006

aaa

mercury

提示用戶名長度少於4

提示用戶名長度少於4

通過

007

aaaaa

提示輸入密碼

提示輸入密碼

通過

008

aaaaa

bbb

提示密碼錯誤

提示密碼錯誤

通過

009

aaaaa

mercury

登陸成功,轉入對應的系統頁面

登陸成功,轉入對應的系統頁面

通過

3)編寫測試腳本,實現自動化測試。

測試腳本:

 1 Dialog("Login").WinEdit("Agent Name:").Set DataTable("AgentName", dtGlobalSheet)
 2 Dialog("Login").WinEdit("Password:").Set DataTable("Password", dtGlobalSheet)
 3 Dialog("Login").WinButton("OK").Click
 4 For i = 1 to datatable.localsheet.getrowcount
 5 
 6     datatable.localsheet.setcurrentrow i
 7 
 8 If Dialog("Login").Dialog("Flight Reservations").Exist(5) Then
 9 
10  Dialog("Login").Dialog("Flight Reservations").WinButton("確定").Click
11 
12  Reporter.ReportEvent micFail,"登錄失敗","登錄失敗"
13 
14  Else
15 
16  Reporter.ReportEvent micPass,    "登陸成功",    "登陸成功"
17 
18  Window("Flight Reservation").Close
19 
20 End If
21 
22 next

4)寫測試小結。該程序的缺陷,和測試結果。

缺陷:在錄制的時候,如果不小心點到別的功能,它就會錄制到不需要的功能。

測試結果:測試結果與預期結果均一致,但是我只有將登陸成功的測試用例放在最後,前面的結果才會出來,而且雖然有結果,但是測試還是失敗了。

技術分享

3、實驗總結。

在本次實驗中,剛開始測試,在錄制之後,用循環語句和判斷語句對DataTable的測試用例進行測試,發現程序是執行了循環語句,但是並沒有輸入數據,最後還是算是成功使用QTP自動化測試了登錄功能。我感覺是腳本編寫的不夠正確,或是在做測試時存在紕漏,導致了雖然測試結果出來了,但是測試過程還是失敗了,還是要再深入地學習QTP,才能更好的掌握。在測試過程中,我發現試用QTP自動化測試,加速了整個測試的效率,自己不用一遍一遍的去輸入數據,它會根據我們的測試用例,自動模擬鼠標和鍵盤的輸入。而且QTP可以通過編寫復雜的測試腳本,帶出隱藏在被測程序中的信息;每一次的測試都可以正確的執行相同的動作,避免了人工輸入可能出現的的錯誤;還可以一遍又一遍的執行相同的測試,省了很多時間。

實驗四+161+張麗霞