如何快速定位app的bug是前端還是后端呢?對于一個(gè)優(yōu)秀的測試工程師來說,區(qū)分bug屬于前端還是后端是尤為重要的伟葫。
一個(gè)頁面的請求過程:
弄清楚如何定位和分類bug之前,需要了解一個(gè)頁面的請求過程院促,以http請求為例:
1筏养、用戶在前端頁面操作,如點(diǎn)擊某個(gè)提交按鈕
2常拓、頁面攜帶數(shù)據(jù)進(jìn)行請求撼玄,訪問具體功能接口
3、由后端服務(wù)執(zhí)行相應(yīng)的業(yè)務(wù)邏輯墩邀,如涉及數(shù)據(jù),再去請求并組裝 數(shù)據(jù)返給前端
4盏浙、前端頁面進(jìn)行渲染和展示對應(yīng)的頁面和數(shù)據(jù)
前后端bug各有什么特點(diǎn)眉睹?
前端bug特點(diǎn)
界面相關(guān)
布局相關(guān)
兼容性相關(guān)
后端bug特點(diǎn)
業(yè)務(wù)邏輯相關(guān)
性能相關(guān)
數(shù)據(jù)相關(guān)
安全性相關(guān)
定位前后端bug,有什么方法废膘?
1竹海、經(jīng)驗(yàn)法
軟件測試人員應(yīng)不斷精進(jìn)自己的技能,負(fù)責(zé)的項(xiàng)目多了丐黄,自然對功能的實(shí)現(xiàn)過程有了解斋配,也就明白如何分類bug了。
例如:
網(wǎng)頁上的某個(gè)圖片的分辨率不對灌闺,如果我們了解實(shí)現(xiàn)過程艰争,可以想到一般情況下,是根據(jù)某個(gè)地址去服務(wù)器取圖片的桂对,數(shù)據(jù)庫一般只保存地址甩卓,那么圖片能正確顯示,就說明后端的基本功能是滿足需求的蕉斜。如果具體圖片分辨率有誤逾柿,最可能的原因是前端顯示過程出了差錯(cuò)缀棍。
2、查日志
當(dāng)我們發(fā)現(xiàn)一個(gè)bug机错,并不確定這個(gè)bug屬于前端還是后端爬范,可以查看后端服務(wù)的日志,復(fù)現(xiàn)bug時(shí)弱匪,查看日志中有沒有相關(guān)信息青瀑。基本可以認(rèn)為痢法,如果日志沒有輸出狱窘,很可能這個(gè)功能并沒有與后端交互,也就不存在后端的問題财搁。反之蘸炸,如果日志有輸出,可以進(jìn)一步查看有無錯(cuò)誤日志信息尖奔,進(jìn)一步分析搭儒。
3、查接口
這種方法常用于查看是后端返回給前端的數(shù)據(jù)有誤提茁,還是前端顯示有誤淹禾。
大多數(shù)瀏覽器都有自帶的接口查看工具,如Chrome茴扁,F(xiàn)ireFox等都可以通過F12開啟抓包铃岔,在NetWork中可以看到當(dāng)前頁面發(fā)送的每個(gè)http請求。
我們需要對比通過后端接口拿到的數(shù)據(jù)和前端顯示的數(shù)據(jù)峭火,來確認(rèn)問題出在哪里毁习。如果數(shù)據(jù)錯(cuò)了,頁面顯示是錯(cuò)的卖丸,也是正常的纺且,先從后端入手去解決。如果數(shù)據(jù)對了稍浆,但是顯示錯(cuò)了载碌,就需要問問前端的開發(fā)人員了。
4衅枫、iOS和安卓雙端對比(APP)
雙端均呈現(xiàn)一樣的問題嫁艇,一般是后端問題,若是其中一端正常弦撩,另一端不正常裳仆,十有八九是前端問題
5、線上包和測試包對比孤钦,可以判斷是歷史遺留問題歧斟,還是當(dāng)前測試版本新出現(xiàn)的問題(回歸十分常用)
6纯丸、同一測試設(shè)備,對比不同賬號静袖,可以判斷是否是針對賬號出現(xiàn)的問題(常用)
溝通很重要
我們在定位BUG的過程中觉鼻,最不能忽略的一個(gè)問題是和開發(fā)人員的溝通,有時(shí)候忙活半天队橙,不如一問一答坠陈。經(jīng)驗(yàn)和技術(shù)的成長也都離不開合理高效的溝通。
經(jīng)驗(yàn)和小結(jié)
出現(xiàn)樣式的問題基本都是CSS的BUG
出現(xiàn)文本的問題基本上都是html的BUG
出現(xiàn)交互類的問題基本上都是Javascript的BUG
其他問題先溝通捐康,再定位