后端的Bug,如何準(zhǔn)確的定位問題在哪里环葵,如何精準(zhǔn)的描述Bug调窍?
(1)查看報錯日志
?查看報錯日志,通過日志分析张遭,需要有一定的經(jīng)驗邓萨,并且有一定的代碼基礎(chǔ),才能更好地定位問題菊卷。
(2)查看數(shù)據(jù)庫的數(shù)據(jù)
?了解所測功能的數(shù)據(jù)表結(jié)構(gòu)缔恳,測試過程中,查看數(shù)據(jù)庫的數(shù)據(jù)的烁,確認數(shù)據(jù)的正確性褐耳。
(3)查看緩存(如Memcache、apc渴庆、redis等緩存)是否正確
現(xiàn)在來分析bug可能是前臺還是后臺:
1:文本框輸入不合法的內(nèi)容,點擊提交按鈕, 如果不合法的內(nèi)容提交成功襟雷, 那應(yīng)該是前后臺沒有做校驗刃滓, 前后臺都有這個bug
2:文本框輸入合法的內(nèi)容,點擊提交按鈕耸弄, 查看數(shù)據(jù)庫中的數(shù)據(jù)和輸入的內(nèi)容不一致咧虎, 這個時候需要看前臺傳的數(shù)據(jù)是否正確,使用fiddler抓包计呈, 查看請求頭里面的數(shù)據(jù)是否和輸入一致砰诵,如果一致就是后臺的問題, 如果不一致捌显,就是前臺的bug
3:界面展示不友好茁彭, 重復(fù)提交 這些都是前臺的bug
前臺定位方法:
前臺bug定位:按F12在console中查看報錯信息,對于出錯的js可以在Sources下查看對應(yīng)報錯的資源文件扶歪,寫入禪道提交給開發(fā)即可
前臺bug注意以下三個方面:
(1)網(wǎng)站前臺的權(quán)限控制:沒有權(quán)限的用戶是不能直接輸入url的方式來進行訪問的理肺,必須進行登錄。以后涉及到權(quán)限的測試善镰,一定不能漏掉url的方式也需要驗證一下妹萨。而在單個頁面進行W3C測試時則需要去掉該權(quán)限控制。
(2)網(wǎng)站前臺的title炫欺,對于這個也很容易忽視乎完。進入到不同的功能頁面,title顯示應(yīng)該是有品洛,并且要和你進入的頁面一致树姨。title就是在瀏覽器最左上角看到的那些文字
(3)http和https的注意點:https是一種安全鏈接,它是需要證書的毫别,而http就是普通鏈接娃弓,所以在你的系統(tǒng)中客戶會要求某些關(guān)鍵的地方希望加上這種安全連接,那么此時你需要注意的是岛宦,對于不需要的安全鏈接的地方千萬也要去重點測試台丛,有些開發(fā)會很容易忽略這一點。
你要打開HTTPS開頭的網(wǎng)站砾肺,前提是該網(wǎng)站安裝了SSL證書挽霉,只有安裝了SSL證書的網(wǎng)站,并且開啟了443端口变汪,你才可以通過HTTPS加密協(xié)議無訪問侠坎。如果沒有則不能訪問。比如在某個網(wǎng)站http協(xié)議后面加個s去訪問裙盾,看能否訪問成功实胸,能成功他嫡,會顯示綠色安全小鎖,否則就不能訪問庐完。給你舉幾個安裝了ssl證書钢属,可要https訪問的網(wǎng)站,1號店门躯,天貓淆党,淘寶,支付寶讶凉,百度染乌,沃通CA,工信部網(wǎng)站等等
前端bug主要分為3個類別:HTML,CSS,Javascript三類問題
給個最大的區(qū)別方式方法:
出現(xiàn)樣式的問題基本都是CSS的bug
出現(xiàn)文本的問題基本都是html的bug
出現(xiàn)交互類的問題基本都是Javascript的bug
現(xiàn)在以淘寶的前端人員工作為例進行相關(guān)bug定位的剖析
判斷前后臺問題的區(qū)分方法:
F12, 打開錯誤控制臺console
區(qū)分前后臺交互:查看網(wǎng)絡(luò)請求
a) Html中如果有鏈接懂讯,有相應(yīng)的情況下荷憋,基本可以定位到是屬于前端的問題
b) 如果為空,或者有出現(xiàn)error錯誤信息域醇,我們就可以定位到屬于后臺開發(fā)的問題
TMS對應(yīng)的VM模板台谊,出現(xiàn)的一些截斷控制,轉(zhuǎn)換功能都屬于前端的問題
HTML
最常見的HTML的問題—就是標(biāo)簽的問題了譬挚,最常見的排查和解決辦法就是查看頁面源代碼锅铅,然后通過檢查標(biāo)簽的工具,現(xiàn)在暫時提供idea.exe進行檢查减宣,有其他更好的工具再進行推薦盐须。
常見問題類別:
標(biāo)簽閉合—表象,頁面中出現(xiàn)大范圍的混亂漆腌,就是少了標(biāo)簽的情況贼邓,導(dǎo)致標(biāo)簽未閉合
標(biāo)簽浮出—例如鼠標(biāo)移動到文本位置,浮出全名的這種浮出形式都屬于標(biāo)簽浮出的問題
標(biāo)簽在不同的瀏覽器的一種解析方式的不同導(dǎo)致的前端bug例如如下結(jié)構(gòu)
該部分可以看做為一個大的框即是標(biāo)簽 內(nèi)嵌標(biāo)題的標(biāo)簽
闷尿,里面再有這些個內(nèi)容,那么在不同的瀏覽器中塑径,可能ie和FF的解析會產(chǎn)生不同,假設(shè)IE解析為
的一種形式填具,但在FF下可能解析為<a><ing></ing></a>
<p></p>
的兩行的形式從而導(dǎo)致前端在復(fù)古鞋/板鞋這塊ing里面的格式產(chǎn)生混亂
結(jié)構(gòu)可看為:
頁面定點的問題:最明顯的前端功能统舀,在于點擊某個鏈接將頁面位置定位到對應(yīng)的位置
a) 我們可以通過右鍵,查看元素的工具進行定位到毛點所定位到的位置劳景,如果出現(xiàn)問題這種問題很直觀誉简,并且能通過這種方法直接定位到問題頁面的跳轉(zhuǎn),也屬于html的問題盟广,大家在出現(xiàn)點擊未跳轉(zhuǎn)或者跳轉(zhuǎn)方式不正確的問題闷串,直接可以定位到跳轉(zhuǎn)屬性的問題,找到對應(yīng)的跳轉(zhuǎn)對應(yīng)的塊提供給開發(fā)人員即可
兼容型bug
a) 表現(xiàn):僅在少數(shù)幾個瀏覽器上出現(xiàn)
b) 原因:瀏覽器的解析不一致
c) 解決:根據(jù)實際情況進行前端代碼的通用性?
d) 類別:
腳本兼容型問題:在出現(xiàn)對應(yīng)交互的問題就基本可以定位到腳本兼容型bug筋量,例如DIV的顯示和層結(jié)構(gòu)烹吵。實際可以參考聚劃算的幾個商品鼠標(biāo)移動到小圖的時候碉熄,對應(yīng)大圖展示的功能。頁面樣式兼容型問題:直接表象在樣式上年叮,都是基于框架的頁面展示錯誤具被,很容易定位業(yè)務(wù)性bug
a) 表現(xiàn):在所有瀏覽器下都有該問題
b) 原因:對業(yè)務(wù)不熟悉
c) 解決:根據(jù)需求進行修改達到業(yè)務(wù)要求
該類型的定位玻募,主要在和實現(xiàn)的要求不一致只损,最直接表現(xiàn)在頁面的友好型,用戶的可用性的bug七咧,可以定位為該類型內(nèi)容型bug
a) 表現(xiàn):?前端自測正確跃惫,但在填入內(nèi)容后,出現(xiàn)的錯誤艾栋,內(nèi)容消失等
b) 原因:?擴展性未考慮周全
c) 解決:?進行overflow test
輸入內(nèi)容的長度限制等功能可定位為內(nèi)容型bug