西安海學通教育

7x24小時咨詢熱線

400-660-3310

當前位置 : 好學校 西安海學通教育 學習資訊 資訊詳情

Bug到底是怎么產(chǎn)生的?為什么就是控制不了?

2021-05-27

封面海報

相信每一個軟件測試工程師都有一個疑問:Bug到底是怎么產(chǎn)生的?為什么就是控制不了?我們今天就來深入探討、分析下這個問題。

Bug到底是怎么產(chǎn)生的?為什么就是控制不了?

產(chǎn)生bug的具體原因或許多種多樣,但在bug原因分析過程中,希望能抽絲剝繭,找出其產(chǎn)生的根本原因。之前寫過如何減少線上故障、典型故障分析、故障的坑,你踩了多少遍等等,如果能結(jié)合起來看線上、線下的bug,或許會對bug產(chǎn)生的原因有不一樣的認識。

一、前后端使用架構(gòu)導致

前端使用es7+react+node使用,在開發(fā)方面增大了工作量:封裝組件;

多個模塊公用組件,導致改動一個功能點,改壞其他模塊;對測試的影響就是,該一個模塊,需要回歸其他涉及的多個模塊哦。

后端屬于大數(shù)據(jù)基礎(chǔ)上做各種條件篩選,在具體實現(xiàn)上采用了“重內(nèi)存”方案,即:

1、將數(shù)據(jù)定時更新到內(nèi)存中;

2、在內(nèi)存中做多條件的篩選;

帶來的問題就是:

1、 fullgc問題 導致需要大內(nèi)存服務器;

2、定時數(shù)據(jù)更新機制,常常發(fā)現(xiàn)一個接口多次篩選返回的數(shù)據(jù)不一致;

二、開發(fā)人員經(jīng)驗問題/思維嚴謹性導致

此類問題和經(jīng)驗、或每個開發(fā)人員的合作、做事風格有很大的關(guān)系,具體問題包括:

1、前后端默認參數(shù)約定

2、前端傳參

3、需求點沒有實現(xiàn)

4、“顯而易見”的主功能沒有實現(xiàn)

三、業(yè)務特點導致

每一個業(yè)務除了公共的業(yè)務特點外,還有各自獨特的業(yè)務特征。例如,前端業(yè)務與純后端業(yè)務側(cè)重點有很大不同,而APP端的前端業(yè)務與web的前端業(yè)務又有很大的不同。反應到具體產(chǎn)生的bug上,無論是bug的數(shù)量,還是bug本身的隱藏深度,都有很大的不同。

四、測試人員的經(jīng)驗缺乏導致

這里不必多說了,測試方案制定的完整性和深度,甚至測試執(zhí)行層面的經(jīng)驗,都決定了究竟有多少bug可以被暴露出來了。

五、迭代周期不合理導致

這里涉及團隊所有成員對迭代速度和規(guī)模的接受程度了。一個過度追求迭代速度的團隊,整體上會犧牲一些產(chǎn)品質(zhì)量了。

六、上下游業(yè)務嚴重耦合導致

這里舉一個實際的用戶實際使用場景先后涉及的業(yè)務方:

業(yè)務B--->業(yè)務A--->業(yè)務B

在這里業(yè)務A與業(yè)務B嚴重耦合起來了,導致在實際的項目中,測試業(yè)務A的同學常常非常被動:

需要業(yè)務B同學造若干場景,需要反反復復的溝通

數(shù)據(jù)來自業(yè)務B,而其測試環(huán)境非常不穩(wěn)定,又需要反反復復的溝通

業(yè)務B的改動,需要業(yè)務A來回歸,但業(yè)務A同學又沒有比較好的途徑了解其改動,只能“盲測”。

在若干次反反復復的迭代中,記憶猶新的一件事情:業(yè)務B修改了某個邏輯,結(jié)果出現(xiàn)了線上故障,卻反過來問業(yè)務A的同學,為什么沒有發(fā)現(xiàn)。這種哭笑不得的場景,或許是最為嚴重、切業(yè)務方不可控的因素了。經(jīng)過反反復復的“血淚史”后,終于在一次架構(gòu)調(diào)整中,把業(yè)務A歸并到了業(yè)務B中了。

收藏
分享到:

相關(guān)課程

相關(guān)資訊

西安海學通教育

西安海學通教育

認證等級

信譽良好,可安心報讀

西安海學通教育

已獲好學校V2信譽等級認證

信譽值

  • (60-80)基礎(chǔ)信譽積累,可放心報讀
  • (81-90)良好信譽積累,可持續(xù)信賴
  • (91-100)充分信譽積累,推薦報讀

與好學校簽訂讀書保障協(xié)議:

  • 100%
  • 34
  • 4865
在線咨詢
;