測試用例的編寫須要按照必定的思路進行,而不是想到哪寫到哪,通常測試機制成熟的公司都會有公司本身自定義的測試用例模板,以及一整套的測試流程關注點,固然咱們本身在測試生涯中也應當積累一套本身的測試框架,全部功能性的測試均可以依據框架的思路來進行,達到事半功倍的效果。javascript
功能測試框架能夠包括:界面友好性測試、功能測試、連接測試、容錯測試、穩定性測試、常規性能測試、配置測試、算法測試等等。html
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. 檢查本地化是否經過:英文版不該該有中文信息,英文翻譯準確,專業。java
30. 背景灰度凍結jquery
1. 使用全部默認值進行測試ajax
2. 根據全部產品文檔、幫助文檔中描述的內容要進行遍歷測試算法
3. 輸入判斷數據庫
4. 全部界面出現是和否的邏輯,要測試瀏覽器
5. 異常處理安全
6. 敏感詞網絡
7. 根據需求文檔的流程圖遍歷全部流程圖路徑
8. 根據程序內容,遍歷if elif else switch的邏輯點要遍歷
9. 界面各類控件測試
如對於輸入框測試:
1、字符型輸入框:
1. 字符型輸入框:英文全角、英文半角、數字、空或者空格、特殊字符「~!@#¥%……&*?[]{}」特別要注意單引號和&符號。禁止直接輸入特殊字符時,使用「粘貼、拷貝」功能嘗試輸入。
2. 長度檢查:最小長度、最大長度、最小長度-一、最大長度+一、輸入超工字符好比把整個文章拷貝過去。
3. 空格檢查:輸入的字符間有空格、字符前有空格、字符後有空格、字符先後有空格
4. 多行文本框輸入:容許回車換行、保存後再顯示可以保存輸入的格式、僅輸入回車換行,檢查可否正確保存(若能,檢查保存結果,若不能,查看是否有正常提示)、
5. 安全性檢查:輸入特殊字符串
(null,NULL,,javascript,<script>,</script>,<title>,<html>,<td>)、輸入腳本函數(<script>alert("abc")</script>)、doucment.write("abc")、<b>hello</b>)
2、數值型輸入框:
1. 邊界值:最大值、最小值、最大值+一、最小值-1
2. 位數:最小位數、最大位數、最小位數-1最大位數+一、輸入超長值、輸入整數
3.異常值、特殊字符:輸入空白(NULL)、空格或"~!@#$%^&*()_+{}|[]\:"<>?;',./?;:'-=等可能致使系統錯誤的字符、禁止直接輸入特殊字符時,嘗試使用粘貼拷貝查看是否能正常提交、word中的特殊功能,經過剪貼板拷貝到輸入框,分頁符,分節符相似公式的上下標等、數值的特殊符號如∑,㏒,㏑,∏,+,-等、
輸入負整數、負小數、分數、輸入字母或漢字、小數(小數前0點捨去的狀況,多個小數點的狀況)、首位爲0的數字如0一、0二、科學計數法是否支持1.0E二、全角數字與半角數字、數字與字母混合、16進制,8進制數值、貨幣型輸入(容許小數點後面幾位)、
4. 安全性檢查:不能直接輸入就copy
3、日期型輸入框:
1. 合法性檢查:(輸入0日、1日、32日)、月輸入[一、三、五、七、八、十、12]、日輸入[31]、月輸入[四、六、九、11]、日輸入[30][31]、輸入非閏年,月輸入[2],日期輸入[2八、29]、輸入閏年,月輸入[2]、日期輸入[2九、30]、月輸入[0、一、十二、13]
考慮開始日期與結束日曆的比較,特別是在查詢的時候.
2. 異常值、特殊字符:輸入空白或NULL、輸入~!@#¥%……&*(){}[]等可能致使系統錯誤的字符
3. 安全性檢查:不能直接輸入,就copy,是否數據檢驗出錯?
業務流程,通常會涉及到多個模塊的數據,因此在對業務流程測試時,首先要保證單個模塊功能的正確性,其次就要對各個模塊間傳遞的數據進行測試,這每每是容易出現問題的地方,測試時必定要設計不一樣的數據進行測試。
如某一功能模塊具備最基本的增刪改查功能,則須要進行如下測試:
1. 單項功能測試(增長、修改、查詢、刪除)
2. 增長——>增長——>增長 (連續增長測試)
3. 增長——>刪除
4. 增長——>刪除——>增長 (新增長的內容與刪除內容一致)
5. 增長——>修改——>刪除
6. 修改——>修改——>修改 (連續修改測試)
7. 修改——>增長(新增長的內容與修改前內容一致)
8. 修改——>刪除
9. 修改——>刪除——>增長 (新增長的內容與刪除內容一致)
10. 刪除——>刪除——>刪除 (連續刪除測試)
主要是保證連接的可用性和正確性,它也是網站測試中比較重要的一個方面。
可使用特定的工具如XENU來進行連接測試。
1. 輸入系統不容許的數據做爲輸入
2. 把某個相關模塊或者子系統停掉,驗證對當前系統的影響
3. 配置文件刪除或者配置錯誤
4. 數據庫注入錯誤數據
1. 系統不間斷運行(7*24),驗證是否內存泄露、系統其餘資源是否存在泄露
2. 若是很緊急上線,能夠跑一夜或者週末跑兩天。
通常壓力很大的狀況下,數據庫鏈接數問題、內存泄露問題會曝露的比較快可是死鎖可能不能體現,因此要看系統重要性,如12306穩定性則最好7*24小時
1. 鏈接速度測試
用戶鏈接到Web應用系統的速度根據上網方式的變化而變化,他們或許是電話撥號,或是寬帶上網。當下載一個程序時,用戶能夠等較長的時間,但若是僅僅訪問一個頁面就不會這樣。若是Web系統響應時間太長(例如超過5秒鐘),用戶就會因沒有耐心等待而離開。
另外,有些頁面有超時的限制,若是響應速度太慢,用戶可能還沒來得及瀏覽內容,就須要從新登錄了。並且,鏈接速度太慢,還可能引發數據丟失,使用戶得不到真實的頁面。
2. 負載測試
負載測試是爲了測量Web系統在某一負載級別上的性能,以保證Web系統在需求範圍內能正常工做。負載級別能夠是某個時刻同時訪問Web系統的用戶數量,也能夠是在線數據處理的數量。例如:Web應用系統能容許多少個用戶同時在線?若是超過了這個數量,會出現什麼現象?Web應用系統可否處理大量用戶對同一個頁面的請求?
3. 壓力測試
負載測試應該安排在Web系統發佈之後,在實際的網絡環境中進行測試。由於一個企業內部員工,特別是項目組人員老是有限的,而一個Web系統能同時處理的請求數量將遠遠超出這個限度,因此,只有放在Internet上,接受負載測試,其結果纔是正確可信的。
進行壓力測試是指實際破壞一個Web應用系統,測試系統的反映。壓力測試是測試系統的限制和故障恢復能力,也就是測試Web應用系統會不會崩潰,在什麼狀況下會崩潰。黑客經常提供錯誤的數據負載,直到Web應用系統崩潰,接着當系統從新啓動時得到存取權。
壓力測試的區域包括表單、登錄和其餘信息傳輸頁面等
1. 系統界面的控件是否能夠經過tab鍵遍歷,而且順序合理
2. 主要功能的入口和操做是否易於理解
3. 界面是否佈局合理,功能是否易於查找和使用
4. 操做步驟
5. 操做習慣
6. 有足夠的提示信息,且信息文字描述準確
兼容性測試不僅是指界面在不一樣操做系統或瀏覽器下的兼容,有些功能方面的測試,也要考慮到兼容性,
包括操做系統兼容和應用軟件兼容,可能還包括硬件兼容
好比涉及到ajax、jquery、javascript等技術的,都要考慮到不一樣瀏覽器下的兼容性問題。
除了上面所說的這些測試之外,還有算法測試、配置測試、安全性測試等等,在工做中不斷總結和分析,造成本身的功能測試框架,當你把這份工做作起來之後,對於你本身對於測試團隊而言都是一份頗有價值的事情,你的測試思路也會變得更全面。
原博文連接https://www.cnblogs.com/royfans/articles/7232207.html