1. 程式人生 > >如何判斷前後端bug

如何判斷前後端bug

測試工程師不只是負責發現問題,除了發現問題這種基本功外,定位問題,提出解決方案,提出預防方案也是要掌握的技能。這裡先說定位問題的要求,定位問題要向深入,前提當然是對功能、產品的流程、開發方案、開發人員非常熟悉了,以我們部門為例,定位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