bug預防
1、頁面顯示:
產品的網頁通常保證在1024*768 的分辨率下顯示正常,但是常常忽略800*600分辨率下的顯示情況。如果頁面設計明確只考慮1024*768 的需求,則只在 1024*768下驗證各個產品頁面的顯示正確無誤
預防方法:切好的設計頁面和集成程序後的頁面需要分別在兩種顯示分 別率下驗證顯示的正確性
2、 瀏覽器兼容性:
目前市場上的主流瀏覽器如下:
1. IE 6.0-11
2. Chrome
3. 360瀏覽器
4. FireFox
5. Sogou瀏覽器
通常情況下要保證IE 6-11和FireFox 瀏覽器下的兼容性,需要保證頁面不變型,Js執行均正確
預防方法: 設計組需要制定頁面設計規範和Js 設計規範,保證主流瀏覽 器的頁面顯示兼容性和Js 設計兼容性
3、Tab鍵的使用:
頁面中的tab翻頁可以正常切換、支持tab按鍵切換的要檢驗使用的正確性和合理性
預防方法:需求設計過程中需要考慮tab鍵的使用合理性 程序設計或者頁面設計出一個tab鍵使用的通用設 計或者規範
4、前進和後退問題:
IE 有一個特性:就是允許前進和後退到某一個頁面, 在某些特殊情況下,用戶進行前進和後退,有可能造 成數據不完整的提交,或者其他的顯示問題。
預防方法: 制定一些標準的策略來處理IE的前進和後退操作,作爲整個兒項目的共享,防止用戶返回特定的數據提交頁面和瀏覽頁面,並進行重複操作。
5、頁面提示語言、Js提示語言,程序提示語言: 通常情況下,產品人員並不會將產品需求細化到 某句話應該如何提示用戶,所以不同的程序員會根據 自己的語言特點來提示用戶,這就造成了不同程序員 提示的語言風格完全不一樣,造成產品友好度下降。
解決方法:
產品人員和開發人員一起制定儘可能大而全的提 示語言規範,並且作爲規範說明提供給開發人員進行 使用。
6、語言文字提示(微軟的標準):
1. 全角字符和半角字符都要使用一個空格分開
2. 英文和數字之間要有空格分開
3. 漢字和英文、數字要有空格分開
4. 帶有漢字的話要使用全角字符
5. 語言中不要混用全角和半角標點
6. 在語言中,永遠不要用“你”這個字,要做一些操作步驟描述的時候,要多用“請”字
7、文字縮略和折行:
輸入框提交很長的字符,並且不折行,則提交數據後,有可能會把頁面的拉的非常長。如果要將文字後面的一些文字處理爲省略號的時候,需要注意不要將中文截成半個字符
預防方法:提交公共處理字符的程序,解決上述問題,來進行公用
8、圖片的顯示和鏈接:
圖片是否增加鏈接通常會被開發人員忽略掉 圖片的顯示位置通常會顯示不同像素大小和比例的圖,所以需要明確定義大圖片如何縮減成爲小圖片的策略,以 及小圖片如何拉伸顯示爲大的圖片
解決方法:
提供的需求中明確圖片是否需要鏈接以及鏈接的位置 需求中明確圖片顯示策略,是等比縮放顯示,還是原大小 顯示,還是自適應顯示,並且制定相應策略的統一處理模塊
9、 重複提交:
用戶提交數據頁面,用戶有可能連續多次點擊提交按鈕,造成數據的重複提交 試
預防方法:用戶點擊“提交”後,將按鈕變爲Disable狀態
10、輸入判斷問題(1 ):
所有鍵盤輸入的特殊字符,均可以正常保存 需要特別處理英文單引號、英文雙引號等引起程序錯 誤的問題
需要處理“< ”、“/”和“\ ”等容易保存出錯的字符
預防方法:
開發公共處理特殊字符的模塊,在系統中進行規範應用
11、輸入判斷問題(2 ):
數字框只能輸入數字的內容日期框需要判斷日期是否合法 文本框需要判斷字段長是否限制了 對於空格的處理,如果系統想trim掉字符串最開頭和最後 的空格,則需要整個兒系統都使用此策略,否則會造成數據傳遞不一致的問題 需要前臺頁面使用js來判斷輸入的合法性,同時後臺邏輯 也要添加判斷輸入合法性的判斷。
12、多個IE 同時訪問的情況:
用戶可能打開不同的IE使用相同的用戶登錄後進行 操作,程序處理的時候要考慮到數據的一致性和同 步問題
多個IE使用不同用戶,則cookie操作不會出現用戶信息混亂的問題
13、安全考慮:
在URL 中不要帶有明文的用戶信息寫代碼的時候, 不要把密碼等敏感的用戶信息明文的顯示在url 中即使要傳遞密碼參數也不要使用pwd 、passpord這 樣的參數名稱來進行傳遞,防止被截獲 要在傳遞參數的操作中使用NoCache參數,防止將 url參數進行緩存
預防方法: 建立標準的數據傳輸和命名規範,並製作一些網頁開 發模板或者規範供參考
14、防止Sql注入:
不要把數據庫或者程序的任何報錯信息顯示在頁面上。 最好程序能夠將select update delete 這些關鍵字都過濾 掉,不讓用戶提交包含這些數據的信息。 數據庫中設計到操作權限的表名和字段名用很通俗易懂 的名字 輸入框儘量過濾掉“<>”這樣的字符,防止javascript攻擊
預防方法:
出錯的時候使用錯誤處理頁面,建立標準的過濾關鍵字程序,統一數據庫設計命名規範,建立防js攻擊的標準函數
15、關於Cookie:
Cookie沒有設定過期時間 工 IE不支持Cookie的時候沒有任何提示信息 Cookie中的敏感信息沒有進行加密
預防方案: 明確cookie生存期,並對生成的cookie進行檢查,建立標準的檢查瀏覽器對cookie支持的程序函數
16、各種資源連接的釋放: 有的時候,系統莫名訪問不了,則有可能是數據庫 連接沒有釋放 壓力測試的時候,連接釋放如果效率不高,則有可能出現大量連接超時失敗
預防方法:
系統資源的釋放過程,最好通過代碼review 的方式 來互相監督
17、關於Keepalive的設置: 如果需要在一個連接同時獲取多個資源,則需要打開 apache或者resin 的Keepalive參數爲On,來提高系統的處理能力,減少多次建立連接所消耗的資源。如果大量 的處理只是一次性連接,則不要打開Keepalive設置。在實際工作中,需keepalive分別設置On或者Off來 驗證哪個設置的性能更好。
18、系統上線的log配置:上線以後,要關閉無用大量調試log信息 不要打開過多的log
預防方法:系統管理員對所有打開log級別進行確認,並羣發相 關人
19、用戶易用性:
用戶刪除某個數據前,要明確提示用戶是否要刪除, 默認把焦點選擇爲“否”。
20、文檔: 程序實現和接口文檔描述不一致
預防方法: Leader定期對接口進行審覈,保證文檔、需求變更 和程序實現保持一致
21、多表操作:
詳細設計文檔缺失,接口對多表進行操作時候,經常會發生有些表的數據沒有被更新的情況
預防方法:
審覈設計文檔是否覆蓋必要的邏輯,加強CodeReview
22、參數的容錯處理:
接口沒有對參數進行必要的容錯,參數出現錯誤的時候, 接口也沒有做相應的錯誤處理,文檔也沒有描述容錯機制
預防方法:
明確每個接口對哪些情況進行必要的容錯,並寫到設計文 檔中,由Leader 進行文檔審覈
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.