標籤:
1、某公司網站的後台管理有一個使用者註冊的功能需要測試,該測試為黑箱測試,請用表格的方式給出該功能的測試案例(參考課本P107頁)。使用者註冊功能描述如下:
(1) 管理員必須先登入,方可進入網站後台管理,進入後台管理介面後可以進行使用者註冊(假設使用者註冊的URL地址為http://www.fengt.com/Admin/UserRegister.jsp)
(2) 使用者註冊要求輸入使用者名稱、密碼、密碼確認、郵箱,這4項內容均不可為空
(3) 使用者名稱要求6-10個字元,由字母和數字構成,且只能以字母開頭。使用者名稱是唯一的。
(4) 密碼至少6位,包含字母、數字和特殊符號(如: ! + ~ 等)
(5) 郵箱必須符合郵箱規則
(6) 違法以上任何一個要求都應該有相應的提示
(7) 註冊成功需提示“註冊成功,請您記住密碼”,並跳轉到使用者登入頁面進行登入(假設使用者登入頁面為http://www.fengt.com/Admin/Login.jsp)
後台系統管理使用者註冊功能測試用例
| 用例ID |
測試案例 |
用例名稱 |
系統登入 |
| 用例描述 |
管理員必須先登入,進入網站後台管理,進入後台管理介面後可以進行使用者註冊;使用者註冊必須進行:輸入使用者名稱、密碼、密碼確認、郵箱,這4項內容均不可為空,且格式符合要求的情況下;註冊成功後提示註冊成功,並跳轉到使用者登入頁面進行登入;最後輸入註冊使用者進行登陸。 |
| 用例入口 |
開啟IE,在地址欄輸入(http://www.fengt.com/Admin/UserRegister.jsp),進入到後台系統管理使用者註冊介面,進行使用者註冊;註冊成功後,自動跳轉到後台使用者登入介面,進行登陸。 |
| 測試案例ID |
情境 |
測試步驟 |
預期結果 |
備忘 |
TC1 |
使用者註冊頁面顯示 |
從用例入口http://www.fengt.com/Admin/UserRegister.jsp進入 |
進入管理背景註冊介面,頁面元素完整,顯示與詳細設計一致 |
|
| TC2 |
使用者名稱註冊輸入——驗證 |
在使用者名稱輸入框中輸入新的使用者名稱:比如[email protected] |
輸入正確的使用者名稱格式,在資料庫中沒有相同的名字匹配到,使用者名稱是唯一,在使用者名稱輸入框的右側顯示綠色的打勾,證明這個使用者名稱可以使用。 |
使用者名稱能註冊 |
| TC3 |
使用者名稱輸入格式錯誤——容錯性驗證 |
在使用者名稱輸入框中輸入新的使用者名稱:123或123jfh或[email protected]或沒有填寫使用者名稱等 |
跳出提示:使用者名稱要求6-10個字元,由字母和數字構成,且只能以字母開頭,自動跳轉到步驟TC2 |
使用者名稱輸入格式錯誤,沒有按要求填寫使用者名稱;導致不能申請新的使用者名稱 |
| TC4 |
使用者密碼輸入——驗證 |
在密碼輸入框中輸入新密碼:[email protected] |
輸入正確的密碼格式,在密碼輸入框的右側顯示綠色的打勾,證明這個使用者名稱可以使用。 |
新密碼能使用 |
| TC5 |
密碼輸入格式錯誤——容錯性驗證 |
在密碼輸入框中輸入新的密碼:123456或1234或54djh |
跳出提示: 密碼至少6位,包含字母、數字和特殊符號(如: ! + ~ 等);自動跳轉到步驟TC4 |
密碼輸入格式錯誤,沒有按要求填寫新密碼;導致不能申請新的密碼 |
| TC6 |
密碼確認——驗證 |
在密碼確認框中再次輸入密碼:[email protected] |
在密碼確認輸入框的右側顯示綠色的打勾,證明這個密碼確認正確。 |
和第一次輸入是密碼一樣 |
| TC7 |
密碼確認錯誤——容錯性驗證 |
在密碼確認框中再次輸入密碼:[email protected] |
跳出提示:你輸入密碼不一樣,請從新輸入;自動跳轉到步驟TC6 |
和第一次輸入是密碼不一樣 |
| TC8 |
郵箱輸入——驗證 |
在郵箱輸入框中輸入:[email protected] |
在郵箱輸入框的右側顯示綠色的打勾,證明這個郵箱格式正確。 |
郵箱可以使用 |
| TC9 |
郵箱格式輸入錯誤——容錯性驗證 |
在郵箱輸入框中輸入:54634545sj.com等 |
跳出提示:你輸入的郵箱必須符合郵箱規則;自動跳轉到步驟TC8 |
使用者沒有正確是輸入郵箱格式 |
| TC10 |
使用者填寫結束,開始註冊 |
點擊註冊按鈕 |
跳出提示:“註冊成功,請您記住密碼”,並直接跳轉到使用者登陸介面 |
使用者註冊成功 |
| TC11 |
使用者跳過使用者名稱、密碼、密碼確認、郵箱中的一個或幾個,沒有註冊 |
直接確認提交 |
跳出提示:顯示沒有註冊的文字框不可為空,請從新註冊;自動跳轉到步驟TC2 |
使用者沒有把戶名、密碼、密碼確認、郵箱都註冊完整 |
2、利用Selenium2為Lab05項目中的登入功能實現功能自動化測試。
【注意】
l 設計測試案例時需考慮登入成功和不成功兩種情況;
l Lab05項目為實驗5用到的項目,在大家的班級QQ群中,資料庫採用MySQL,資料庫檔案在項目根目錄下CreateDataBase.txt
1、給登陸介面加上id=su屬性
<html>
<head><title>使用者登入</title></head>
<body>
<form action="validate.jsp" method="post">
<div align="center">
使用者登入<br>
使用者名稱:<input type="text" name="username"><br><br>
密 碼:<input type="text" name="password"><br><br>
<input type="submit" value="登入" id="su">
</div>
</form>
</body>
</html>
2、在Mysql資料庫中添加test表和測試案例
use test;
Create Table user
(
idint auto_increment not null,
username varchar(10) not null,
password varchar(10) not null,
primary key(id)
);
insert into user values(1,‘ccj‘,‘ccj‘);
insert into user values(2,‘admin‘,‘admin‘);
3、測試代碼
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.WebDriverWait;
public class Test{
/*
*描述:利用Selenium2為用例項目中的登入功能實現功能自動化測試
*/
@Test
public void Demo(){
System.setProperty("webdriver.firefox.bin", "F:\\firefox\\firefox.exe");
//開啟Firefox瀏覽器
WebDriver demo = new FirefoxDriver();
//開啟要測試的頁面
demo.get("http://localhost:8080/jsp_jdbc/login.jsp");
//設定等待超出的時間(100秒)
WebDriverWait wait = new WebDriverWait(driver, 100);
//找到使用者名稱輸入框,並自動輸入使用者名稱
WebElement txtSearchBox = demo.findElement(By.name("un")).sendKeys("ccj");
//找到密碼輸入框,並自動輸入密碼
WebElement txtSearchBox = demo.findElement(By.name("pw")).sendKeys("ccj");
//找到登入按鈕,並自動點擊它
WebElement btn = demo.findElement(By.id("su")).click();
//關閉瀏覽器
//demo.close();
}
}
《軟體測試》--第四次作業