中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
如何對待測試中不能重現(xiàn)的BUG

如何對待測試中不能重現(xiàn)的BUG

作者:謝金花

在測試過程中,我們總會(huì)遇到一些偶然發(fā)生的、不能重現(xiàn)的BUG,或者在測試人員那里可以重現(xiàn),但是在開發(fā)人員處卻不能重現(xiàn)的BUG。而且偶然發(fā)生的“無法重現(xiàn)”的BUG多半是“計(jì)劃外”的。無論站在開發(fā)人員還是測試人員的角度,都不愿意遇到不能重現(xiàn)的BUG,因?yàn)檫@意味著要花更多的時(shí)間去查找原因和修改BUG,甚至短期內(nèi)無法修復(fù),需等待以后再次出現(xiàn)或許才能解決。

一、一般情況下,BUG不能重現(xiàn)的原因主要有以下幾點(diǎn):

(1)環(huán)境不一致

這是BUG不能重現(xiàn)的主要原因之一。在開發(fā)人員認(rèn)為這是無效的BUG里面,估計(jì)至少有80%的BUG是因?yàn)榄h(huán)境不一致的原因造成的。這既包括開發(fā)環(huán)境和測試環(huán)境的不一致,也包括開發(fā)環(huán)境和系統(tǒng)的實(shí)際運(yùn)行環(huán)境不一致。

BUG產(chǎn)生是有一定原因的,它的重現(xiàn)也需要一定的環(huán)境。如果沒有相應(yīng)的環(huán)境,那么你可能很難重現(xiàn)這個(gè)BUG。

從廣義上來說,保證或影響系軟件的任何因素都是環(huán)境。例如,硬件的配置、軟件的設(shè)置、網(wǎng)絡(luò)的帶寬、網(wǎng)速等。通常,環(huán)境中的軟件因素有:系統(tǒng)的Build、 Application Server的類型和Version、Operation System 的語言和Version、瀏覽器的語言和Version等。

就拿我們某一項(xiàng)目來說:在V1.0.5版本的系統(tǒng)測試中,發(fā)現(xiàn)某一模塊功能出現(xiàn)問題,將這個(gè)問題提交到開發(fā)人員處,結(jié)果開發(fā)人員無法重現(xiàn)這個(gè)問題,且在開發(fā)人員處,該模塊功能正常,查找了原因很久,發(fā)現(xiàn)可能是版本升級(jí)導(dǎo)致,于是將版本回滾到之前的版本,功能恢復(fù)正常。

諸如此類由于環(huán)境不一致的原因?qū)е碌牟荒苤噩F(xiàn)的BUG,大部分是在開發(fā)人員那不能重現(xiàn),小部分是在測試人員處偶然出現(xiàn),找不到規(guī)律。所以,這就要求我們測試與開發(fā)的環(huán)境要分開,測試要有自己的獨(dú)立環(huán)境,且測試環(huán)境要保持干凈、無毒。

(2)瀏覽器的不當(dāng)設(shè)置

對于Web測試來說,瀏覽器的設(shè)置又是對重現(xiàn)BUG起著重要的作用。下面的幾個(gè)圖片說明了瀏覽器的幾個(gè)關(guān)鍵設(shè)置:

圖1:Internet臨時(shí)文件的設(shè)置
圖2:“高級(jí)”選項(xiàng)的設(shè)置

說明:在“高級(jí)”選項(xiàng)中,對測試起重要作用的是“禁止腳步調(diào)試”(不選擇,即前面不要有勾)和“顯示每個(gè)腳本錯(cuò)誤的通知”(選擇它,即前面要出現(xiàn)勾)。

這些設(shè)置對重現(xiàn)有關(guān)腳本錯(cuò)誤的BUG起著重要的作用。根據(jù)這些腳本錯(cuò)誤的通知,開發(fā)人員可以快速發(fā)現(xiàn)代碼中的錯(cuò)誤,并及時(shí)修復(fù)它。

下面講解某一項(xiàng)目中由于瀏覽器設(shè)置引起的bug不能重現(xiàn)的例子:

