西安海學(xué)通教育

7x24小時(shí)咨詢熱線

400-660-3310

當(dāng)前位置 : 好學(xué)校 西安海學(xué)通教育 學(xué)習(xí)資訊 資訊詳情

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

2021-05-27

封面海報(bào)

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

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

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

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

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

多個(gè)模塊公用組件,導(dǎo)致改動(dòng)一個(gè)功能點(diǎn),改壞其他模塊;對(duì)測(cè)試的影響就是,該一個(gè)模塊,需要回歸其他涉及的多個(gè)模塊哦。

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

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

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

帶來的問題就是:

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

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

二、開發(fā)人員經(jīng)驗(yàn)問題/思維嚴(yán)謹(jǐn)性導(dǎo)致

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

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

2、前端傳參

3、需求點(diǎn)沒有實(shí)現(xiàn)

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

三、業(yè)務(wù)特點(diǎn)導(dǎo)致

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

四、測(cè)試人員的經(jīng)驗(yàn)缺乏導(dǎo)致

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

五、迭代周期不合理導(dǎo)致

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

六、上下游業(yè)務(wù)嚴(yán)重耦合導(dǎo)致

這里舉一個(gè)實(shí)際的用戶實(shí)際使用場(chǎng)景先后涉及的業(yè)務(wù)方:

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

在這里業(yè)務(wù)A與業(yè)務(wù)B嚴(yán)重耦合起來了,導(dǎo)致在實(shí)際的項(xiàng)目中,測(cè)試業(yè)務(wù)A的同學(xué)常常非常被動(dòng):

需要業(yè)務(wù)B同學(xué)造若干場(chǎng)景,需要反反復(fù)復(fù)的溝通

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

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

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

收藏
分享到:

相關(guān)課程

相關(guān)資訊

西安海學(xué)通教育

西安海學(xué)通教育

認(rèn)證等級(jí)

信譽(yù)良好,可安心報(bào)讀

西安海學(xué)通教育

已獲好學(xué)校V2信譽(yù)等級(jí)認(rèn)證

信譽(yù)值

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

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

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