【編測編學】分享一套好用的功能測試用例編寫框架
功能測試用例編寫框架
功能測試框架可以包括:
介面友好性測試、功能測試、連結測試、容錯測試、穩定性測試、常規效能測試、配置測試、演算法測試等等。
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應用系統崩潰,接著當系統重新啟動時獲得存取權。
壓力測試的區域包括表單、登陸和其他資訊傳輸頁面等
負載測試是為了測量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等技術的,都要考慮到不同瀏覽器下的相容性問題。
除了上面所說的這些測試以外,還有演算法測試、配置測試、安全性測試等等,在工作中不斷總結和分析,形成自己的功能測試框架,當你把這份工作做起來以後,對於你自己對於測試團隊而言都是一份很有價值的事情,你的測試思路也會變得更全面。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69985967/viewspace-2738414/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【轉】測試用例編寫(功能測試框架)框架
- 介面測試用例編寫和測試關注點
- 軟體測試用例編寫(含思路)
- 如何編寫功能測試報告測試報告
- 軟體測試用例的設計和編寫
- 如何編寫介面測試用例?測試工程師必備技能!工程師
- 第8課—設計測試用例編寫技巧
- 【編測編學】軟體測試的就業如何?就業
- Golang 編寫測試教程Golang
- 用Junit Framework編寫單元測試Framework
- 【編測編學】介面測試必備面試題(上)面試題
- 【編測編學】如何做好大資料測試大資料
- C語言[工程專案應用]gtest測試框架編寫以及自定義測試框架C語言框架
- 【編測編學】自動化測試面試必背(上)面試
- 【編測編學】自動化測試面試必背(下)面試
- 用Junit Framework編寫單元測試 (轉)Framework
- Web自動化-Selenium自動化測試-4-編寫測試用例Web
- 測試平臺系列(79) 編寫Redis配置功能(下)Redis
- 【編測編學】介面測試必備面試題必背(下)面試題
- 自己編寫的(測試點總結)
- 編寫可測試的 JavaSript 程式碼Java
- 編寫可測試的 JavaScript 程式碼JavaScript
- 用LoadRunner編寫socket應用的測試指令碼指令碼
- 探索人工智慧在測試領域的新紀元:AI編寫測試用例的前景人工智慧AI
- 效能測試報告編寫技巧測試報告
- JUnit5編寫基本測試
- 使用 xunit 編寫測試程式碼
- 使用 intern 編寫測試程式碼
- 用 Swift 編寫網路層單元測試Swift
- 如何編寫優秀的測試程式碼|單元測試
- 可用性測試任務的編寫
- 不經常用到但又非常重要的測試用例編寫方法——測試大綱法詳解
- 前端進階-編寫測試程式碼前端
- 第2章 編寫測試函式函式
- 【編測編學】對於軟體測試四大誤區的認識
- Java編碼測試Java
- Go測試技術分享(一):場景化介面Case編寫Go
- 開發測試用例:手動擼程式碼 VS 填鴨式編寫