
寫給測試小白:如何快速找到bug?如何寫測試用例?
在軟件測試工作中找到bug是這個職位本身的責(zé)任,所以對于許多新生和新生來說,這個過程會有點(diǎn)痛苦,畢竟,項(xiàng)目經(jīng)驗(yàn)不多,想要快速切入尋找bug往往更痛苦。
{img}685c6b9424fda94
下面我就用自己的經(jīng)驗(yàn)來普及如何在工作中快速發(fā)現(xiàn)系統(tǒng)的不足或缺陷。
1、熟悉你做的產(chǎn)品
不管你是Dev、Test或PM,熟悉自己開發(fā)的產(chǎn)品越多越好。你不僅要熟悉自己開發(fā)的模塊,還要改變與自己模塊相關(guān)的其他模塊,以及它們是如何合作的。例如,數(shù)據(jù)庫中的一個字段是如何被每個模塊使用的,這有助于您在設(shè)計(jì)階段找到bug,并盡量降低維修成本。
同樣,您需要熟悉本產(chǎn)品的以前版本,因?yàn)槲磥頍o法兼容和升級的產(chǎn)品可能很難被用戶認(rèn)可。在測試過程中,如果您發(fā)現(xiàn)您的產(chǎn)品與以前不兼容或不一致,80%這是個bug。
2、盡快發(fā)現(xiàn)bug
眾所周知,bug修復(fù)的成本與bug被發(fā)現(xiàn)的時間成指數(shù)有關(guān)。越早開始找bug,能找到的bug越多,對項(xiàng)目的貢獻(xiàn)越大。
3、每天Review別人的bug
如果你的團(tuán)隊(duì)沒有每天的bugreport,我建議你建立一個。事實(shí)上,技術(shù)上應(yīng)該沒有困難。通過bug跟蹤系統(tǒng)的API或數(shù)據(jù)庫,您可以獲得您想要的數(shù)據(jù)。這樣,通過每天學(xué)習(xí)觀察他人的bug,整個團(tuán)隊(duì)更容易找到bug,也不會找到duplicatedbug。現(xiàn)在經(jīng)常有人跑過來問我一個bug是不是已知的問題,因?yàn)槲颐刻於伎碽ugreport。
4、在你的日常生活中準(zhǔn)備更多的測試模式
該模型是一個非常時尚的詞,因?yàn)樗浅S杏谩T谌粘y試中,準(zhǔn)備更多的測試模式,你會有一個很大的驚喜,有時使用一個模式,你可以找到10個錯誤并非不可能。例如,使用特殊字符作為輸入數(shù)據(jù);斷開網(wǎng)絡(luò)查看UI是否會顯示;在本地化版本中,每個字符串提示是否本地化;
5、多測試各模塊之間的合作
每個模塊之間的測試往往是我們測試的弱點(diǎn),但模塊之間的合作對用戶至關(guān)重要。通常,模塊A中的數(shù)據(jù)是合法的,但B中的數(shù)據(jù)是非法的。我們必須找出這些數(shù)據(jù),通常是錯誤的
6、編寫自動測試代碼
你當(dāng)然不打算每天做同樣的事情,這太無聊了,這只是對你智慧的侮辱。但一旦我們不做這些測試,突然有一天早上,我們發(fā)現(xiàn)我們的產(chǎn)品以前可以很好地工作,所以每個人都很混亂,有些人急于修復(fù)它,有些人正在尋找誰。
7、查看產(chǎn)品代碼

通過查看產(chǎn)品代碼,您經(jīng)常可以找到一些DeadCode或邏輯bug,這些bug通常是您無法通過手動測試找到的。
第一次怎么寫用例?
有很多朋友第一次寫用例,不知道從哪里開始,雖然有些公司給出了相關(guān)的解釋文件,但寫作仍然不方便,有很多方法:功能導(dǎo)向用例(邊界值、等價類等),用戶導(dǎo)向用例(場景法),用戶,功能結(jié)合導(dǎo)向用例。
那么對于第一次編寫用例,應(yīng)該如何高效地編寫用例呢?應(yīng)該注意什么?
1、功能導(dǎo)向用例是根據(jù)系統(tǒng)需要實(shí)現(xiàn)的每個功能編寫用例。該用例側(cè)重于功能實(shí)現(xiàn),而不考慮每個功能之間的關(guān)聯(lián)。因此,雖然用例已經(jīng)達(dá)到功能覆蓋,但不一定達(dá)到邏輯覆蓋,因此該方法通常與其他方法結(jié)合使用。功能導(dǎo)向用例是每個用例編寫器早期最常用的方法。
2、用戶導(dǎo)向用例是根據(jù)用戶的習(xí)慣,以用戶使用系統(tǒng)的每個目的為目標(biāo),以每個目標(biāo)的實(shí)現(xiàn)為基礎(chǔ)設(shè)計(jì)測試用例。然而,對于這類用例的設(shè)計(jì),初學(xué)者可能會有很多困惑(以下是我第一次寫作時的困惑,以及我后來采取了什么解決方案)
1、編寫用例的第一步我該怎么辦?
了解系統(tǒng),首先從測試的角度深入了解系統(tǒng)的每個功能和業(yè)務(wù)邏輯,繪制業(yè)務(wù)邏輯圖(即系統(tǒng)能做什么)。
其次,從用戶的角度列出用戶使用系統(tǒng)的目的(即用戶使用該系統(tǒng)時想做什么?)
2、如何確定用戶目標(biāo)?
由于兩個原因,無法確定用戶目標(biāo):a>不熟悉系統(tǒng),b>不了解用戶背景。第一個原因是你自己的原因。你只能回去看文檔。對于第二個原因,你可以從‘系統(tǒng)能做什么’中計(jì)算出‘用戶能做什么’,然后總結(jié)‘用戶可能想做什么’。當(dāng)然,這樣做的前提是你對系統(tǒng)非常熟悉。
3.這個月我要做什么?
如何總結(jié)剛進(jìn)入測試行業(yè)(使用測試管理工具進(jìn)行總結(jié)):
1)分類導(dǎo)出測試管理工具中的所有缺陷,總結(jié)哪些模塊容易產(chǎn)生哪些缺陷,重點(diǎn)關(guān)注未發(fā)現(xiàn)或未考慮的缺陷。
2)如果測試新工作的第一級是從執(zhí)行用例開始的,那么第二級是編寫測試用例。詳細(xì)閱讀測試管理工具中的用例,學(xué)習(xí)他人的用例編寫方法和想法。你可以在業(yè)余時間試著自己寫,看看你寫的和別人寫的用例之間的差距,以便不斷改進(jìn)。重要說明;注重用例編寫方法和思想的學(xué)習(xí),而不是僵化。
3)進(jìn)入一些測試論壇,與大家分享自己的困惑和經(jīng)驗(yàn),在學(xué)習(xí)中不斷進(jìn)步。
所謂的功夫在詩歌之外,測試?yán)碚撝R是如此之多,理論知識將繼續(xù)參與項(xiàng)目,一個項(xiàng)目實(shí)踐,鍛煉他們發(fā)現(xiàn)錯誤的能力,即使隨機(jī)測試,好測試和壞測試,他們發(fā)現(xiàn)問題的能力是完全不同的。以上是一點(diǎn)個人理解,不一定在桌子上,你看官員,也請閱讀更多的建議。