功能性測試用例
1. 測試的來源,即測試的需求
測試用例的主要來源有:
1) 需求說明”及相關(guān)文檔
2)相關(guān)的設(shè)計說明(概要設(shè)計,詳細(xì)設(shè)計等)
3)與開發(fā)組交流對需求理解的 記錄(可以是開發(fā)人員的一個解釋)
4)已經(jīng)基本成型的UI(可以有針對性地補充一些用例)
簡而言之,所有你能得到的項目文檔,都盡量拿到。 從所得到的資料中,分解出若干小的“功能點”,理解“功能點”,編寫相應(yīng)的測試用例。
2. 用例的組織方式
不同的公司有不同的做法,原則上,只要方便管理和跟蹤,怎么組織都可以的。
用例可以按大的功能塊組織,如查詢功能模塊的用例,可以組織在一起,打印模塊的測試用例,可以另外組 織在一起。
在沒有專門的測試用例管理工具的情況下,用例執(zhí)行后會產(chǎn)生2種狀態(tài):“通過”、“失敗”——這樣加上“未 執(zhí)行”的用例的狀態(tài),共3種狀態(tài)。
即從“未執(zhí)行”用例中執(zhí)行一個用例后,該用例狀態(tài)應(yīng)為“失敗”或“通 過”。將同一狀態(tài)的用例組織在一起。
至于用例文件格式,可以是.DOC或.XLS(如果有專門的測試用例管理工具另當(dāng)別論)。
3. 用例與其他材料的關(guān)聯(lián)方式,即如何解決用例跟蹤的問題 測試用例面臨的比較大的風(fēng)險有:
需求的變更、設(shè)計的修改、需求的錯誤和遺漏等等。
由于用例的主要來源是需求和設(shè)計的說明,所以對用例的跟蹤其實就是對需求和設(shè)計的跟蹤,需求和設(shè)計的 變更勢必引起測試用例的變更。
如前所說,將分解的功能點編號,與相應(yīng)的用例聯(lián)系起來。例如,你可以列一個表格,列出各個(編號的)功 能點和測試用例間的關(guān)聯(lián)關(guān)系。
這樣,當(dāng)需求和設(shè)計發(fā)生變化時,你只需要跟蹤“功能點”是否變化,是否增 加了新的功能點。
重要和困難的是,不手頭的資料和信息一定要是最新的。
4. 一個好的用例的表述要點,即用例中應(yīng)當(dāng)包含的信息
一個優(yōu)秀的測試用例,應(yīng)該包含以下信息:
1) 軟件或項目的名稱
2) 軟件或項目的版本(內(nèi)部版本號)
3) 功能模塊名
4) 測試用例的簡單描述,即該用例執(zhí)行的目的或方法
5) 測試用例的參考信息(便于跟蹤和參考)
6) 本測試用例與其他測試用例間的依賴關(guān)系
7) 本用例的前置條件,即執(zhí)行本用例必須要滿足的條件,如對數(shù)據(jù)庫的訪問權(quán)限
8) 用例的編號(ID),如可以是 軟件名稱簡寫-功能塊簡寫-NO.。
9) 步驟號、操作步驟描述、測試數(shù)據(jù)描述
10)預(yù)期結(jié)果(這是最重要的)和實際結(jié)果(如果有BUG管理工具,這條可以省略)
11)開發(fā)人員(必須有)和測試人員(可有可無)
12)測試執(zhí)行日期
5. 給出一個測試用例的例子該范例已經(jīng)包含一個測試用例的模板。
項目/軟件 |
技術(shù)出口合同網(wǎng)絡(luò)申領(lǐng)系統(tǒng) (企業(yè)端) |
程序版本 |
1.0.25 |
|
|
|
功能模塊名 |
Login |
編制人 |
xxx |
|
|
|
用例編號- |
TC-TEP_Login_1 |
編制時間 |
2002.10.12 |
|
|
|
相關(guān)的用例 |
無 |
|
|
|
|
|
功能特性 |
用戶身份驗證 |
|
|
|
|
|
測試目的 |
驗證是否輸入合法的信息,允許合法登陸,阻止非法登陸 |
|
|
|
|
|
預(yù)置條件 |
無 |
特殊規(guī)程說明 |
如數(shù)據(jù)庫訪問權(quán)限 |
|
|
|
參考信息 |
需求說明中關(guān)于“登陸”的說明 |
|
|
|
|
|
測試數(shù)據(jù) |
用戶名=yiyh 密碼=1 |
操作步驟 |
操作描述 |
數(shù) 據(jù) |
期望結(jié)果 |
實際結(jié)果 |
實際結(jié)果 |
|
1 |
輸入用戶名稱,按“登陸”按鈕。 |
用戶名=yiyh,密碼為空 |
顯示警告信息“請輸入用戶名和密碼!” |
|
|
|
2 |
輸入密碼,按“登陸”按鈕。 |
用戶名為空,密碼=1 |
顯示警告信息“請輸入用戶名和密碼!” |
|
|
|
3
|
輸入用戶名和密碼,按“登陸”按鈕。
|
用戶名=yiyh,密碼=2
|
顯示警告信息“請輸入用戶名和密碼!”
|
|
|
|
4
|
輸入用戶名和密碼,按“登陸”按鈕。
|
用戶名=xxx,密碼=1
|
顯示警告信息“請輸入用戶名和密碼!”
|
|
|
|
5
|
輸入用戶名和密碼,按“登陸”按鈕。
|
用戶名=xxx,密碼=2
|
顯示警告信息“請輸入用戶名和密碼!”
|
|
|
|
6
|
輸入用戶名和密碼,按“登陸”按鈕。
|
用戶名=空,密碼=空
|
顯示警告信息“請輸入用戶名和密碼!”
|
|
|
|
7
|
輸入用戶名和密碼,按“登陸”按鈕。
|
用戶名=yiyh,密碼=1
|
進入系統(tǒng)頁面。
|
|
|
|
8
|
輸入用戶名和密碼,按“登陸”按鈕。
|
用戶名=Admin,密碼=admin
|
進入系統(tǒng)維護頁面。
|
|
|
|
9
|
輸入用戶名和密碼,按“登陸”按鈕。
|
用戶名=yiyh',密碼=1
|
顯示警告信息“請輸入用戶名和密碼!”
|
|
|
|
10 |
輸入用戶名和密碼,按“登陸”按鈕。
|
用戶名=yiyh,密碼=1'
|
顯示警告信息“請輸入用戶名和密碼!”
|
|
|
|
11 |
輸入用戶名和密碼,按“重置”按鈕。 |
用戶名=yiyh,密碼=1 |
清空輸入信息 |
|
|
|
測試人員 |
|
開發(fā)人員 |
|
|
項目負(fù)責(zé)人 |
|
備注:本用例未考慮“企業(yè)代碼”的輸入情況;測試用例并未涵蓋所有的非法輸入,如非法輸入中可能會有
“user=*,pw=*”的組合,對回車的默認(rèn)操作,空格輸入,對輸入上溢的處理的處理(可能會跳過身份驗證) 等等。
如果你有興趣,至少可以再補充5-10條左右的輸入組合
(當(dāng)然,如果步驟超過15步,用例的易操作 性就降低,你可以再創(chuàng)建一個測試用例如TC-TEP_Login_2)。