­

如何判斷前後端bug

  • 2019 年 10 月 3 日
  • 筆記

測試工程師不只是負責發現問題,除了發現問題這種基本功外,定位問題,提出解決方案,提出預防方案也是要掌握的技能。這裡先說定位問題的要求,定位問題要向深入,前提當然是對功能、產品的流程、開發方案、開發人員非常熟悉了,以我們部門為例,定位bug至少要到下面這種程度。
首先確定是界面顯示問題還是功能問題

如果是界面問題,如貼圖錯誤,文字錯誤,樣式錯誤,則需要截圖。
如果是功能問題,控制台的問題至少定位到:www的問題還是數據庫問題,如果是www問題至少要定位到是前端還是後端問題;如果是數據庫問題至少要定位到是服務端接口問題還是中間件問題。
客戶端的問題至少定位到:哪個dll模塊或者邏輯出的問題
服務端的問題至少定位到:什麼接口出的問題,導致數據庫哪裡不對,另外,

測試時不要全按照用例走,要多發散思維
測試時要盡量考慮得更全面,把一些多用戶多終端或其他極端的情況都考慮到。
最後,跟進重點問題的修改進度和方案,詢問開發時如何修改的,反思開發的修改方案是否存在漏洞。

為何要學會區分前端和後台BUG?
如果是一個多人開發的系統,不能明確定位到這個bug是誰造成的,容易提交給錯誤的開發人員,於是bug會像皮球一樣被開發踢來踢去,耽誤開發解決bug的時間。
即便提交給對的開發,開發也未必能查到bug產生的原因和代碼有問題的地方,因此不一定能修復bug,往往修改了自己認為可能有問題的地方,然後測試發現還有問題,繼續發回給開發,開發繼續查,來來回回耽誤解決bug的時間。
再退一步來說,如果開發水平很高,沒有1和2的問題,對於測試來說也很容易提交重複的bug,因為可能很多bug都是由於一個地方引起的,只是表現出問題不一樣,但本質卻是一樣的,這樣也是耽誤了測試時間。
當然能遇到的遠遠不止以上3種情況,所以對於測試來說僅僅提交bug是不夠的,無論對於測試自身的提高積累,還是對於項目進度推進都是非常重要的。

測試工程師如何區分前端和後台的BUG
前台的bug通常是功能、界面和兼容性等有關;後台的bug與邏輯、性能和安全性有關。與數據相關的錯誤、排序問題大多是後台問題,對於APP頁面toast提示可能是後台給的,可能是APP給的
通常情況下,我們可以通過請求接口、傳參和響應三部分來判斷Bug,另外,也可以在瀏覽器的控制台進行代碼調試定位。

請求接口URL是否正確,如果請求接口URL不正確,為前端Bug
http請求中的參數是否正確,如果http請求中的參數不正確,為前端Bug
如果接口URL和參數都正確,查看響應內容是否正確,如果這種情況下響應內容不正確,則為後端Bug
如果JS基礎比較好的話,也可以在瀏覽器的控制台中輸入JS代碼進行調試

根據接口的文件,檢查數據是否正確,至於如何分析,這個就看個人的基礎了,如果發送的數據是正確的,但是後台反饋的數據是不符合需求的,那就是後台的問題;如果前端沒有請求接口,或者請求的時候發送數據與需求不符,那這個時候就是前端的問題了。
前台bug定位:按F12在console中查看報錯信息,對於出錯的js可以在Sources下查看對應報錯的資源文件,寫入禪道提交給開發即可。
後端的Bug,如何準確的定位問題在哪裡,如何精準的描述Bug?

1 查看報錯日誌,通過日誌分析,需要有一定的經驗,並且有一定的代碼基礎,才能更好地定位問題。
2 查看數據庫的數據,了解所測功能的數據表結構,測試過程中,查看數據庫的數據,確認數據的正確性。
3 查看緩存(如Memcache、apc、redis等緩存)是否正確

前台bug注意以下三個方面:

網站前台的權限控制:沒有權限的用戶是不能直接輸入url的方式來進行訪問的,必須進行登錄。以後涉及到權限的測試,一定不能漏掉url的方式也需要驗證一下。而在單個頁面進行W3C測試時則需要去掉該權限控制。
網站前台的title,對於這個也很容易忽視。進入到不同的功能頁面,title顯示應該是有,並且要和你進入的頁面一致。title就是在瀏覽器最左上角看到的那些文字
http和https的注意點:https是一種安全鏈接,它是需要證書的,而http就是普通鏈接,所以在你的系統中客戶會要求某些關鍵的地方希望加上這種安全連接,那麼此時你需要注意的是,對於不需要的安全鏈接的地方千萬也要去重點測試,有些開發會很容易忽略這一點。
你要打開HTTPS開頭的網站,前提是該網站安裝了SSL證書,只有安裝了SSL證書的網站,並且開啟了443端口,你才可以通過HTTPS加密協議無訪問。如果沒有則不能訪問。

你可要測試,比如在某個網站http協議後面加個s去訪問,看能否訪問成功,能成功,會顯示綠色安全小鎖,否則就不能訪問。給你舉幾個安裝了ssl證書,可要https訪問的網站,1號店,天貓,淘寶,支付寶,百度,沃通CA,工信部網站等等
前端bug主要分為3個類別:HTML,CSS,Javascript三類問題

給個最大的區別方式方法:

1 出現樣式的問題基本都是CSS的bug
2 出現文本的問題基本都是html的bug
3 出現交互類的問題基本都是Javascript的bug