小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

測(cè)試人員代碼走查基礎(chǔ)要點(diǎn)

 逍遙302 2017-06-06

        代碼走查,是測(cè)試人員了解代碼邏輯,進(jìn)行測(cè)試設(shè)計(jì)的重要環(huán)節(jié)。并且有很多bug并非需要到運(yùn)行程序進(jìn)行測(cè)試才能發(fā)現(xiàn)。通過(guò)合理的代碼走查方法能提前發(fā)現(xiàn)相當(dāng)多的BUG。除常見(jiàn)的業(yè)務(wù)邏輯與程序邏輯不符外,本文收集了在過(guò)往工作中的經(jīng)常能發(fā)現(xiàn)BUG的走查要點(diǎn),以供參考。


走查要點(diǎn):一段代碼存在多個(gè)副本

[釋義]

相同的代碼段,在程序的不同地方復(fù)制和粘貼。

甚至同一項(xiàng)目,復(fù)制出多個(gè)副本。

[問(wèn)題表現(xiàn)]

修改好的bug,一直反復(fù)出現(xiàn)。

由于存在多個(gè)副本,如果代碼段中有bug,就需要修復(fù)多個(gè)副本。其修復(fù)難點(diǎn)在于:如何確定找到所有的代碼副本。如果無(wú)法確定修復(fù)了所有副本,極易導(dǎo)致漏測(cè)??此茰p輕工作的復(fù)制粘貼給后期維護(hù)帶來(lái)了極大工作量和風(fēng)險(xiǎn)。


走查要點(diǎn):初始化對(duì)象或返回值為空

[釋義]

在實(shí)例化對(duì)象時(shí)(例如,從數(shù)據(jù)庫(kù)中取出一條訂單數(shù)據(jù),實(shí)例化一個(gè)訂單對(duì)象),某些字段字段為空。而后面定邏輯需要使用這個(gè)字段時(shí),沒(méi)有進(jìn)行判空。或者在一些遠(yuǎn)程調(diào)用過(guò)程中,返回的對(duì)象有可能是空,或者某些字段為空,在后面的使用中,沒(méi)有判空。

[問(wèn)題表現(xiàn)]

空指針異常NullPointerException


走查要點(diǎn):數(shù)據(jù)定義被破壞

[釋義]

在處理各種數(shù)據(jù)時(shí),由于某些數(shù)據(jù)的定義(類型、長(zhǎng)度、必填、范圍及其他性質(zhì))被破壞,例如,某接口需要接受三個(gè)都為必填項(xiàng)的參數(shù),由于未對(duì)是否必填進(jìn)行校驗(yàn),導(dǎo)致數(shù)據(jù)庫(kù)中的數(shù)據(jù)與預(yù)期的定義不符。應(yīng)盡早檢查數(shù)據(jù)的定義。

[問(wèn)題表現(xiàn)]

代碼運(yùn)行好好的,突然就發(fā)生一些問(wèn)題,之后又沒(méi)問(wèn)題了。完整的數(shù)據(jù)任務(wù)都沒(méi)有問(wèn)題,只有當(dāng)程序運(yùn)行到不完整數(shù)據(jù)時(shí),才會(huì)報(bào)錯(cuò)。


走查要點(diǎn):資源(內(nèi)存、文件或數(shù)據(jù)庫(kù)連接)未被正確釋放

[釋義]

程序的一些執(zhí)行路徑?jīng)]有完成它們應(yīng)該做的工作,或者持有不再使用的對(duì)象。

[問(wèn)題表現(xiàn)]

資源未能正常釋放,導(dǎo)致連接被用完、文件打開(kāi)過(guò)多、FGC


走查要點(diǎn):接口定義不一致

[釋義]

接口定義與實(shí)現(xiàn)不一致,導(dǎo)致調(diào)用接口出錯(cuò)。

[問(wèn)題表現(xiàn)]

當(dāng)使用某個(gè)接口時(shí),處理結(jié)果與接口定義的結(jié)果不一致,甚至直接報(bào)錯(cuò)異常。


