功能測試框架

測試用例(功能測試框架)


測試用例的編寫需要按照一定的思路進行,而不是想到哪寫到哪,一般測試機制成熟的公司都會有公司自己自定義的測試用例模板,以及一整套的測試流程關(guān)注點,當(dāng)然我們自己在測試生涯中也應(yīng)當(dāng)積累一套自己的測試框架,所有功能性的測試都可以依據(jù)框架的思路來進行,達到事半功倍的效果。

功能測試框架可以包括:界面友好性測試、功能測試、鏈接測試、容錯測試、穩(wěn)定性測試、常規(guī)性能測試、配置測試、算法測試等等。


1.1.1?界面友好性測試

1.?風(fēng)格、樣式、顏色是否協(xié)調(diào)

2. 界面布局是否整齊、協(xié)調(diào)(保證全部顯示出來的,盡量不要使用滾動條

3. 界面操作、標題描述是否恰當(dāng)(描述有歧義、注意是否有錯別字)

4. 操作是否符合人們的常規(guī)習(xí)慣(有沒有把相似的功能的控件放在一起,方便操作)

5. 提示界面是否符合規(guī)范(不應(yīng)該顯示英文的cancel、ok,應(yīng)該顯示中文的確定等)

6. 界面中各個控件是否對齊

7. 日期控件是否可編輯

8. 日期控件的長度是否合理,以修改時可以把時間全部顯示出來為準

9. 查詢結(jié)果列表列寬是否合理、標簽描述是否合理

10. 查詢結(jié)果列表太寬沒有橫向滾動提示

11. 對于信息比較長的文本,文本框有沒有提供自動豎直滾動條

12. 數(shù)據(jù)錄入控件是否方便

13. 有沒有支持Tab鍵,鍵的順序要有條理,不亂跳

14. 有沒有提供相關(guān)的熱鍵

15. 控件的提示語描述是否正確

16. 模塊調(diào)用是否統(tǒng)一,相同的模塊是否調(diào)用同一個界面

17. 用滾動條移動頁面時,頁面的控件是否顯示正常

18. 日期的正確格式應(yīng)該是XXXX-XX-XX或XXXX-XX-XXXX:XX:XX

19. 頁面是否有多余按鈕或標簽

20. 窗口標題或圖標是否與菜單欄的統(tǒng)一

21. 窗口的最大化、最小化是否能正確切換

22. 對于正常的功能,用戶可以不必閱讀用戶手冊就能使用

23. 執(zhí)行風(fēng)險操作時,有確認、刪除等提示嗎

24. 操作順序是否合理

25. 正確性檢查:檢查頁面上的form, button, table, header, footer,提示信息,還有其他文字拼寫,句子的語法等是否正確。

26. 系統(tǒng)應(yīng)該在用戶執(zhí)行錯誤的操作之前提出警告,提示信息.

27. 頁面分辨率檢查,在各種分辨率瀏覽系統(tǒng)檢查系統(tǒng)界面友好性。

28. 合理性檢查:做delete, update, add, cancel, back等操作后,查看信息回到的頁面是否合理。

29. 檢查本地化是否通過:英文版不應(yīng)該有中文信息,英文翻譯準確,專業(yè)。

30.?背景灰度凍結(jié)


1.1.2?功能測試

1.?使用所有默認值進行測試

2.?根據(jù)所有產(chǎn)品文檔、幫助文檔中描述的內(nèi)容要進行遍歷測試

3.?輸入判斷

4.?所有界面出現(xiàn)是和否的邏輯,要測試

5.?異常處理

6.?敏感詞

7.?根據(jù)需求文檔的流程圖遍歷所有流程圖路徑

8.?根據(jù)程序內(nèi)容,遍歷if elif else switch的邏輯點要遍歷

9.?界面各種控件測試


如對于輸入框測試:

一、字符型輸入框:

1.?字符型輸入框:英文全角、英文半角、數(shù)字、空或者空格、特殊字符“~!@#¥%……&*?[]{}”特別要注意單引號和&符號。禁止直接輸入特殊字符時,使用“粘貼、拷貝”功能嘗試輸入。

2.?長度檢查:最小長度、最大長度、最小長度-1、最大長度+1、輸入超工字符比如把整個文章拷貝過去。

3.?空格檢查:輸入的字符間有空格、字符前有空格、字符后有空格、字符前后有空格

4.?多行文本框輸入:允許回車換行、保存后再顯示能夠保存輸入的格式、僅輸入回車換行,檢查能否正確保存(若能,檢查保存結(jié)果,若不能,查看是否有正常提示)、

5.?安全性檢查:輸入特殊字符串

(null,NULL,,javascript,,,,<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、輸入超長值、輸入整數(shù)

3.異常值、特殊字符:輸入空白(NULL)、空格或"~!@#$%^&*()_+{}|[]\:"<>?;',./?;:'-=等可能導(dǎo)致系統(tǒng)錯誤的字符、禁止直接輸入特殊字符時,嘗試使用粘貼拷貝查看是否能正常提交、word中的特殊功能,通過剪貼板拷貝到輸入框,分頁符,分節(jié)符類似公式的上下標等、數(shù)值的特殊符號如∑,㏒,㏑,∏,+,-等、

輸入負整數(shù)、負小數(shù)、分數(shù)、輸入字母或漢字、小數(shù)(小數(shù)前0點舍去的情況,多個小數(shù)點的情況)、首位為0的數(shù)字如01、02、科學(xué)計數(shù)法是否支持1.0E2、全角數(shù)字與半角數(shù)字、數(shù)字與字母混合、16進制,8進制數(shù)值、貨幣型輸入(允許小數(shù)點后面幾位)、

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]

考慮開始日期與結(jié)束日歷的比較,特別是在查詢的時候.

2.?異常值、特殊字符:輸入空白或NULL、輸入~!@#¥%……&*(){}[]等可能導(dǎo)致系統(tǒng)錯誤的字符

3.?安全性檢查:不能直接輸入,就copy,是否數(shù)據(jù)檢驗出錯?


1.1.3?業(yè)務(wù)流程測試(主要功能測試)

業(yè)務(wù)流程,一般會涉及到多個模塊的數(shù)據(jù),所以在對業(yè)務(wù)流程測試時,首先要保證單個模塊功能的正確性,其次就要對各個模塊間傳遞的數(shù)據(jù)進行測試,這往往是容易出現(xiàn)問題的地方,測試時一定要設(shè)計不同的數(shù)據(jù)進行測試。

如某一功能模塊具有最基本的增刪改查功能,則需要進行以下測試:

1.?單項功能測試(增加、修改、查詢、刪除)

2.?增加——>增加——>增加 (連續(xù)增加測試)

3.?增加——>刪除

4.?增加——>刪除——>增加 (新增加的內(nèi)容與刪除內(nèi)容一致)

5.?增加——>修改——>刪除

6.?修改——>修改——>修改 (連續(xù)修改測試)

7.?修改——>增加(新增加的內(nèi)容與修改前內(nèi)容一致)

8.?修改——>刪除

9.?修改——>刪除——>增加 (新增加的內(nèi)容與刪除內(nèi)容一致)

10.?刪除——>刪除——>刪除 (連續(xù)刪除測試)


1.1.4?鏈接測試

主要是保證鏈接的可用性和正確性,它也是網(wǎng)站測試中比較重要的一個方面。

可以使用特定的工具如XENU來進行鏈接測試。


1.1.5?容錯測試

1.?輸入系統(tǒng)不允許的數(shù)據(jù)作為輸入

2.?把某個相關(guān)模塊或者子系統(tǒng)停掉,驗證對當(dāng)前系統(tǒng)的影響

3.?配置文件刪除或者配置錯誤

4.?數(shù)據(jù)庫注入錯誤數(shù)據(jù)


1.1.6?穩(wěn)定性測試

1.?系統(tǒng)不間斷運行(7*24),驗證是否內(nèi)存泄露、系統(tǒng)其他資源是否存在泄露

2.?如果很緊急上線,可以跑一晚上或者周末跑兩天。

一般壓力很大的情況下,數(shù)據(jù)庫連接數(shù)問題、內(nèi)存泄露問題會曝露的比較快但是死鎖可能不能體現(xiàn),所以要看系統(tǒng)重要性,如12306穩(wěn)定性則最好7*24小時


1.1.7?常規(guī)性能測試

1.?連接速度測試

用戶連接到Web應(yīng)用系統(tǒng)的速度根據(jù)上網(wǎng)方式的變化而變化,他們或許是電話撥號,或是寬帶上網(wǎng)。當(dāng)下載一個程序時,用戶可以等較長的時間,但如果僅僅訪問一個頁面就不會這樣。如果Web系統(tǒng)響應(yīng)時間太長(例如超過5秒鐘),用戶就會因沒有耐心等待而離開。

另外,有些頁面有超時的限制,如果響應(yīng)速度太慢,用戶可能還沒來得及瀏覽內(nèi)容,就需要重新登陸了。而且,連接速度太慢,還可能引起數(shù)據(jù)丟失,使用戶得不到真實的頁面。

2. 負載測試

負載測試是為了測量Web系統(tǒng)在某一負載級別上的性能,以保證Web系統(tǒng)在需求范圍內(nèi)能正常工作。負載級別可以是某個時刻同時訪問Web系統(tǒng)的用戶數(shù)量,也可以是在線數(shù)據(jù)處理的數(shù)量。例如:Web應(yīng)用系統(tǒng)能允許多少個用戶同時在線?如果超過了這個數(shù)量,會出現(xiàn)什么現(xiàn)象?Web應(yīng)用系統(tǒng)能否處理大量用戶對同一個頁面的請求?

3. 壓力測試

負載測試應(yīng)該安排在Web系統(tǒng)發(fā)布以后,在實際的網(wǎng)絡(luò)環(huán)境中進行測試。因為一個企業(yè)內(nèi)部員工,特別是項目組人員總是有限的,而一個Web系統(tǒng)能同時處理的請求數(shù)量將遠遠超出這個限度,所以,只有放在Internet上,接受負載測試,其結(jié)果才是正確可信的。

進行壓力測試是指實際破壞一個Web應(yīng)用系統(tǒng),測試系統(tǒng)的反映。壓力測試是測試系統(tǒng)的限制和故障恢復(fù)能力,也就是測試Web應(yīng)用系統(tǒng)會不會崩潰,在什么情況下會崩潰。黑客常常提供錯誤的數(shù)據(jù)負載,直到Web應(yīng)用系統(tǒng)崩潰,接著當(dāng)系統(tǒng)重新啟動時獲得存取權(quán)。

壓力測試的區(qū)域包括表單、登陸和其他信息傳輸頁面等


1.1.8?易用性測試

1.?系統(tǒng)界面的控件是否可以通過tab鍵遍歷,并且順序合理

2.?主要功能的入口和操作是否易于理解

3.?界面是否布局合理,功能是否易于查找和使用

4.?操作步驟

5.?操作習(xí)慣

6.?有足夠的提示信息,且信息文字描述準確


1.1.9?兼容性測試

兼容性測試不只是指界面在不同操作系統(tǒng)或瀏覽器下的兼容,有些功能方面的測試,也要考慮到兼容性,

包括操作系統(tǒng)兼容和應(yīng)用軟件兼容,可能還包括硬件兼容

比如涉及到ajax、jquery、javascript等技術(shù)的,都要考慮到不同瀏覽器下的兼容性問題。


除了上面所說的這些測試以外,還有算法測試、配置測試、安全性測試等等,在工作中不斷總結(jié)和分析,形成自己的功能測試框架,當(dāng)你把這份工作做起來以后,對于你自己對于測試團隊而言都是一份很有價值的事情,你的測試思路也會變得更全面。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1、通過CocoaPods安裝項目名稱項目信息 AFNetworking網(wǎng)絡(luò)請求組件 FMDB本地數(shù)據(jù)庫組件 SD...
    陽明AI閱讀 16,192評論 3 119
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,536評論 19 139
  • 升級時間 iOS 10將于14日凌晨1點左右開始推送,以下是可升級新系統(tǒng)的設(shè)備名單。圖截于Apple官網(wǎng)。 iOS...
    洛世薦閱讀 1,006評論 0 0
  • 依然是讀書筆記…… 假如我們把別人看中的價值觀簡單地拿過來單做自己的,那么,本來以我們的利益為中心的沖突就不會發(fā)生...
    Eva不偷懶還不行嗎閱讀 149評論 0 0
  • 畢業(yè)后的頭兩年,我一直在企業(yè)做人事專員。記得有次我們部門請了專業(yè)的培訓(xùn)團隊,給相關(guān)的中層崗位培訓(xùn)。人資部協(xié)助整個過...
    王玬錦閱讀 406評論 0 2

友情鏈接更多精彩內(nèi)容