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 進行文檔審覈 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章