測試用例的編寫需要按照一定的思路進行,而不是想到哪寫到哪,一般測試機制成熟的公司都會有公司自己自定義的測試用例模闆,以及一整套的測試流程關注點,當然我們自己在測試生涯中也應當積累一套自己的測試架構,所有功能性的測試都可以依據架構的思路來進行,達到事半功倍的效果。
功能測試架構可以包括:界面友好性測試、功能測試、連結測試、容錯測試、穩定性測試、正常性能測試、配置測試、算法測試等等。
1.1.1 界面友好性測試
1. 風格、樣式、顔色是否協調
2. 界面布局是否整齊、協調(保證全部顯示出來的,盡量不要使用滾動條
3. 界面操作、标題描述是否恰當(描述有歧義、注意是否有錯别字)
4. 操作是否符合人們的正常習慣(有沒有把相似的功能的控件放在一起,友善操作)
5. 提示界面是否符合規範(不應該顯示英文的cancel、ok,應該顯示中文的确定等)
6. 界面中各個控件是否對齊
7. 日期控件是否可編輯
8. 日期控件的長度是否合理,以修改時可以把時間全部顯示出來為準
9. 查詢結果清單列寬是否合理、标簽描述是否合理
10. 查詢結果清單太寬沒有橫向滾動提示
11. 對于資訊比較長的文本,文本框有沒有提供自動豎直滾動條
12. 資料錄入控件是否友善
13. 有沒有支援Tab鍵,鍵的順序要有條理,不亂跳
14. 有沒有提供相關的熱鍵
15. 控件的提示語描述是否正确
16. 子產品調用是否統一,相同的子產品是否調用同一個界面
17. 用滾動條移動頁面時,頁面的控件是否顯示正常
18. 日期的正确格式應該是XXXX-XX-XX或XXXX-XX-XXXX:XX:XX
19. 頁面是否有多餘按鈕或标簽
20. 視窗标題或圖示是否與菜單欄的統一
21. 視窗的最大化、最小化是否能正确切換
22. 對于正常的功能,使用者可以不必閱讀使用者手冊就能使用
23. 執行風險操作時,有确認、删除等提示嗎
24. 操作順序是否合理
25. 正确性檢查:檢查頁面上的form, button, table, header, footer,提示資訊,還有其他文字拼寫,句子的文法等是否正确。
26. 系統應該在使用者執行錯誤的操作之前提出警告,提示資訊.
27. 頁面分辨率檢查,在各種分辨率浏覽系統檢查系統界面友好性。
28. 合理性檢查:做delete, update, add, cancel, back等操作後,檢視資訊回到的頁面是否合理。
29. 檢查本地化是否通過:英文版不應該有中文資訊,英文翻譯準确,專業。
30. 背景灰階當機
1.1.2 功能測試
1. 使用所有預設值進行測試
2. 根據所有産品文檔、幫助文檔中描述的内容要進行周遊測試
3. 輸入判斷
4. 所有界面出現是和否的邏輯,要測試
5. 異常處理
6. 敏感詞
7. 根據需求文檔的流程圖周遊所有流程圖路徑
8. 根據程式内容,周遊if elif else switch的邏輯點要周遊
9. 界面各種控件測試
如對于輸入框測試:
一、字元型輸入框:
1. 字元型輸入框:英文全角、英文半角、數字、空或者空格、特殊字元“~!@#¥%……&*?[]{}”特别要注意單引号和&符号。禁止直接輸入特殊字元時,使用“粘貼、拷貝”功能嘗試輸入。
2. 長度檢查:最小長度、最大長度、最小長度-1、最大長度+1、輸入超工字元比如把整個文章拷貝過去。
3. 空格檢查:輸入的字元間有空格、字元前有空格、字元後有空格、字元前後有空格
4. 多行文本框輸入:允許回車換行、儲存後再顯示能夠儲存輸入的格式、僅輸入回車換行,檢查能否正确儲存(若能,檢查儲存結果,若不能,檢視是否有正常提示)、
5. 安全性檢查:輸入特殊字元串
(null,NULL,,javascript,<script>,</script>,<title>,<html>,<td>)、輸入腳本函數(<script>alert("abc")</script>)、doucment.write("abc")、<b>hello</b>)
二、數值型輸入框:
1. 邊界值:最大值、最小值、最大值+1、最小值-1
2. 位數:最小位數、最大位數、最小位數-1最大位數+1、輸入超長值、輸入整數
3.異常值、特殊字元:輸入空白(NULL)、空格或"~!@#$%^&*()_+{}|[]\:"<>?;',./?;:'-=等可能導緻系統錯誤的字元、禁止直接輸入特殊字元時,嘗試使用粘貼拷貝檢視是否能正常送出、word中的特殊功能,通過剪貼闆拷貝到輸入框,分頁符,分節符類似公式的上下标等、數值的特殊符号如∑,㏒,㏑,∏,+,-等、
輸入負整數、負小數、分數、輸入字母或漢字、小數(小數前0點舍去的情況,多個小數點的情況)、首位為0的數字如01、02、科學計數法是否支援1.0E2、全角數字與半角數字、數字與字母混合、16進制,8進制數值、貨币型輸入(允許小數點後面幾位)、
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]
考慮開始日期與結束月曆的比較,特别是在查詢的時候.
2. 異常值、特殊字元:輸入空白或NULL、輸入~!@#¥%……&*(){}[]等可能導緻系統錯誤的字元
3. 安全性檢查:不能直接輸入,就copy,是否資料檢驗出錯?
1.1.3 業務流程測試(主要功能測試)
業務流程,一般會涉及到多個子產品的資料,是以在對業務流程測試時,首先要保證單個子產品功能的正确性,其次就要對各個子產品間傳遞的資料進行測試,這往往是容易出現問題的地方,測試時一定要設計不同的資料進行測試。
如某一功能子產品具有最基本的增删改查功能,則需要進行以下測試:
1. 單項功能測試(增加、修改、查詢、删除)
2. 增加——>增加——>增加 (連續增加測試)
3. 增加——>删除
4. 增加——>删除——>增加 (新增加的内容與删除内容一緻)
5. 增加——>修改——>删除
6. 修改——>修改——>修改 (連續修改測試)
7. 修改——>增加(新增加的内容與修改前内容一緻)
8. 修改——>删除
9. 修改——>删除——>增加 (新增加的内容與删除内容一緻)
10. 删除——>删除——>删除 (連續删除測試)
1.1.4 連結測試
主要是保證連結的可用性和正确性,它也是網站測試中比較重要的一個方面。
可以使用特定的工具如XENU來進行連結測試。
1.1.5 容錯測試
1. 輸入系統不允許的資料作為輸入
2. 把某個相關子產品或者子系統停掉,驗證對目前系統的影響
3. 配置檔案删除或者配置錯誤
4. 資料庫注入錯誤資料
1.1.6 穩定性測試
1. 系統不間斷運作(7*24),驗證是否記憶體洩露、系統其他資源是否存在洩露
2. 如果很緊急上線,可以跑一晚上或者周末跑兩天。
一般壓力很大的情況下,資料庫連接配接數問題、記憶體洩露問題會曝露的比較快但是死鎖可能不能展現,是以要看系統重要性,如12306穩定性則最好7*24小時
1.1.7 正常性能測試
1. 連接配接速度測試
使用者連接配接到Web應用系統的速度根據上網方式的變化而變化,他們或許是電話撥号,或是寬帶上網。當下載下傳一個程式時,使用者可以等較長的時間,但如果僅僅通路一個頁面就不會這樣。如果Web系統響應時間太長(例如超過5秒鐘),使用者就會因沒有耐心等待而離開。
另外,有些頁面有逾時的限制,如果響應速度太慢,使用者可能還沒來得及浏覽内容,就需要重新登陸了。而且,連接配接速度太慢,還可能引起資料丢失,使使用者得不到真實的頁面。
2. 負載測試
負載測試是為了測量Web系統在某一負載級别上的性能,以保證Web系統在需求範圍内能正常工作。負載級别可以是某個時刻同時通路Web系統的使用者數量,也可以是線上資料處理的數量。例如:Web應用系統能允許多少個使用者同時線上?如果超過了這個數量,會出現什麼現象?Web應用系統能否處理大量使用者對同一個頁面的請求?
3. 壓力測試
負載測試應該安排在Web系統釋出以後,在實際的網絡環境中進行測試。因為一個企業内部員工,特别是項目組人員總是有限的,而一個Web系統能同時處理的請求數量将遠遠超出這個限度,是以,隻有放在Internet上,接受負載測試,其結果才是正确可信的。
進行壓力測試是指實際破壞一個Web應用系統,測試系統的反映。壓力測試是測試系統的限制和故障恢複能力,也就是測試Web應用系統會不會崩潰,在什麼情況下會崩潰。黑客常常提供錯誤的資料負載,直到Web應用系統崩潰,接着當系統重新啟動時獲得存取權。
壓力測試的區域包括表單、登陸和其他資訊傳輸頁面等
1.1.8 易用性測試
1. 系統界面的控件是否可以通過tab鍵周遊,并且順序合理
2. 主要功能的入口和操作是否易于了解
3. 界面是否布局合理,功能是否易于查找和使用
4. 操作步驟
5. 操作習慣
6. 有足夠的提示資訊,且資訊文字描述準确
1.1.9 相容性測試
相容性測試不隻是指界面在不同作業系統或浏覽器下的相容,有些功能方面的測試,也要考慮到相容性,
包括作業系統相容和應用軟體相容,可能還包括硬體相容
比如涉及到ajax、jquery、javascript等技術的,都要考慮到不同浏覽器下的相容性問題。
除了上面所說的這些測試以外,還有算法測試、配置測試、安全性測試等等,在工作中不斷總結和分析,形成自己的功能測試架構,當你把這份工作做起來以後,對于你自己對于測試團隊而言都是一份很有價值的事情,你的測試思路也會變得更全面。
原博文連結https://www.cnblogs.com/royfans/articles/7232207.html