走查要點(diǎn):消息隊(duì)列能否補(bǔ)發(fā)消息、對(duì)補(bǔ)發(fā)消息的處理

[釋義]

生產(chǎn)者發(fā)出消息時(shí)發(fā)生異常,導(dǎo)致消費(fèi)者無(wú)消息可用。需要能夠補(bǔ)發(fā)消息。而消費(fèi)者在處理消息時(shí)(或者回調(diào)),是否能處理重復(fù)的消息(重復(fù)的回調(diào)通知)。特別是在多線程的情況下,對(duì)數(shù)據(jù)的修改,需要對(duì)線程進(jìn)行分析。

[問(wèn)題表現(xiàn)]

消費(fèi)者端無(wú)響應(yīng)

少數(shù)數(shù)據(jù)處理出錯(cuò),而大部分都正常。


走查要點(diǎn):不恰當(dāng)?shù)娜罩?/span>

[釋義]

日志中的敏感信息:卡號(hào)、手機(jī)號(hào)、密碼、cvv、有效期等

關(guān)鍵的操作步驟沒(méi)有日志(修改狀態(tài),異常報(bào)錯(cuò))

日志量過(guò)大,打印無(wú)效日志,導(dǎo)致無(wú)法查問(wèn)題。

[問(wèn)題表現(xiàn)]

泄漏用戶信息

無(wú)法查錯(cuò)


走查要點(diǎn):查詢SQL的底線

[釋義]

查詢的sql語(yǔ)句,需要有條件限制,不能無(wú)條件的查詢數(shù)據(jù)庫(kù)。常見(jiàn)的約束:時(shí)間范圍,數(shù)據(jù)量限制。

[問(wèn)題表現(xiàn)]

查詢出的大數(shù)據(jù)量的結(jié)果集,導(dǎo)致數(shù)據(jù)庫(kù)和應(yīng)用的性能問(wèn)題。


走查要點(diǎn):緩存

[釋義]

(1)集中緩存,還是分布式緩存

(2)分布式緩存如何保證緩存間的一致性,不一致時(shí),如何影響流程。

(3)緩存如何與數(shù)據(jù)庫(kù)的數(shù)據(jù)保持一致性,不一致時(shí),如何影響流程。

(4)如果緩存失效,如何影響流程

[問(wèn)題表現(xiàn)]

修改了配置,但有的服務(wù)器更新了,有的沒(méi)更新。

集中式緩存服務(wù)掛了,沒(méi)有備份,直接查數(shù)據(jù)庫(kù),導(dǎo)致數(shù)據(jù)庫(kù)壓力過(guò)大。


走查要點(diǎn):系統(tǒng)間調(diào)用的保護(hù)

[釋義]

同步調(diào)用外部系統(tǒng),必須有超時(shí)時(shí)間的設(shè)置,防止線程池漲滿影響其他業(yè)務(wù)??紤]用異步調(diào)用替代同步調(diào)用。

[問(wèn)題表現(xiàn)]

由于被調(diào)用系統(tǒng)的性能瓶頸,導(dǎo)致調(diào)用系統(tǒng)的響應(yīng)也下降。


走查要點(diǎn):異常處理

[釋義]

異常是否得到明確的定義

是否有未捕獲到異常

捕獲異常后,是否有合適的處理,后續(xù)代碼是否能正常執(zhí)行

[問(wèn)題表現(xiàn)]

異常未能正確定義,導(dǎo)致問(wèn)題無(wú)法快速定位

未捕獲異常,導(dǎo)致信息泄漏、系統(tǒng)處理異常

未能正確處理異常,導(dǎo)致后續(xù)流程錯(cuò)誤


為了身心健康,文中的雞肋處,請(qǐng)自行屏蔽。

       

著作權(quán)歸作者所有


本文轉(zhuǎn)自:簡(jiǎn)書(shū)

微信號(hào):IdeaofSE


    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多