第一篇:BUG 復現(xiàn)方法總結(jié)
BUG復現(xiàn)技巧與方法
● 確保所有的步驟都被記錄。記錄下所做的每一件事、每一個步驟、每一個停頓。無意間丟失一個步驟或者增加一個多余步驟,可能導致無法再現(xiàn)軟件缺陷。在嘗試運行測試用例時,可以利用錄制工具確切地記錄執(zhí)行步驟。所有的目標是確保導致軟件缺陷所需的全部細節(jié)是可見的。
● 特定條件和時間。軟件缺陷僅在特定時刻出現(xiàn)嗎?軟件缺陷在特定條件下產(chǎn)生嗎?產(chǎn)生軟件缺陷是網(wǎng)絡忙嗎?在較差和較好的硬件設備上運行測試用例會有不同的結(jié)果嗎?
● 壓力和負荷、內(nèi)存和數(shù)據(jù)溢出相關的邊界條件。執(zhí)行某個測試能導致產(chǎn)生缺陷的數(shù)據(jù)被覆蓋,而只有在試圖使用臟數(shù)據(jù)時才會再現(xiàn)。在重啟機器后,軟件缺陷消失,當執(zhí)行其他測試之后又出現(xiàn)這類軟件缺陷,需要注意某些軟件缺陷可能是在無意中產(chǎn)生的。
● 考慮資源依賴性包括內(nèi)存、網(wǎng)絡和硬件共享的相互作用等。軟件缺陷是否僅在運行其他軟件并與其他硬件通信的“繁忙”系統(tǒng)上出現(xiàn)?軟件缺陷可能最終證實跟硬件資源、網(wǎng)絡資源有相互的作用,審視這些影響有利于分離和再現(xiàn)軟件缺陷。
● 不能忽視硬件。與軟件不同,硬件Hi按預定方式工作。板卡松動、內(nèi)存條損壞或者CPU過熱都可能導致像是軟件缺陷的失敗。設法在不同硬件不再現(xiàn)軟件缺陷。在執(zhí)行配置或者兼容性測試時特別重要。判定軟件缺陷是在一個系統(tǒng)上還是在多個系統(tǒng)上產(chǎn)生。
第二篇:不可復現(xiàn)bug測試方案
Troubleshooting 核心:
1.頭腦要清晰,思維要收斂,而非發(fā)散。2.與開發(fā)人員保持良好、準確的溝通。3.細心、耐心。
4.不輕言放棄,即使開發(fā)人員也快失去了信心,你也不要放棄。5.自信,有些低水平的開發(fā)人員分析定位問題的能力比測試人員要弱
不可重新bug重現(xiàn)方案1:
1.確定版本是否與客戶使用版本一致;
2.客戶使用環(huán)境:操作系統(tǒng)、軟件環(huán)境、IE、防火墻、Office 版本、殺毒軟件版本;
3.客戶問題描述,盡可能詳細的了解,在什么環(huán)境下做了什么操作發(fā)生了什么問題;
4.對被測系統(tǒng)的功能非常了解,經(jīng)過程序員講解,獲取實現(xiàn)此功能的原理 5.反復驗證
不可重新bug重現(xiàn)方案2:
1.首先確保被測試目標的軟件版本是發(fā)現(xiàn)問題時的版本--版本不一致就沒有分析定位問題的前提了。
2.如果被測試設備是硬件設備,要確保重現(xiàn)問題時是同一臺硬件設備、同一張硬件板卡--因為有可能問題就是由某種硬件板卡的個性故障引起的。3.搭建測試環(huán)境的輔助軟件和輔助設備要與發(fā)現(xiàn)問題時是同一臺設備及同一軟件版本--因為問題有可能是由于輔助軟件和輔助設備的故障所引起的,或者由于輔助軟件和輔助設備的某個異常才觸發(fā)了被測試設備的問題。4.所有測試環(huán)境的硬件條件都確保一致后,就需要確保測試目標的功能配置及參數(shù)與發(fā)現(xiàn)問題時的數(shù)據(jù)是一致的,特別是輸入值應該與出現(xiàn)問題時一樣。5.完成前面4步準備工作后,至少要讓一名開發(fā)人員陪同你一起開始重現(xiàn)問題,因為他會從實現(xiàn)內(nèi)部原理的角度給你提供很多提高重現(xiàn)工作效率的意見和建議。同時,他還可以通過在測試過程中不斷查看各種重要的系統(tǒng)數(shù)據(jù)來找到一些可幫助快速突破的蛛絲馬跡。
6.如果在第5步中沒有找到可以定位問題的原因,就需要再回憶第一次遇到問題時的所有場景,查看自己有無遺漏信息,并繼續(xù)堅持去嘗試重現(xiàn)。因為確實有些問題是小概率發(fā)生的,是多種瞬間狀態(tài)臨界值的交集。即使定位到了觸發(fā)條件和原因,在操作上也很難每次都掌握到那個臨界狀態(tài)。只有不斷嘗試和堅持才能把問題重現(xiàn)出來,幫助開發(fā)人員修改該問題。
不可重新bug重現(xiàn)方案3:
1)盡量獲取系統(tǒng)的打印信息和DEBUG信息; 2)測試人員應該報告不可重現(xiàn)的缺陷;
3)在產(chǎn)品操作指南(使用說明)中明確告知客戶; 4)缺陷報告中明確該缺陷能夠重現(xiàn)的可能性;
1、盡量獲取系統(tǒng)的打印信息和DEBUG信息
盡管測試人員在測試過程中經(jīng)常會碰到一些難以重現(xiàn)的缺陷,但是,系統(tǒng)出現(xiàn)異常行為的時候,通??偸菚嬖谝恍┲虢z馬跡的。這就需要測試人員需要有足夠的耐心和細心。同時,測試人員在測試過程中,應該養(yǎng)成有些良好的習慣,例如:打開系統(tǒng)的DEBUG端口,不斷捕獲系統(tǒng)的打印信息,特別是信息中提示錯誤和告警的信息,從而幫助開發(fā)人員跟蹤和定位缺陷發(fā)生的原因,從而有利于開發(fā)人員解決這種類型的缺陷。
例如:在測試過程中,測試人員經(jīng)常會碰到系統(tǒng)重啟的問題。對于這樣的問題,我們可以從下面幾個方面對該問題進行分析:
● 仔細分析DEBUG端口中打印的錯誤和告警信息,例如:信息是系統(tǒng)級別的,還是模塊級別的?系統(tǒng)什么情況下會出現(xiàn)這樣的信息? ● 分析系統(tǒng)在什么情況下會出現(xiàn)重啟,例如:數(shù)據(jù)的溢出、野指針、堆棧溢出。通過分析原因,可以更好的分析導致缺陷的根本原因。
2、測試人員應該報告不可重現(xiàn)的缺陷
即使是不可重現(xiàn)的缺陷,筆者認為,測試人員也應該報告這樣的缺陷。假如組織內(nèi)要求測試人員報告不可重現(xiàn)的要求,可以推動測試人員對這樣的缺陷進行仔細的研究和分析;報告不可重現(xiàn)的缺陷可以形成項目的不可重現(xiàn)的缺陷數(shù)據(jù)庫,定期瀏覽這些缺陷,并進行集中的分析,可能會在不同的缺陷描述中發(fā)現(xiàn)一些共同的或者可能有聯(lián)系的信息,有助于問題的解決。
另外,報告不可重現(xiàn)的缺陷,也有助于測試人員和開發(fā)人員對這類問題和系統(tǒng)表現(xiàn)進行跟蹤。
3、在產(chǎn)品操作指南(使用說明)中明確告知客戶
對于通過測試人員和開發(fā)人員共同努力,還是無法進行重現(xiàn)的缺陷,測試人員不僅要報告缺陷,如果該缺陷可能對用戶的使用有較大的影響,測試人員還應該在測試報告中描述這樣的缺陷,告訴用戶缺陷的表現(xiàn),可能導致的問題,以及可能的補救方案。
通過在用戶操作指南(用戶手冊)中明確告知系統(tǒng)存在的一些不可重現(xiàn)的問題,不僅可以讓客戶了解產(chǎn)品中可能存在的問題,提前有一定的心理預期;同時在他們碰到問題的時候,也可以根據(jù)我們提供的一些補救方案,客戶可以繼續(xù)使用產(chǎn)品。
4、缺陷報告中明確該缺陷能夠重現(xiàn)的可能性
最后,測試人員在報告不可重現(xiàn)的缺陷時,應該在缺陷報告中明確提示該缺陷不可重現(xiàn)或者難以重現(xiàn),避免在進度壓力太大的情況下,開發(fā)人員將精力過多地放在這種類型的缺陷修復上。
不可重新bug重現(xiàn)方案4:
1.程序錯誤可能有延遲效應,例如內(nèi)存泄露、指針越界或棧被破壞??梢杂脙?nèi)存工具監(jiān)控內(nèi)存。如,Purify或類似工具。
2.程序錯誤可能依賴于特定的數(shù)據(jù)或被破壞了的數(shù)據(jù)。3.程序錯誤可能在特定的時間內(nèi)發(fā)生,檢查日末、周末、季末、年末這些特定的時間。
4.錯誤可能依賴于特定順序執(zhí)行時發(fā)生,在發(fā)生錯誤前,執(zhí)行了什么? 5.程序錯誤可能是前面失效的殘余,例如,上一次出現(xiàn)的GPF后重啟計算機了么?
等等。
第三篇:bug分析報告
一、整體bug分布
1、模塊分布圖
2、嚴重程度分布圖
3、Bug時間分布-模塊-嚴重程度分布圖等
二、功能模塊bug分布
1、嚴重程度分布
2、Bug時間分布
三、測試階段bug分布
1、模塊分布圖
2、嚴重程度分布圖
3、Bug時間分布-模塊-嚴重程度分布圖等
四、bug出現(xiàn)原因總結(jié)
分析bug出現(xiàn)的原因,對bug原因進行歸類整理等
第四篇:有效地報告BUG
如何有效地報告Bug------------------引言
為公眾寫過軟件的人,大概都收到過很拙劣的bug(計算機程序代碼中的錯誤或程序運行時的瑕疵??譯者注)報告,例如: 在報告中說“不好用”; 所報告內(nèi)容毫無意義;
在報告中用戶沒有提供足夠的信息; 在報告中提供了虛假信息;
所報告的問題是由于用戶的過失而產(chǎn)生的; 所報告的問題是由于其他程序的錯誤而產(chǎn)生的; 所報告的問題是由于網(wǎng)絡錯誤而產(chǎn)生的;
這便是為什么“技術支持”被認為是一件可怕的工作,因為有拙劣的bug報告需要處理。然而并不是所有的bug報告都令人生厭:我在業(yè)余時間維護自由軟件,有時我會收到非常清晰、有幫助并且內(nèi)容豐富的bug報告。
在這里我會盡力闡明如何寫一個好的bug報告。我非常希望每一個人在報告bug之前都讀一下這篇短文,當然我也希望用戶在給我報告bug之前已經(jīng)讀過這篇文章。
簡單地說,報告bug的目的是為了讓程序員看到程序的錯誤。您可以親自示范,也可以給出能導致程序出錯的、詳盡的操作步驟。如果程序出錯了,程序員會收集額外的信息直到找到錯誤的原因;如果程序沒有出錯,那么他們會請您繼續(xù)關注這個問題,收集相關的信息。
在bug報告里,要設法搞清什么是事實(例如:“我在電腦旁”和“XX出現(xiàn)了”)什么是推測(例如:“我想問題可能是出在??”)。如果愿意的話,您可以省去推測,但是千萬別省略事實。
當您報告bug的時候(既然您已經(jīng)這么做了),一定是希望bug得到及時修正。所以此時針對程序員的任何過激或褻瀆的言語(甚至謾罵)都是與事無補的??因為這可能是程序員的錯誤,也有可能是您的錯誤,也許您有權(quán)對他們發(fā)火,但是如果您能多提供一些有用的信息(而不是激憤之詞)或許bug會被更快的修正。除此以外,請記?。喝绻敲赓M軟件,作者提供給我們已經(jīng)是出于好心,所以要是太多的人對他們無禮,他們可能就要“收起”這份好心了?!俺绦虿缓糜谩?/p>
程序員不是弱智:如果程序一點都不好用,他們不可能不知道。他們不知道一定是因為程序在他們看來工作得很正常。所以,或者是您作過一些與他們不同的操作,或者是您的環(huán)境與他們不同。他們需要信息,報告bug也是為了提供信息。信息總是越多越好。
許多程序,特別是自由軟件,會公布一個“已知bug列表”。如果您找到的bug在列表里已經(jīng)有了,那就不必再報告了,但是如果您認為自己掌握的信息比列表中的豐富,那無論如何也要與程序員聯(lián)系。您提供的信息可能會使他們更簡單地修復bug。
本文中提到的都是一些指導方針,沒有哪一條是必須恪守的準則。不同的程序員會喜歡不同形式的bug報告。如果程序附帶了一套報告bug的準則,一定要讀。如果它與本文中提到的規(guī)則相抵觸,那么請以它為準。
如果您不是報告bug,而是尋求幫助,您應該說明您曾經(jīng)到哪里找過答案,(例如:我看了第四章和第五章的第二節(jié),但我找不到解決的辦法。)這會使程序員了解用戶喜歡到哪里去找答案,從而使程序員把幫助文檔做得更容易使用。“演示給我看”
報告bug的最好的方法之一是“演示”給程序員看。讓程序員站在電腦前,運行他們的程序,指出程序的錯誤。讓他們看著您啟動電腦、運行程序、如何進行操作以及程序?qū)δ妮斎胗泻畏磻?/p>
他們對自己寫的軟件了如指掌,他們知道哪些地方不會出問題,而哪些地方最可能出問題。他們本能地知道應該注意什么。在程序真的出錯之前,他們可能已經(jīng)注意到某些地方不對勁,這些都會給他們一些線索。他們會觀察程序測試中的每一個細節(jié),并且選出他們認為有用的信息。
這些可能還不夠。也許他們覺得還需要更多的信息,會請您重復剛才的操作。他們可能在這期間需要與您交流一下,以便在他們需要的時候讓bug重新出現(xiàn)。他們可能會改變一些操作,看看這個錯誤的產(chǎn)生是個別問題還是相關的一類問題。如果您不走運,他們可能需要坐下來,拿出一堆開發(fā)工具,花上幾個小時研究。但是最重要的是在程序出錯的時候讓程序員在電腦旁。一旦他們看到了問題,他們通常會找到原因并開始試著修改?!案嬖V我該怎么做”
如今是網(wǎng)絡時代,是信息交流的時代。我可以點一下鼠標把自己的程序送到俄羅斯的某個朋友那里,當然他也可以用同樣簡單的方法給我一些建議。但是如果我的程序出了什么問題,我不可能在他旁邊?!把菔尽笔呛芎玫霓k法,但是常常做不到。
如果您必須報告bug,而此時程序員又不在您身邊,那么您就要想辦法讓bug重現(xiàn)在他們面前。當他們親眼看到錯誤時,就能夠進行處理了。
確切地告訴程序員您做了些什么。如果是一個圖形界面程序,告訴他們您按了哪個按鈕,依照什么順序按的。如果是一個命令行程序,精確的告訴他們您鍵入了什么命令。您應該盡可能詳細地提供您所鍵入的命令和程序的反應。
把您能想到的所有的輸入方式都告訴程序員,如果程序要讀取一個文件,您可能需要發(fā)一個文件的拷貝給他們。如果程序需要通過網(wǎng)絡與另一臺電腦通訊,您或許不能把那臺電腦復制過去,但至少可以說一下電腦的類型和安裝了哪些軟件(如果可以的話)。
“哪兒出錯了?在我看來一切正常哦!”
如果您給了程序員一長串輸入和指令,他們執(zhí)行以后沒有出現(xiàn)錯誤,那是因為您沒有給他們足夠的信息,可能錯誤不是在每臺計算機上都出現(xiàn),您的系統(tǒng)可能和他們的在某些地方不一樣。有時候程序的行為可能和您預想的不一樣,這也許是誤會,但是您會認為程序出錯了,程序員卻認為這是對的。
同樣也要描述發(fā)生了什么。精確的描述您看到了什么。告訴他們?yōu)槭裁茨X得自己所看到的是錯誤的,最好再告訴他們,您認為自己應該看到什么。如果您只是說:“程序出錯了”,那您很可能漏掉了非常重要的信息。
如果您看到了錯誤消息,一定要仔細、準確的告訴程序員,它們很重要。在這種情況下,程序員只要修正錯誤,而不用去找錯誤。他們需要知道是什么出問題了,系統(tǒng)所報的錯誤消息正好幫助了他們。如果您沒有更好的方法記住這些消息,就把它們寫下來。只報告“程序出了一個錯”是毫無意義的,除非您把錯誤消息一塊報上來。
特殊情況下,如果有錯誤消息號,一定要把這些號碼告訴程序員。不要以為您看不出任何意義,它就沒有意義。錯誤消息號包含了能被程序員讀懂的各種信息,并且很有可能包含重要的線索。給錯誤消息編號是因為用語言描述計算機錯誤常常令人費解。用這種方式告訴您錯誤的所在是一個最好的辦法。
在這種情形下,程序員的排錯工作會十分高效。他們不知道發(fā)生了什么,也不可能到現(xiàn)場去觀察,所以他們一直在搜尋有價值的線索。錯誤消息、錯誤消息號以及一些莫名其妙的延遲,都是很重要的線索,就像辦案時的指紋一樣重要,保存好。
如果您使用UNIX系統(tǒng),程序可能會產(chǎn)生一個內(nèi)核輸出(core dump)。內(nèi)核輸出是特別有用的線索來源,別扔了它們。另一方面,大多數(shù)程序員不喜歡收到含有大量內(nèi)核輸出文件的EMAIL,所以在發(fā)郵件之前最好先問一下。還有一點要注意:內(nèi)核輸出文件記錄了完整的程序狀態(tài),也就是說任何秘密(可能當時程序正在處理一些私人信息或秘密數(shù)據(jù))都可能包含在內(nèi)核輸出文件里?!俺隽藛栴}之后,我做了??”
當一個錯誤或bug發(fā)生的時候,您可能會做許多事情。但是大多數(shù)人會使事情變的更糟。我的一個朋友在學校里誤刪了她所有的Word文件,在找人幫忙之前她重裝了Word,又運行了一遍碎片整理程序,這些操作對于恢復文件是毫無益處的,因為這些操作搞亂了磁盤的文件區(qū)塊??峙略谶@個世界上沒有一種反刪除軟件能恢復她的文件了。如果她不做任何操作,或許還有一線希望。
這種人仿佛一只被逼到墻角的鼬(黃鼠狼、紫貂一類的動物??譯者注):背靠墻壁,面對死亡的降臨奮起反撲,瘋狂攻擊。他們認為做點什么總比什么都不做強。然而這些在處理計算機軟件問題時并不適用。不要做鼬,做一只羚羊。當一只羚羊面對料想不到的情況或受到驚嚇時,它會一動不動,是為了不吸引任何注意,與此同時也在思考解決問題的最好辦法(如果羚羊有一條技術支持熱線,此時占線。)。然后,一旦它找到了最安全的行動方案,它便去做。
當程序出毛病的時候,立刻停止正在做的任何操作。不要按任何按鈕。仔細地看一下屏幕,注意那些不正常的地方,記住它或者寫下來。然后慎重地點擊 “確定” 或“取消”,選擇一個最安全的。學著養(yǎng)成一種條件反射??一旦電腦出了問題,先不要動。要想擺脫這個問題,關掉受影響的程序或者重新啟動計算機都不好,一個解決問題的好辦法是讓問題再次產(chǎn)生。程序員們喜歡可以被重現(xiàn)的問題,快樂的程序員可以更快而且更有效率的修復bug。“我想粒子的躍遷與錯誤的極化有關”
并不只是非專業(yè)的用戶才會寫出拙劣的bug報告,我見過一些非常差的bug報告出自程序員之手,有些還是非常優(yōu)秀的程序員。
有一次我與另一個程序員一起工作,他一直在找代碼中的bug,他常常遇到一個bug,但是不會解決,于是就叫我?guī)兔??!俺鍪裁疵×耍俊蔽覇?。而他的回答卻總是一些關于bug的意見。如果他的觀點正確,那的確是一件好事。這意味著他已經(jīng)完成了工作的一半,并且我們可以一起完成另一半工作。這是有效率并有用的。
但事實上他常常是錯的。這就會使我們花上半個小時在原本正確的代碼里來回尋找錯誤,而實際上問題出在別的地方。我敢肯定他不會對醫(yī)生這么做?!按蠓?,我得了Hydroyoyodyne(真是怪病??譯者),給我開個方子”,人們知道不該對一位醫(yī)生說這些。您描述一下癥狀,哪個地方不舒服,哪里疼、起皮疹、發(fā)燒??讓醫(yī)生診斷您得了什么病,應該怎樣治療。否則醫(yī)生會把您當做疑心病或精神病患者打發(fā)了,這似乎沒什么不對。
做程序員也是一樣。即便您自己的“診斷”有時真的有幫助,也要只說“癥狀”?!霸\斷”是可說可不說的,但是“癥狀”一定要說。同樣,在bug報告里面附上一份針對bug而做出修改的源代碼是有用處的,但它并不能替代bug報告本身。
如果程序員向您詢問額外的信息,千萬別應付。曾經(jīng)有一個人向我報告bug,我讓他試一個命令,我知道這個命令不好用,但我是要看看程序會返回一個什么錯誤(這是很重要的線索)。但是這位老兄根本就沒試,他在回復中說“那肯定不好用”,于是我又花了好些時間才說服他試了一下那個命令。
多動動腦筋對程序員是有幫助的。即使您的推斷是錯誤的,程序員也應該感謝您,您的嘗試使他們的工作變的更簡單。不過千萬別忘了報告“癥狀”,否則只會使事情變得更糟?!罢媸瞧婀郑瑒偛胚€不好用,怎么現(xiàn)在又好了?”
“間歇性錯誤”著實讓程序員發(fā)愁。相比之下,進行一系列簡單的操作便能導致錯誤發(fā)生的問題是簡單的。程序員可以在一個便于觀察的條件下重復那些操作,觀察每一個細節(jié)。太多的問題在這種情況下不能解決,例如:程序每星期出一次錯,或者偶然出一次錯,或者在程序員面前從不出錯(程序員一離開就出錯。??譯者)。當然還有就是程序的截止日期到了,那肯定要出錯。
大多數(shù)“間歇性錯誤”并不是真正的“間歇”。其中的大多數(shù)錯誤與某些地方是有聯(lián)系的。有一些錯誤可能是內(nèi)存泄漏產(chǎn)生的,有一些可能是別的程序在不恰當?shù)臅r候修改某個重要文件造成的,還有一些可能發(fā)生在每一個小時的前半個小時中(我確實遇到過這種事情)。
同樣,如果您能使bug重現(xiàn),而程序員不能,那很有可能是他們的計算機和您的計算機在某些地方是不同的,這種不同引起了問題。我曾寫過一個程序,它的窗口可以蜷縮成一個小球停在屏幕的左上角,它在別的計算機上只能在 800x600 解析度工作,但是在我的機器上卻可以在 1024x768 工作。
程序員想要了解任何與您發(fā)現(xiàn)的問題相關的事情。有可能的話您到另一臺機器上試試,多試幾次,兩次,三次,看看問題是不是經(jīng)常發(fā)生。如果問題出現(xiàn)在您進行了一系列操作之后,不是您想讓它出現(xiàn)它就會出現(xiàn),這就有可能是長時間的運行或處理大文件所導致的錯誤。程序崩潰的時候,您要盡可能的記住您都做了些什么,并且如果您看到任何圖形, 也別忘了提一下。您提供的任何事情都是有幫助的。即使只是概括性的描述(例如:當后臺有EMACS運行時,程序常常出錯),這雖然不能提供導致問題的直接線索,但是可能幫助程序員重現(xiàn)問題。
最重要的是:程序員想要確定他們正在處理的是一個真正的“間歇性錯誤”呢,還是一個在另一類特定的計算機上才出現(xiàn)的錯誤。他們想知道有關您計算機的許多細節(jié),以便了解您的機器與他們的有什么不同。有許多細節(jié)都依仗特定的程序,但是有一件東西您一定要提供??版本號。程序的版本、操作系統(tǒng)的版本以及與問題有關的程序的版本?!拔野汛疟P裝進了我的Windows??”
表意清楚在一份bug報告里是最基本的要求。如果程序員不知道您說的是什么意思,那您就跟沒說一樣。我收到的bug報告來自世界各地,有許多是來自非英語國家,他們通常為自己的英文不好而表示歉意??偟膩碚f,這些用戶發(fā)來的bug報告通常是清晰而且有用的。幾乎所有不清晰的bug報告都是來自母語是英語的人,他們總是以為只要自己隨便說說,程序員就能明白。
精確。
如果做相同的事情有兩種方法,請說明您用的是哪一種。例如:“我選擇了‘載入’”,可能意味著“我用鼠標點擊‘載入’”或“我按下了‘ALT+L’”,說清楚您用了哪種方法,有時候這也有關系。詳細。
信息寧多毋少!如果您說了很多,程序員可以略去一部分,可是如果您說的太少,他們就不得不回過頭再去問您一些問題。有一次我收到了一份bug報告只有一句話,每一次我問他更多事情時,他每次的回復都是一句話,于是我花了幾個星期的時間才得到了有用的信息。
謹慎使用代詞。
諸如“它”,“窗體”這些詞,當它們指代不清晰的時候不要用。來看看這句話:“我運行了FooApp,它彈出一個警告窗口,我試著關掉它,它就崩潰了?!边@種表述并不清晰,用戶究竟關掉了哪個窗口?是警告窗口還是整個FooApp程序?您可以這樣說,“我運行FooApp程序時彈出一個警告窗口,我試著關閉警告窗口,F(xiàn)ooApp崩潰了?!边@樣雖然羅嗦點,但是很清晰不容易產(chǎn)生誤解。檢查。
重新讀一遍您寫的bug報告,您覺得它是否清晰?如果您列出了一系列能導致程序出錯的操作,那么照著做一遍,看看您是不是漏寫了一步。
小結(jié):
bug報告的首要目的是讓程序員親眼看到錯誤。如果您不能親自做給他們看,給他們能使程序出錯的詳細的操作步驟。
如果首要目的不能達成,程序員不能看到程序出錯。這就需要bug報告的第二個目的來描述程序的什么地方出毛病了。詳細的描述每一件事情:您看到了什么,您想看到什么,把錯誤消息記下來,尤其是“錯誤消息號”。
當您的計算機做了什么您料想不到的事,不要動!在您平靜下來之前什么都別做。不要做您認為不安全的事。
盡量試著自己“診斷”程序出錯的原因(如果您認為自己可以的話)。即使做出了“診斷”,您仍然應該報告“癥狀”。
如果程序員需要,請準備好額外的信息。如果他們不需要,就不會問您要。他們不會故意為難自己。您手頭上一定要有程序的版本號,它很可能是必需品。
表述清楚,確保您的意思不能被曲解。
總的來說,最重要的是要做到精確。程序員喜歡精確。
第五篇:穿越火線實戰(zhàn)技巧和一些BUG總結(jié)
穿越火線實戰(zhàn)技巧和一些BUG分享
穿越火線的小技巧和一些BUG幸福的定義
BUG 跳(即超級跳)
W+S按住不放 蹲鍵+跳鍵一起按(此跳可以上 箱子 沙漠A坑 潛艇上山等.其次再說下 進箱子 蹲在箱子一角左 右 左 右......重復(據(jù)說CF里80%箱子都能進去)進墻也一樣
怎么擠人
方法是 擠的人 靜步走 低頭 前走 后退
空槍刷子彈
適合幽靈玩家守包用方法;首先先把自己的機槍子彈用完完了把“空機槍”扔地下 手槍子
彈打一發(fā)(只要不滿就行)完了按R(既換手槍子彈)在換的手槍子彈的同時揀地上的空槍 換刀 細節(jié)是
揀起的空機槍是不顯示的 而是直接顯示刀了(既R+揀空機槍 +換刀)卡天空 +卡不死
這個簡單只須3個按鍵 分別是ESC+蹲鍵+AIT鍵卡天空是 跳起后 按此3個鍵 要一
直按住 只要松手就出來了就被打死了 卡住后 是打不死的卡了后為什么 游戲就自動被切換出去了 這個解決方法是 松手時 最后松ESC鍵 就可以了!
貼在箱子邊上/。同時按住W S 這兩個鍵在跳蹲。只后就會卡在箱子上,在松開S,在跳一下。就上去了。
這里要注意的是。跳一下可能不會成功。需要多跳幾下
爆頭講究技巧,新手很容易上手,老手也很實用的包頭方法,很容易學,你會發(fā)現(xiàn)爆頭原來如此簡單:
1要爆頭 最重要的當然是要先瞄頭了也是最基本的 這個基本功修煉的好壞影響你以后爆頭率 首先就是要
強迫自己只打頭,就是找爆頭點,最好選擇2號準心 用中間那個點瞄頭!要爆頭就必須做到這點,以后
瞄頭習慣了,就有感覺了,那些習慣了瞄胸部的(有女人了呵呵別養(yǎng)成了瞄女人胸部習慣啊)馬上改過來
2瞄到頭后你要做的就是點射,點射要有節(jié)奏,1顆 2顆的點不要讓準心跳起來就行,這里要說下那些喜歡
掃的同志,千萬要該掉掃的習慣,就是別人沖過來了也不能掃,這就需要冷靜和一定心理,以后多死點就
練成了哈哈,切忌不能掃。
3這條是最核心也是新手最容易掌握的了,當你把準心瞄到頭部了,并進行點射了,別人總不是SB站著讓
你打吧,他要移動,這時候你要做的就是:把鼠標準心瞄到人要出來的腦殼那條線上,然后鼠標就可以
不用移動了 最好不要移動 如果爆頭點歪了,等下解釋,鼠標現(xiàn)在就只有左鍵有用了,你要做的就是配合腳步,你不斷走位,讓你的準心移動到敵人頭上,然后1棵子彈就解決拉!我打別人基本都是2棵子彈了,記到 到=準心要移動到頭部在點射,就成了。
4如果你的爆頭點歪了 離頭高了點或者低了點,你就需要調(diào)整,這時候鼠標靈敏度就有很大影響了,所以
越底越好,底了或高了輕輕想上移動下,不回移得太遠,就容易調(diào)整到瞄頭的位置了!所以大家要先學習
爆頭請把鼠標調(diào)底啊10一下最好了,想那些20-30 的就不適合此爆頭方法了!5然后去多練習吧,推薦初學者練習爆頭地圖:死亡10字??!
http://static.youku.com/v1.0.0022/v/swf/qplayer.swf?VideoIDS=XNjM1MDI4NTI=&embedid=MjE4Ljc1L
jIyMy4xMTgCMTU4NzU3MTMCd3d3LjMzOG11LmNvbQIvcmVhZC1odG0tdGlkLTI2NTIwLWZwYWdlLTIuaHRtbA==&showAd=0
1.隔墻丟雷BUG.此BUG任何地圖,任何位置都可以使用出來,方法就是把雷舉好了,然后緊貼墻,在松手,雷就可以穿透墻到達指定的地方。
2.小道跑步無聲BUG,沙漠-2地圖小道位置,邊緣有一小塊突起的護欄,玩家踩在護欄外沿跑直線,無腳步聲。(注意,不是靜步走,但跑到盡頭停下來時會有一下聲音)
3.埋包刷錢BUG,在埋包結(jié)束的瞬間移動,結(jié)果是包沒有埋上,而下面卻顯示成功獲得經(jīng)驗跟金錢
地圖:沙漠2 地點:B點的小門,有兩個臺階的樓梯,先上去 按A 慢慢的后退 就可以卡進去,然后
半透視土匪基!地點:B點的小天臺的小口子,跳上箱子后 往山上爬,爬不動的時候一個小跳就進去了,透視半全屏!地點:沙漠任何有房子的屋頂上面投個煙霧彈直接到另一頭!你可以 試試 沙漠2 中門山那
右邊可以上去 左邊可以進去B門 斜坡上兩個大小的箱子可以進A包點 斜坡上 綠箱子可以進
1.按著 ctrl 建 不松!s 和 空格 一起跳(s 比 空格 快一點)快要落地后 松 掉s和空格!你 會發(fā)
現(xiàn)整個過程你是隱行的!
2.還有就是 連跳 了 當然 是 一直隱身的!主要是 跳與跳之間的連接,節(jié)奏要自己掌握穿越火線沙
漠2-BUG匯總
4.B點透視BUG,位置就在B洞口,緊帖墻從樓梯向左下方滑動。就會透過墻看到里面的情形。(此可
歸為一類BUG,很多地方都適用)
5.A點BUG包。在A點包點箱子處埋包時,埋下C4等待2-3秒C4會在3種位置出現(xiàn),前2種情況埋完的包
可以聽到聲音,也能看到,也能拆到地圖:
運輸船
地點:出生后沖到敵人基地的路上 有個大集裝箱 那有個小箱子,靠上去一但有人擠下你你就
進去了!地點:地下通道和地面是可以穿墻的,你可以在倒數(shù)第二的窗子口往上用B51點的打,名字一紅就
是有人,這樣的殺人你試過沒!很好很強大!
人物:土匪可以隱身鬼步,按shift+ctri 前進或后退 按空格 掌握時間 間隔 你可以很熟練的隱身跳
躍殺敵人按shift+ctri 和A D左右移動是聽不到腳步聲音的!
地圖:地下研究所
地點:A爆破 A爆破地點的光柱請用身體靠上去,后退一小步,目標往下瞄準在跳躍,成功跳上去后目標往上看,10內(nèi)卡進去!蹲下埋雷 等待警察上來一刀一個!我的方法100%卡進去 不彈回來!
地點:B爆破 B爆破地點的圈子里有個兩層的樓梯,大跳蹲上去 就可以卡進去了!B點適合警察蹲點!
地點:A管道 A管道土匪到A點必經(jīng)之路,進口子時 速度要快 沖的瞬間 按蹲跳可全屏透視A爆破點!
地點:B管道 B管道土匪帶包進的管道,進口子時 速度要快 沖的瞬間 按蹲跳可全屏透視B爆破點!
地圖:失落遺跡
地點:土匪出生地出來的第一的洞口,順的墻往上爬 就會卡到上面,全屏透視!地點:A埋雷上面,拿包的土匪 別急的按可以刷經(jīng)驗的埋雷,用手點埋雷 在移動下腳步 重復的掉到下面
埋了后成功了但是 雷還在身上,反復的埋獎勵經(jīng)驗
巷戰(zhàn)地圖:
是箱子要卡進去,如果是哪個房子的話,下面墊個人就,可以跳進去了上房你要當CT,CT
那邊有3個窗戶的那面墻,慢慢跳上去,連跳,或者踩在另一個人身上跳首先先開幾槍,然后R4G,這里R換
子彈,要在換子彈期間按4換雷,這里是重點,換雷千萬別等雷拿出來再按G,一定要在換雷而雷還不在手
上的時候迅速按G,把槍丟掉,這下再看看雷的個數(shù)吧,這個速度還是要自己體會的,簡單的說就是開槍R4G.大家多練練,刷出來0/XX說明假雷,具體方法沒錯,主要是4g時間沒掌握好,有時候XX/XX這樣用沒的時候再
重復r4g還能實現(xiàn)無限雷的經(jīng)驗地圖:化工廠
警察 出來 前走 左轉(zhuǎn)那的木門 1人站那 其他人跳上去 可以上房頂 在B點 往匪家去的路上 那的石墩可以進地圖:潛艇 潛艇是可以上去的 需要2人 配合 在傍邊的鐵欄桿上 1人蹲 另個人 跳
可以上去A點 潛艇那的火箭也可以進圖中的叉車那 可以從叉車上往 傍邊的網(wǎng)里跳進去 里面的管道 也可以
進去叉車前面的房子 有個平臺 2人配合可以上才可以
地圖:黑色城鎮(zhèn)
A點那 一群人 一起上 可以上房頂 A點車 輪子那 可以下BUG包地圖:新年
可以進火車可以上房頂B點那跳上箱子上 可以進個隱秘的房間 中路那的木門上 可以跳上去地圖:
小型工廠最下面有水的地方 水的右邊有梯子 梯子上有網(wǎng) 從網(wǎng)的后面 你按CTRL爬上去 爬不動了 然后以松
就可以了透視了(距離警察基地近的那個,主要是匪卡這個BUG殺警察)