輸入框
字符型輸入框
- 字符型輸入框:英文全角、英文半角、數字、空或者空格、特殊字符「~!@#¥%……&*?[]{}」特別要注意單引號和&符號。禁止直接輸入特殊字符時,使用「粘貼、拷貝」功能嘗試輸入
- 長度檢查:最小長度、最大長度、最小長度-一、最大長度+一、輸入超多的字符好比把整個文章拷貝過去
- 空格檢查:輸入的字符間有空格、字符前有空格、字符後有空格、字符先後有空格
- 多行文本框輸入:容許回車換行、保存後再顯示可以保存輸入的格式、僅輸入回車換行,檢查可否正確保存(若能,檢查保存結果,若不能,查看是否有正常提示)
- 安全性檢查:輸入特殊字符串
(null,NULL, ,javascript,<script>,</script>,<title>,<html>,<td>)、輸入腳本函數(<script>alert("abc")</script>)、doucment.write("abc")、<b>hello</b>)
數值型輸入框
- 邊界值:最大值、最小值、最大值+一、最小值-1
- 位數:最小位數、最大位數、最小位數-一、最大位數+一、輸入超長值、輸入整數
- 異常值、特殊字符:輸入空白(NULL)、空格或"~!@#$%^&*等可能致使系統錯誤的字符、禁止直接輸入特殊字符時,嘗試使用粘貼拷貝查看是否能正常提交、word中的特殊功能,經過剪貼板拷貝到輸入框,分頁符,分節符相似公式的上下標等、數值的特殊符號如∑,㏒,㏑,∏,+,-等、輸入負整數、負小數、分數、輸入字母或漢字、小數(小數前0點捨去的狀況,多個小數點的狀況)、首位爲0的數字如0一、0二、科學計數法是否支持1.0E二、全角數字與半角數字、數字與字母混合、16進制,8進制數值、貨幣型輸入(容許小數點後面幾位)
- 安全性檢查:不能直接輸入就copy
日期型輸入框
- 合法性檢查:(輸入0日、1日、32日)、月輸入[一、三、五、七、八、十、12]、日輸入[31]、月輸入[四、六、九、11]、日輸入30、輸入非閏年,月輸入[2],日期輸入[2八、29]、輸入閏年,月輸入[2]、日期輸入[2九、30]、月輸入[0、一、十二、13]
- 異常值、特殊字符:輸入空白或NULL、輸入~!@#¥%……&*(){}[]等可能致使系統錯誤的字符
- 安全性檢查:不能直接輸入,就copy,是否數據檢驗出錯
信息重複
在一些須要命名,且名字應該惟一的信息輸入重複的名字或ID,看系統有沒有處理,是否會報錯,重名包括是否區分大小寫,以及在輸入內容的先後輸入空格,系統是否做出正確處理javascript
搜索功能
功能實現
- 果支持模糊查詢,搜索名稱中任意一個字符是否能搜索到
- 比較長的名稱是否能查到
- 輸入系統中不存在與之匹配的條件
- 用戶進行查詢操做時,通常狀況是不進行查詢條件的清空,除非需求特殊說明
組合測試
- 不一樣查詢條件之間來回選擇,是否出現頁面錯誤(單選框和多選框最容易出錯)
- 測試多個查詢條件時,要注意查詢條件的組合測試,可能不一樣組合的測試會報錯
添加、修改功能
特殊鍵
- 是否支持Tab鍵
- 是否支持回車鍵
提示信息
不符合要求的地方是否有錯誤提示html
惟一性
字段惟一的,是否能夠重複添加,添加後是否能修改成已存在的字段(字段包括區分大小寫以及在輸入的內容先後輸入空格,保存後,數據是否真的插入到數據庫中,注意保存後數據的正確性)java
數據 正確性
- 對編輯頁的每一個編輯項進行修改,點擊保存,是否能夠保存成功,檢查想關聯的數據是否獲得更新。
- 進行必填項檢查(便是否給出提示以及提示後是否依然把數據存到數據庫中;是否提示後出現頁碼錯亂等)
- 是否可以連續添加(針對特殊狀況)
- 在編輯的時候,注意編輯項的長度限制,有時在添加的時候有,在編輯的時候卻沒有(注意要添加和修改規則是否一致)
- 對於有圖片上傳功能的編輯框,若不上傳圖片,查看編輯頁面時是否顯示有默認的圖片,若上傳圖片,查看是否顯示爲上傳圖片
- 修改後增長數據後,特別要注意查詢頁面的數據是否及時更新,特別是在首頁時要注意數據的更新
- 提交數據時,連續屢次點擊,查看系統會不會連續增長几條相同的數據或報錯
- 若結果列表中沒有記錄或者沒選擇某條記錄,點擊修改按鈕,系統是否會拋異常
刪除功能
特殊鍵
- 是否支持delete鍵
- 是否支持backup鍵
提示信息
- 不選擇任何信息,直接點擊刪除按鈕,是否有提示
- 刪除某條信息時,應該有確認提示
數據實現
- 是否能連續刪除多個產品
- 當只有一條數據時,是否能夠刪除成功
- 刪除一條數據後,是否能夠添加相同的數據
- 如系統支持批量刪除,注意刪除的信息是否正確
- 若有全選,注意是否把全部的數據刪除
- 刪除數據時,要注意相應查詢頁面的數據是否及時更新
- 如刪除的數據與其餘業務數據關聯,要注意其關聯性(如刪除部門信息時,部門下游員工,則應該給出提示)
- 若是結果列表中沒有記錄或沒有選擇任何一條記錄,點擊刪除按鈕系統會報錯
註冊、登錄模塊
註冊功能
- 註冊時,設置密碼爲特殊字符,檢查登陸時是否會報錯
- 註冊成功後,頁面應該以登錄狀態跳轉到首頁或指定頁面
- 在註冊信息中刪除已輸入的信息,檢查是否能夠註冊成功。
登錄功能
- 輸入正確的用戶名和正確的密碼
- 輸入正確的用戶名和錯誤的密碼
- 輸入錯誤的用戶名和正確的密碼
- 輸入錯誤的用戶名和錯誤的密碼
- 不輸入用戶名和密碼(均爲空格)
- 只輸入用戶名,密碼爲空
- 用戶名爲空,只輸入密碼
- 輸入正確的用戶名和密碼,可是不區分大小寫
- 用戶名和密碼包括特殊字符
- 用戶名和密碼輸入超長值
- 已刪除的用戶名和密碼
- 登陸時,當頁面刷新或從新輸入數據時,驗證碼是否更新
上傳功能
- 文件類型正確、大小合適
- 文件類型正確,大小不合適
- 文件類型錯誤,大小合適
- 文件類型和大小都合適,上傳一個正在使用中的圖片
- 文件類型大小都合適,手動輸入存在的圖片地址來上傳
- 文件類型和大小都合適,輸入不存在的圖片地址來上傳
- 文件類型和大小都合適,輸入圖片名稱來上傳
- 不選擇文件直接點擊上傳,查看是否給出提示
- 連續屢次選擇不一樣的文件,查看是否上傳最後一次選擇的文件
查詢結果列表
- 列表、列寬是否合理
- 列表數據太寬有沒有提供橫向滾動
- 列表的列名有沒有與內容對應
- 列表的每列的列名是否描述的清晰
- 列表是否把沒必要要的列都顯示出來
- 點擊某列進行排序,是否會報錯(點擊查看每一頁的排序是否正確)
- 雙擊或單擊某列信息,是否會報錯
返回鍵檢查
- 一條已經成功提交的記錄,返回後再提交,是否作了處理
- 檢查屢次使用返回鍵的狀況,在有返回鍵的地方,返回到原來的頁面屢次,查看是否會出錯
回車鍵檢查
在輸入結果後,直接按回車鍵,看系統如何處理,是否會報錯jquery
刷新鍵檢查
在Web系統中,使用刷新鍵,看系統如何處理,是否會報錯web
直接URL連接檢查
在Web系統中,在地址欄直接輸入各個功能頁面的URL地址,看系統如何處理,是否可以直接連接查看(匿名查看),是否有權限控制,是否直接執行,並返回相應結果頁ajax
界面和易用性測試
- 風格、樣式、顏色是否協調
- 界面佈局是否整齊、協調(保證所有顯示出來的,儘可能不要使用滾動條
- 界面操做、標題描述是否恰當(描述有歧義、注意是否有錯別字)
- 操做是否符合人們的常規習慣(有沒有把類似的功能的控件放在一塊兒,方便操做)
- 提示界面是否符合規範(不該該顯示英文的cancel、ok,應該顯示中文的肯定等)
- 界面中各個控件是否對齊
- 日期控件是否可編輯
- 日期控件的長度是否合理,以修改時能夠把時間所有顯示出來爲準
- 查詢結果列表列寬是否合理、標籤描述是否合理
- 查詢結果列表太寬沒有橫向滾動提示
- 對於信息比較長的文本,文本框有沒有提供自動豎直滾動條
- 數據錄入控件是否方便
- 有沒有支持Tab鍵,鍵的順序要有條理,不亂跳
- 有沒有提供相關的熱鍵
- 控件的提示語描述是否正確
- 模塊調用是否統一,相同的模塊是否調用同一個界面
- 用滾動條移動頁面時,頁面的控件是否顯示正常
- 日期的正確格式應該是XXXX-XX-XX或XXXX-XX-XX XX:XX:XX
- 頁面是否有多餘按鈕或標籤
- 窗口標題或圖標是否與菜單欄的統一
- 窗口的最大化、最小化是否能正確切換
- 對於正常的功能,用戶能夠沒必要閱讀用戶手冊就能使用
- 執行風險操做時,有確認、刪除等提示嗎
- 操做順序是否合理
- 正確性檢查:檢查頁面上的form, button, table, header, footer,提示信息,還有其餘文字拼寫,句子的語法等是否正確。
- 系統應該在用戶執行錯誤的操做以前提出警告,提示信息.
- 頁面分辨率檢查,在各類分辨率瀏覽系統檢查系統界面友好性。
- 合理性檢查:作delete, update, add, cancel, back等操做後,查看信息回到的頁面是否合理。
- 檢查本地化是否經過:英文版不該該有中文信息,英文翻譯準確,專業。
兼容性測試
兼容性測試不僅是指界面在不一樣操做系統或瀏覽器下的兼容,有些功能方面的測試,也要考慮到兼容性,
包括操做系統兼容和應用軟件兼容,可能還包括硬件兼容
好比涉及到ajax、jquery、javascript等技術的,都要考慮到不一樣瀏覽器下的兼容性問題。數據庫
連接測試
導航測試
導航描述了用戶在一個頁面內操做的方式,在不一樣的用戶接口控制之間,例如按鈕、對話框、列表和窗口等;或在不一樣的鏈接頁面之間。經過考慮下列問題,能夠決定一個Web應用系統是否易於導航:導航是否直觀?Web系統的主要部分是否可經過主頁存取?Web系統是否須要站點地圖、搜索引擎或其餘的導航幫助?
在一個頁面上放太多的信息每每起到與預期相反的效果。Web應用系統的用戶趨向於目的驅動,很快地掃描一個Web應用系統,看是否有知足本身須要的信息,若是沒有,就會很快地離開。不多有用戶願意花時間去熟悉Web應用系統的結構,所以,Web應用系統導航幫助要儘量地準確。
導航的另外一個重要方面是Web應用系統的頁面結構、導航、菜單、鏈接的風格是否一致。確保用戶憑直覺就知道Web應用系統裏面是否還有內容,內容在什麼地方。
Web應用系統的層次一旦決定,就要着手測試用戶導航功能,讓最終用戶參與這種測試,效果將更加明顯。瀏覽器
圖形測試
在Web應用系統中,適當的圖片和動畫既能起到廣告宣傳的做用,又能起到美化頁面的功能。一個Web應用系統的圖形能夠包括圖片、動畫、邊框、顏色、字體、背景、按鈕等。圖形測試的內容有:安全
- 要確保圖形有明確的用途,圖片或動畫不要胡亂地堆在一塊兒,以避免浪費傳輸時間。Web應用系統的圖片尺寸要儘可能地小,而且要能清楚地說明某件事情,通常都連接到某個具體的頁面。
- 驗證全部頁面字體的風格是否一致。
- 背景顏色應該與字體顏色和前景顏色相搭配。
- 圖片的大小和質量也是一個很重要的因素,通常採用JPG或GIF壓縮,最好能使圖片的大小減少到30k如下
- 最後,須要驗證的是文字迴繞是否正確。若是說明文字指向右邊的圖片,應該確保該圖片出如今右邊。不要由於使用圖片而使窗口和段落排列古怪或者出現孤行。
一般來講,使用少量或儘可能不使用背景是個不錯的選擇。若是您想用背景,那麼最好使用單色的,和導航條一塊兒放在頁面的左邊。另外,圖案和圖片可能會轉移用戶的注意力。服務器
業務流程測試
業務流程,通常會涉及到多個模塊的數據,因此在對業務流程測試時,首先要保證單個模塊功能的正確性,其次就要對各個模塊間傳遞的數據進行測試,這每每是容易出現問題的地方,測試時必定要設計不一樣的數據進行測試。
安全性測試
- SQL注入(好比登錄頁面)
- XSS跨網站腳本攻擊:程序或數據庫沒有對一些特殊字符進行過濾或處理,致使用戶所輸入的一些破壞性的腳本語句可以直接寫進數據庫中,瀏覽器會直接執行這些腳本語句,破壞網站的正常顯示,或網站用戶的信息被盜,構造腳本語句時,要保證腳本的完整性。
document.write("abc")
<script>alter("abc")</script>
- URL地址後面隨便輸入一些符號,並儘可能是動態參數靠後
- 驗證碼更新問題
- 如今的Web應用系統基本採用先註冊,後登錄的方式。所以,必須測試有效和無效的用戶名和密碼,要注意到是否大小寫敏感,能夠試多少次的限制,是否能夠不登錄而直接瀏覽某個頁面等。
- Web應用系統是否有超時的限制,也就是說,用戶登錄後在必定時間內(例如15分鐘)沒有點擊任何頁面,是否須要從新登錄才能正常使用。
- 爲了保證Web應用系統的安全性,日誌文件是相當重要的。須要測試相關信息是否寫進了日誌文件、是否可追蹤。
- 當使用了安全套接字時,還要測試加密是否正確,檢查信息的完整性。
- 服務器端的腳本經常構成安全漏洞,這些漏洞又經常被黑客利用。因此,還要測試沒有通過受權,就不能在服務器端放置和編輯腳本的問題。
性能測試
鏈接速度測試
用戶鏈接到Web應用系統的速度根據上網方式的變化而變化,他們或許是電話撥號,或是寬帶上網。當下載一個程序時,用戶能夠等較長的時間,但若是僅僅訪問一個頁面就不會這樣。若是Web系統響應時間太長(例如超過5秒鐘),用戶就會因沒有耐心等待而離開。
另外,有些頁面有超時的限制,若是響應速度太慢,用戶可能還沒來得及瀏覽內容,就須要從新登錄了。並且,鏈接速度太慢,還可能引發數據丟失,使用戶得不到真實的頁面。
負載測試
負載測試是爲了測量Web系統在某一負載級別上的性能,以保證Web系統在需求範圍內能正常工做。負載級別能夠是某個時刻同時訪問Web系統的用戶數量,也能夠是在線數據處理的數量。例如:Web應用系統能容許多少個用戶同時在線?若是超過了這個數量,會出現什麼現象?Web應用系統可否處理大量用戶對同一個頁面的請求?
壓力測試
負載測試應該安排在Web系統發佈之後,在實際的網絡環境中進行測試。由於一個企業內部員工,特別是項目組人員老是有限的,而一個Web系統能同時處理的請求數量將遠遠超出這個限度,因此,只有放在Internet上,接受負載測試,其結果纔是正確可信的。
進行壓力測試是指實際破壞一個Web應用系統,測試系統的反映。壓力測試是測試系統的限制和故障恢復能力,也就是測試Web應用系統會不會崩潰,在什麼狀況下會崩潰。黑客經常提供錯誤的數據負載,直到Web應用系統崩潰,接着當系統從新啓動時得到存取權。
壓力測試的區域包括表單、登錄和其餘信息傳輸頁面等。
負載/壓力測試應該關注什麼
- 瞬間訪問高峯
若是您的站點用於公佈彩票的抽獎結果,最好使系統在中獎號碼公佈後的一段時間內可以響應上百萬的請求。負載測試工具可以模擬X個用戶同時訪問測試站點。
- 每一個用戶傳送大量數據
網上書店的多數用戶可能只訂購1-5書,可是大學書店可能會訂購5000本有關心理學介紹的課本?或者一個祖母爲她的50個兒孫購買聖誕禮物(固然每一個孩子都有本身的郵件地址)系統能處理單個用戶的大量數據嗎?
- 長時間的使用
若是站點用於處理鮮花訂單,那麼至少但願它在母親節前的一週內能持續運行。若是站點提供基於web的email服務,那麼點最好能持續運行幾個月,甚至幾年。可能須要使用自動測試工具來完成這種類型的測試,由於很難經過手工完成這些測試。你能夠想象組織100我的同時點擊某個站點。可是同時組織100000我的呢。一般,測試工具在第二次使用的時候,它創造的效益,就足以支付成本。並且,測試工具安裝完成以後,再次使用的時候,只要點擊幾下。
採起措施:採用性能測試工具WAS、ACT,LR等協助進行測試
測試中應該注意的其餘狀況
- 在測試時,與網絡有關的步驟或者模塊必須考慮到斷網的狀況
- 每一個頁面都有相應的Title,不能爲空,或者顯示「無標題頁」
- 在測試的時候要考慮到頁面出現滾動條時,滾動條上下滾動時,頁面是否正常
- URL不區分大小寫,大小寫不敏感
- 對於電子商務網站,當用戶併發購買數量大於庫存的數量時,系統如何處理
- 測試數據避免單純輸入「123」、「abc「之類的,讓測試數據儘可能接近實際
- 進行測試時,儘可能不要用超級管理員進行測試,用新建的用戶進行測試。測試人員儘可能不要使用同一個用戶進行測試
- 提示信息是否完整、正確、詳細
- 幫助信息:是否提供幫助信息,幫助信息的表現形式(頁面文字、提示信息、幫助文件),幫助信息是否正確、詳細
- 可擴展性:是否由升級的餘地,是否保留了接口
- 穩定性:運行所需的軟硬件配置,佔用資源狀況,出現問題時的容錯性,對數據的保護
- 運行速度:運行的快慢,帶寬佔用狀況