功能測(cè)試框架可以包括:界面友好性測(cè)試、功能測(cè)試、鏈接測(cè)試、容錯(cuò)測(cè)試、穩(wěn)定性測(cè)試、常規(guī)性能測(cè)試、配置測(cè)試、算法測(cè)試等等。
1.1.1 界面友好性測(cè)試
1. 風(fēng)格、樣式、顏色是否協(xié)調(diào)
2. 界面布局是否整齊、協(xié)調(diào)(保證全部顯示出來(lái)的,盡量不要使用滾動(dòng)條
3. 界面操作、標(biāo)題描述是否恰當(dāng)(描述有歧義、注意是否有錯(cuò)別字)
4. 操作是否符合人們的常規(guī)習(xí)慣(有沒(méi)有把相似的功能的控件放在一起,方便操作)
5. 提示界面是否符合規(guī)范(不應(yīng)該顯示英文的cancel、ok,應(yīng)該顯示中文的確定等)
6. 界面中各個(gè)控件是否對(duì)齊
7. 日期控件是否可編輯
8. 日期控件的長(zhǎng)度是否合理,以修改時(shí)可以把時(shí)間全部顯示出來(lái)為準(zhǔn)
9. 查詢結(jié)果列表列寬是否合理、標(biāo)簽描述是否合理
10. 查詢結(jié)果列表太寬沒(méi)有橫向滾動(dòng)提示
11. 對(duì)于信息比較長(zhǎng)的文本,文本框有沒(méi)有提供自動(dòng)豎直滾動(dòng)條
12. 數(shù)據(jù)錄入控件是否方便
13. 有沒(méi)有支持Tab鍵,鍵的順序要有條理,不亂跳
14. 有沒(méi)有提供相關(guān)的熱鍵
15. 控件的提示語(yǔ)描述是否正確
16. 模塊調(diào)用是否統(tǒng)一,相同的模塊是否調(diào)用同一個(gè)界面
17. 用滾動(dòng)條移動(dòng)頁(yè)面時(shí),頁(yè)面的控件是否顯示正常
18. 日期的正確格式應(yīng)該是XXXX-XX-XX或XXXX-XX-XXXX:XX:XX
19. 頁(yè)面是否有多余按鈕或標(biāo)簽
20. 窗口標(biāo)題或圖標(biāo)是否與菜單欄的統(tǒng)一
21. 窗口的最大化、最小化是否能正確切換
22. 對(duì)于正常的功能,用戶可以不必閱讀用戶手冊(cè)就能使用
23. 執(zhí)行風(fēng)險(xiǎn)操作時(shí),有確認(rèn)、刪除等提示嗎
24. 操作順序是否合理
25. 正確性檢查:檢查頁(yè)面上的form, button, table, header, footer,提示信息,還有其他文字拼寫(xiě),句子的語(yǔ)法等是否正確。
26. 系統(tǒng)應(yīng)該在用戶執(zhí)行錯(cuò)誤的操作之前提出警告,提示信息.
27. 頁(yè)面分辨率檢查,在各種分辨率瀏覽系統(tǒng)檢查系統(tǒng)界面友好性。
28. 合理性檢查:做delete, update, add, cancel, back等操作后,查看信息回到的頁(yè)面是否合理。
29. 檢查本地化是否通過(guò):英文版不應(yīng)該有中文信息,英文翻譯準(zhǔn)確,專業(yè)。
30. 背景灰度凍結(jié)
1.1.2 功能測(cè)試
1. 使用所有默認(rèn)值進(jìn)行測(cè)試
2. 根據(jù)所有產(chǎn)品文檔、幫助文檔中描述的內(nèi)容要進(jìn)行遍歷測(cè)試
3. 輸入判斷
4. 所有界面出現(xiàn)是和否的邏輯,要測(cè)試
5. 異常處理
6. 敏感詞
7. 根據(jù)需求文檔的流程圖遍歷所有流程圖路徑
8. 根據(jù)程序內(nèi)容,遍歷if elif else switch的邏輯點(diǎn)要遍歷
9. 界面各種控件測(cè)試
如對(duì)于輸入框測(cè)試:
一、字符型輸入框:
1. 字符型輸入框:英文全角、英文半角、數(shù)字、空或者空格、特殊字符“~!@#¥%……&*?[]{}”特別要注意單引號(hào)和&符號(hào)。禁止直接輸入特殊字符時(shí),使用“粘貼、拷貝”功能?chē)L試輸入。
2. 長(zhǎng)度檢查:最小長(zhǎng)度、最大長(zhǎng)度、最小長(zhǎng)度-1、最大長(zhǎng)度+1、輸入超工字符比如把整個(gè)文章拷貝過(guò)去。
3. 空格檢查:輸入的字符間有空格、字符前有空格、字符后有空格、字符前后有空格
4. 多行文本框輸入:允許回車(chē)換行、保存后再顯示能夠保存輸入的格式、僅輸入回車(chē)換行,檢查能否正確保存(若能,檢查保存結(jié)果,若不能,查看是否有正常提示)、
5. 安全性檢查:輸入特殊字符串
(null,NULL,,javascript,<script>,</script>,<title>,<html>,<td>)、輸入腳本函數(shù)(<script>alert("abc")</script>)、doucment.write("abc")、<b>hello</b>)
二、數(shù)值型輸入框:
1. 邊界值:最大值、最小值、最大值+1、最小值-1
2. 位數(shù):最小位數(shù)、最大位數(shù)、最小位數(shù)-1最大位數(shù)+1、輸入超長(zhǎng)值、輸入整數(shù)
3.異常值、特殊字符:輸入空白(NULL)、空格或"~!@#$%^&*()_+{}|[]\:"<>?;',./?;:'-=等可能導(dǎo)致系統(tǒng)錯(cuò)誤的字符、禁止直接輸入特殊字符時(shí),嘗試使用粘貼拷貝查看是否能正常提交、word中的特殊功能,通過(guò)剪貼板拷貝到輸入框,分頁(yè)符,分節(jié)符類(lèi)似公式的上下標(biāo)等、數(shù)值的特殊符號(hào)如∑,㏒,㏑,∏,+,-等、
輸入負(fù)整數(shù)、負(fù)小數(shù)、分?jǐn)?shù)、輸入字母或漢字、小數(shù)(小數(shù)前0點(diǎn)舍去的情況,多個(gè)小數(shù)點(diǎn)的情況)、首位為0的數(shù)字如01、02、科學(xué)計(jì)數(shù)法是否支持1.0E2、全角數(shù)字與半角數(shù)字、數(shù)字與字母混合、16進(jìn)制,8進(jìn)制數(shù)值、貨幣型輸入(允許小數(shù)點(diǎn)后面幾位)、
4. 安全性檢查:不能直接輸入就copy
三、日期型輸入框:
1. 合法性檢查:(輸入0日、1日、32日)、月輸入[1、3、5、7、8、10、12]、日輸入[31]、月輸入[4、6、9、11]、日輸入[30][31]、輸入非閏年,月輸入[2],日期輸入[28、29]、輸入閏年,月輸入[2]、日期輸入[29、30]、月輸入[0、1、12、13]
考慮開(kāi)始日期與結(jié)束日歷的比較,特別是在查詢的時(shí)候.
2. 異常值、特殊字符:輸入空白或NULL、輸入~!@#¥%……&*(){}[]等可能導(dǎo)致系統(tǒng)錯(cuò)誤的字符
3. 安全性檢查:不能直接輸入,就copy,是否數(shù)據(jù)檢驗(yàn)出錯(cuò)?
1.1.3 業(yè)務(wù)流程測(cè)試(主要功能測(cè)試)
業(yè)務(wù)流程,一般會(huì)涉及到多個(gè)模塊的數(shù)據(jù),所以在對(duì)業(yè)務(wù)流程測(cè)試時(shí),首先要保證單個(gè)模塊功能的正確性,其次就要對(duì)各個(gè)模塊間傳遞的數(shù)據(jù)進(jìn)行測(cè)試,這往往是容易出現(xiàn)問(wèn)題的地方,測(cè)試時(shí)一定要設(shè)計(jì)不同的數(shù)據(jù)進(jìn)行測(cè)試。
如某一功能模塊具有最基本的增刪改查功能,則需要進(jìn)行以下測(cè)試:
1. 單項(xiàng)功能測(cè)試(增加、修改、查詢、刪除)
2. 增加——>增加——>增加 (連續(xù)增加測(cè)試)
3. 增加——>刪除
4. 增加——>刪除——>增加 (新增加的內(nèi)容與刪除內(nèi)容一致)
5. 增加——>修改——>刪除
6. 修改——>修改——>修改 (連續(xù)修改測(cè)試)
7. 修改——>增加(新增加的內(nèi)容與修改前內(nèi)容一致)
8. 修改——>刪除
9. 修改——>刪除——>增加 (新增加的內(nèi)容與刪除內(nèi)容一致)
10. 刪除——>刪除——>刪除 (連續(xù)刪除測(cè)試)
1.1.4 鏈接測(cè)試
主要是保證鏈接的可用性和正確性,它也是網(wǎng)站測(cè)試中比較重要的一個(gè)方面。
可以使用特定的工具如XENU來(lái)進(jìn)行鏈接測(cè)試。
1.1.5 容錯(cuò)測(cè)試
1. 輸入系統(tǒng)不允許的數(shù)據(jù)作為輸入
2. 把某個(gè)相關(guān)模塊或者子系統(tǒng)停掉,驗(yàn)證對(duì)當(dāng)前系統(tǒng)的影響
3. 配置文件刪除或者配置錯(cuò)誤
4. 數(shù)據(jù)庫(kù)注入錯(cuò)誤數(shù)據(jù)
1.1.6 穩(wěn)定性測(cè)試
1. 系統(tǒng)不間斷運(yùn)行(7*24),驗(yàn)證是否內(nèi)存泄露、系統(tǒng)其他資源是否存在泄露
2. 如果很緊急上線,可以跑一晚上或者周末跑兩天。
一般壓力很大的情況下,數(shù)據(jù)庫(kù)連接數(shù)問(wèn)題、內(nèi)存泄露問(wèn)題會(huì)曝露的比較快但是死鎖可能不能體現(xiàn),所以要看系統(tǒng)重要性,如12306穩(wěn)定性則最好7*24小時(shí)
1.1.7 常規(guī)性能測(cè)試
1. 連接速度測(cè)試
用戶連接到Web應(yīng)用系統(tǒng)的速度根據(jù)上網(wǎng)方式的變化而變化,他們或許是電話撥號(hào),或是寬帶上網(wǎng)。當(dāng)下載一個(gè)程序時(shí),用戶可以等較長(zhǎng)的時(shí)間,但如果僅僅訪問(wèn)一個(gè)頁(yè)面就不會(huì)這樣。如果Web系統(tǒng)響應(yīng)時(shí)間太長(zhǎng)(例如超過(guò)5秒鐘),用戶就會(huì)因沒(méi)有耐心等待而離開(kāi)。
另外,有些頁(yè)面有超時(shí)的限制,如果響應(yīng)速度太慢,用戶可能還沒(méi)來(lái)得及瀏覽內(nèi)容,就需要重新登陸了。而且,連接速度太慢,還可能引起數(shù)據(jù)丟失,使用戶得不到真實(shí)的頁(yè)面。
2. 負(fù)載測(cè)試
負(fù)載測(cè)試是為了測(cè)量Web系統(tǒng)在某一負(fù)載級(jí)別上的性能,以保證Web系統(tǒng)在需求范圍內(nèi)能正常工作。負(fù)載級(jí)別可以是某個(gè)時(shí)刻同時(shí)訪問(wèn)Web系統(tǒng)的用戶數(shù)量,也可以是在線數(shù)據(jù)處理的數(shù)量。例如:Web應(yīng)用系統(tǒng)能允許多少個(gè)用戶同時(shí)在線?如果超過(guò)了這個(gè)數(shù)量,會(huì)出現(xiàn)什么現(xiàn)象?Web應(yīng)用系統(tǒng)能否處理大量用戶對(duì)同一個(gè)頁(yè)面的請(qǐng)求?
3. 壓力測(cè)試
負(fù)載測(cè)試應(yīng)該安排在Web系統(tǒng)發(fā)布以后,在實(shí)際的網(wǎng)絡(luò)環(huán)境中進(jìn)行測(cè)試。因?yàn)橐粋€(gè)企業(yè)內(nèi)部員工,特別是項(xiàng)目組人員總是有限的,而一個(gè)Web系統(tǒng)能同時(shí)處理的請(qǐng)求數(shù)量將遠(yuǎn)遠(yuǎn)超出這個(gè)限度,所以,只有放在Internet上,接受負(fù)載測(cè)試,其結(jié)果才是正確可信的。
進(jìn)行壓力測(cè)試是指實(shí)際破壞一個(gè)Web應(yīng)用系統(tǒng),測(cè)試系統(tǒng)的反映。壓力測(cè)試是測(cè)試系統(tǒng)的限制和故障恢復(fù)能力,也就是測(cè)試Web應(yīng)用系統(tǒng)會(huì)不會(huì)崩潰,在什么情況下會(huì)崩潰。黑客常常提供錯(cuò)誤的數(shù)據(jù)負(fù)載,直到Web應(yīng)用系統(tǒng)崩潰,接著當(dāng)系統(tǒng)重新啟動(dòng)時(shí)獲得存取權(quán)。
壓力測(cè)試的區(qū)域包括表單、登陸和其他信息傳輸頁(yè)面等
1.1.8 易用性測(cè)試
1. 系統(tǒng)界面的控件是否可以通過(guò)tab鍵遍歷,并且順序合理
2. 主要功能的入口和操作是否易于理解
3. 界面是否布局合理,功能是否易于查找和使用
4. 操作步驟
5. 操作習(xí)慣
6. 有足夠的提示信息,且信息文字描述準(zhǔn)確
1.1.9 兼容性測(cè)試
兼容性測(cè)試不只是指界面在不同操作系統(tǒng)或?yàn)g覽器下的兼容,有些功能方面的測(cè)試,也要考慮到兼容性,包括操作系統(tǒng)兼容和應(yīng)用軟件兼容,可能還包括硬件兼容,比如涉及到ajax、jquery、javascript等技術(shù)的,都要考慮到不同瀏覽器下的兼容性問(wèn)題。
除了上面所說(shuō)的這些測(cè)試以外,還有算法測(cè)試、配置測(cè)試、安全性測(cè)試等等,在工作中不斷總結(jié)和分析,形成自己的功能測(cè)試框架,當(dāng)你把這份工作做起來(lái)以后,對(duì)于你自己對(duì)于測(cè)試團(tuán)隊(duì)而言都是一份很有價(jià)值的事情,你的測(cè)試思路也會(huì)變得更全面。
分類(lèi):?測(cè)試