有次版本發(fā)布之后,從領(lǐng)導(dǎo)那邊反饋回來一個(gè)bug。根據(jù)以往流程,我們首先對這個(gè)BUG進(jìn)行驗(yàn)證,可是無論如何都重現(xiàn)不了該BUG,于是找到項(xiàng)目經(jīng)理,讓他重現(xiàn)下該BUG,仍舊不能重現(xiàn)。最后項(xiàng)目經(jīng)理找到領(lǐng)導(dǎo),了解其操作過程,才發(fā)現(xiàn)其瀏覽器字體設(shè)置為“微軟雅黑”,而我們的瀏覽器字體為默認(rèn)字體。最后將字體修改為“微軟雅黑”后該BUG才重現(xiàn)。

(3)內(nèi)存泄露

某些系統(tǒng)長期運(yùn)行后出現(xiàn)運(yùn)行速度慢、反應(yīng)遲鈍等現(xiàn)象,其中一個(gè)主要的原因就是內(nèi)存泄露。有的開發(fā)人員沒有養(yǎng)成及時(shí)回收內(nèi)存的習(xí)慣,結(jié)果系統(tǒng)在不斷地申請內(nèi)存空間,卻沒有一點(diǎn)內(nèi)存釋放。這類錯(cuò)誤在短期內(nèi)不會(huì)出現(xiàn),但當(dāng)系統(tǒng)長期運(yùn)行時(shí)就會(huì)出現(xiàn),并且由此會(huì)引發(fā)一系列的問題。此類問題只有經(jīng)過長時(shí)間的運(yùn)行測試, 才可能會(huì)被發(fā)現(xiàn)。

這個(gè)問題在我們某一項(xiàng)目中也存在過,由于該項(xiàng)目是采用Java語言開發(fā)的,Java可以自動(dòng)回收內(nèi)存,這就導(dǎo)致了開發(fā)人員對及時(shí)回收內(nèi)存問題的忽略,使用時(shí)出現(xiàn)內(nèi)存泄露。

(4)函數(shù)接口類型不匹配

此類錯(cuò)誤難以重現(xiàn),并且難以發(fā)現(xiàn)它的真正原因,一般只有在查看源代碼后才能發(fā)現(xiàn)。某些類型的數(shù)據(jù)會(huì)被系統(tǒng)自動(dòng)轉(zhuǎn)換,一般也不會(huì)出現(xiàn)錯(cuò)誤;但有些數(shù)據(jù)被截?cái)嗷虮粡?qiáng)制轉(zhuǎn)換成另外一種數(shù)據(jù)類型時(shí),會(huì)出現(xiàn)一些潛在的錯(cuò)誤。在集成測試時(shí)此類錯(cuò)誤最有可能發(fā)生。

二、出現(xiàn)不可重現(xiàn)的BUG時(shí),我們應(yīng)當(dāng)本著以下原則,實(shí)現(xiàn)BUG的重現(xiàn)工作:

(1)重現(xiàn)的人員: 缺陷的重現(xiàn)工作,最好由測試人員去完成,一方面,測試人員的文字描述其實(shí)很難包括所有的現(xiàn)象信息,讓開發(fā)人員重現(xiàn)的難度很大,另一方面,測試人員的重現(xiàn)更有說服力和更快捷。

(2)重現(xiàn)的次數(shù):每個(gè)難重現(xiàn)的缺陷,由發(fā)現(xiàn)該缺陷的測試人員連續(xù)重復(fù)測試300次,如果還不能重現(xiàn),將缺陷狀態(tài)改為closed;

(3)延長測試時(shí)間,努力找到規(guī)律。如果市場緊急,由公司級(jí)領(lǐng)導(dǎo)特批,相當(dāng)于高層領(lǐng)導(dǎo)評(píng)估風(fēng)險(xiǎn),就可以先發(fā)布軟件,但測試和整改繼續(xù),留待問題解決后下一版本軟件升級(jí);

(4)若確實(shí)無法重現(xiàn),轉(zhuǎn)交項(xiàng)目經(jīng)理做延遲處理,繼續(xù)跟蹤,若保留一個(gè)月都無法重現(xiàn)的,可先關(guān)閉,以后重現(xiàn)時(shí)再Reopen;

三、遇到無法重現(xiàn)的BUG時(shí),我們應(yīng)該做到如下幾點(diǎn):

(1)一定要提交

