如何區(qū)分前端與后端Bug?
對于軟件測試過程中的缺陷報告提交,一份高質(zhì)量的缺陷報告除了必要的基本信息以外,還需要根據(jù)項目組中每個角色分工不同, 對待缺陷的定位和立場也不同,所以完善且有說服力的缺陷報告非常重要。
高質(zhì)量的缺陷報告所需的幾個條件如下:
1、描述清楚問題產(chǎn)生步驟及嚴(yán)重級別
2、盡早提交缺陷報告,快速反饋開發(fā)
3、非必現(xiàn)的Bug也要全部提交
4、為每個缺陷單獨(dú)提交一份缺陷報告
5、仔細(xì)編寫缺陷報告的標(biāo)題
6、像編寫測試用例編寫重現(xiàn)步驟
7、使用缺陷模板來提交缺陷
8、編寫缺陷報告時,要考慮到日后的查詢關(guān)鍵詞
9、如有同類或已發(fā)生的缺陷 ,則進(jìn)行關(guān)聯(lián)
10、注意缺陷報告的可讀性
11、客觀組織描述語言來編寫缺陷報告
12、通過缺陷評估發(fā)現(xiàn)更多信息
提交高質(zhì)量的缺陷只是測試流程的一小部分,實(shí)際工作中,同一個需求可能由多個開發(fā)人員共同完成,特別是涉及到較大項目或需求時,可能還會有外部依賴或支持系統(tǒng)的開發(fā)人員,各個開發(fā)人員所負(fù)責(zé)的功能模塊和業(yè)務(wù)范圍可以從項目計劃書或是從項目經(jīng)理處知悉,但對于同一個問題是提給前端人員還是后端人員或是接口人時,則需要測試人員根據(jù)自己的技能和工作經(jīng)驗來判斷,這里歸納了一份關(guān)于前后端問題的區(qū)分思維導(dǎo)圖,當(dāng)然有很大一部分問題屬于聯(lián)調(diào),需要開發(fā)人員共同解決。而準(zhǔn)確區(qū)分前后端問題不僅可以提高工作效率 ,也是測試人員專業(yè)技能的一個體現(xiàn)。
以下是前后端典型問題區(qū)分的思維導(dǎo)圖:

********************
一、前端問題?
1、界面相關(guān)
常見的界面相關(guān)問題有:排版錯亂、文字錯誤、數(shù)據(jù)錯誤、兼容性問題
文字錯誤的問題又包含功能文字及提示文字 ,功能文字即對話框或彈框中的標(biāo)題文字;提示文字即前端給出的文案提示
數(shù)據(jù)錯誤的問題又包含列表字段錯誤、表單字段錯誤等,這種情況下可以查看前端是否參與計算,或是有無進(jìn)行過字段配置管理,一般情況下可以先提交給前端
瀏覽器兼容問題比較常見,如果使用了UI框架 ,則前端問題常見于框架問題。常見的瀏覽器兼容性問題如下:

********************
2、功能相關(guān)
功能相關(guān)的又包含功能實(shí)現(xiàn)錯誤或不完整以及邏輯錯誤等
功能問題可以通過抓包查看請求的方式來初步判斷,如無請求,則初步判斷為前端Bug;若抓包中有請求,則可以通過不同的狀態(tài)碼來判斷,有請求的情況下可以初步判斷為后端Bug,

********************
常見的狀態(tài)碼可以參見百科中的狀態(tài)碼記錄如下:

********************
邏輯錯誤問題需要與開發(fā)人員溝通確認(rèn)
********************
3、性能相關(guān)
常見的問題如頁面打開較慢,表單打開慢等,一般情況下可以通過抓包來查看請求,如果請求耗時較小,則初步斷定為前端問題;否則可以結(jié)合其他信息排查為后端問題。
另外,性能相關(guān)的問題出現(xiàn)后建議通過工具來評估整體的性能,可以進(jìn)一步定位是哪個部分的問題。
二、后端問題
通常后端問題常見于業(yè)務(wù)邏輯、數(shù)據(jù)問題以及安全相關(guān)的問題與性能問題
如果前端功能實(shí)現(xiàn)導(dǎo)致后端返回的數(shù)據(jù)出錯 ,則可以初步判斷為前端問題;但如果查看后端返回的接口數(shù)據(jù)不一致或是出現(xiàn)報錯信息,則判斷為后端問題;
另外,后端問題多數(shù)可以通過查詢錯誤日志信息來排查原因,若沒有輸出日志,則可能為前端問題;不存在交互的情況下更多偏向于前端問題。有些信息不會展示在前臺,需要結(jié)合服務(wù)端日志信息一起排查定位了。在定位的過程中可以記錄下相關(guān)SQL的問題,服務(wù)端的問題以及代碼問題,以便于日后查看。
記錄并總結(jié)的時間久了,漸漸也會積累一些經(jīng)驗,可以通過接口分析法,日志工具,結(jié)合自己過往的項目經(jīng)驗來判斷,當(dāng)然這些都是在自我分析層面 ,如果遇到無法直接判斷的問題,可以直接找到相關(guān)的開發(fā)人員進(jìn)行溝通, 但溝通并不是直接指給開發(fā)人員或是直接問,可以在自己充分分析的基礎(chǔ)上以討論的方式進(jìn)行。既可以不斷提升自己的職業(yè)技能,也可以增加測試人員的實(shí)力。