把不可重現(xiàn)的BUG記錄下來,以后再遇到的時(shí)候可能就會(huì)了解發(fā)生的原因。同時(shí)盡力去查找出錯(cuò)的原因,比如有什么特別的操作,或者一些操作環(huán)境等。而且程序員對程序比測試人員熟悉的多,因?yàn)闇y試人員看到的只是程序的外部,無法深入程序內(nèi)部,也許你提交了,即使無法重新,程序員也會(huì)了解問題所在。無法重現(xiàn)的問題再次出現(xiàn)后,也可以直接叫程序員來看看問題。

但是針對一些比較嚴(yán)重的、隨機(jī)發(fā)生無法重現(xiàn)的bug,測試人員提交上去后,有可能會(huì)出現(xiàn)以下三個(gè)情形:a.開發(fā)人員試圖重現(xiàn),重現(xiàn)不出,Reject回來;b.開發(fā)人員找不到規(guī)律,所以不去解決,問題一直處于Open狀態(tài);c.開發(fā)人員因?yàn)閱栴}難以解決,所以直接Resolved回來,覺得反正是偶發(fā)的,先改成解決狀態(tài)再說。

(2)盡量詳細(xì)的描述缺陷

盡可能的詳細(xì)記錄BUG產(chǎn)生的相關(guān)信息;如重現(xiàn)頻率,發(fā)生情況并有截圖,操作步驟,軟件的版本,發(fā)生錯(cuò)誤時(shí)的各種變量、內(nèi)存、存儲(chǔ)器等存儲(chǔ)的數(shù)據(jù)內(nèi)容,軟件出錯(cuò)時(shí)的軟硬件環(huán)境等。

(3)由開發(fā)人員進(jìn)行人工代碼走查和工具靜態(tài)檢查

無法重現(xiàn)的代碼找對系統(tǒng)最熟悉的開發(fā)人員重新Review代碼,最好是多人一起查。查代碼還找不出來,就要檢查操作系統(tǒng)、應(yīng)用服務(wù)器及其環(huán)境是否有問題,是否有兼容性問題?;蛘卟捎渺o態(tài)檢查工具(如pclint,splint等工具)檢查代碼,消除所有的error與warning。

(4)查看是否正確設(shè)置瀏覽器的選項(xiàng)

對于瀏覽器設(shè)置不正確引起的BUG,設(shè)置好瀏覽器選項(xiàng),就能使BUG重現(xiàn)。

總之,在遇到某些嚴(yán)重的、卻又無法重現(xiàn)的Bug,應(yīng)積極回憶BUG的癥狀和所有的環(huán)境因素,一絲一毫的細(xì)節(jié)都不要錯(cuò)過。并與開發(fā)人員、DBA、系統(tǒng)設(shè)計(jì)人員、項(xiàng)目經(jīng)理等一起分析那些環(huán)境因素,根據(jù)以往的經(jīng)驗(yàn)分析影響此Bug重現(xiàn)的重要因素,并在相同的環(huán)境上安裝同樣的系統(tǒng)進(jìn)行測試,以驗(yàn)證所做的猜測。而對于某些無法重現(xiàn)、但嚴(yán)重程度不是很高的Bug,可以暫時(shí)只作記錄、而不必花費(fèi)大量的人力和物力去分析。如果下次又出現(xiàn)了,那么根據(jù)發(fā)生的頻率再去分析是否需要跟蹤此Bug。如果需要跟蹤它,那么在它又出現(xiàn)后一定要立刻對當(dāng)時(shí)的環(huán)境進(jìn)行截圖,如錯(cuò)誤信息、界面、日志等。這樣也利于開發(fā)人員定位、分析它,從而準(zhǔn)確、快速地修復(fù)它。如果條件允許,測試人員應(yīng)立即保護(hù)現(xiàn)有環(huán)境,并邀請相關(guān)的開發(fā)人員和系統(tǒng)分析人員一起研討產(chǎn)生此問題的原因和解決方法。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
測試環(huán)境與開發(fā)環(huán)境分離的必要性
行百里者半九十:淺談發(fā)布測試
缺陷狀態(tài)流程
軟件測試基礎(chǔ)知識(shí)
入門級(jí)
阿里巴巴10年研發(fā)工程師:預(yù)防Bug的一些經(jīng)驗(yàn)
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服