在互聯(lián)網(wǎng)各種技術(shù)崗位中,軟件測(cè)試的技術(shù)門檻并不高,但要真正做好軟件測(cè)試卻并不是一件容易的事情。中培偉業(yè)自開設(shè)《軟件自動(dòng)化測(cè)試與持續(xù)集成》以來,遇到過不少學(xué)員,他們的學(xué)歷較高,軟件測(cè)試方面的理論知識(shí)也很扎實(shí),問題是一款軟件放在自己面前,完全不知所措。
對(duì)此,中培偉業(yè)軟件測(cè)試講師劉老師指出,這其中的關(guān)鍵問題就是在測(cè)試的過程中缺乏科學(xué)合理的步驟,結(jié)果費(fèi)力不好。那么如何才能做好軟件測(cè)試呢?
劉老師指出,首先要做的就是要深度參與。即在軟件開發(fā)初始極端就要參與進(jìn)去,要學(xué)會(huì)對(duì)軟件的需求分析進(jìn)行深入解讀,在了解用戶需求的基礎(chǔ)上編寫測(cè)試計(jì)劃。
在編寫好測(cè)試計(jì)劃之后,要繼續(xù)關(guān)注軟件需求分析,在確定其不再變更之后,可以繼續(xù)接下來的測(cè)試用例編寫。不過在編寫用例之前,首先是測(cè)試要點(diǎn)的編寫,它是測(cè)試用例的框架,因此非常重要。將用戶的要求和業(yè)務(wù)記錄下來,分析其中的主次需求,以確保在測(cè)試過程中既做到全面又能突出重點(diǎn)。
接下來就是測(cè)試用例的正式編寫了。所謂的編寫測(cè)試用例,就是通過實(shí)際操作來對(duì)前面所寫的測(cè)試要點(diǎn)中的功能點(diǎn)和業(yè)務(wù)進(jìn)行實(shí)現(xiàn)。證明測(cè)試要點(diǎn)需要從正反兩個(gè)方面來進(jìn)行,一方面是對(duì)軟件在正常情況下軟件系統(tǒng)的反應(yīng),另一方面還要證明軟件系統(tǒng)在非正常情況下也能做出正確處理。
對(duì)于用戶的主要需求,在測(cè)試中需要進(jìn)行有針對(duì)性的全面測(cè)試,而且還要考慮到各種可能。對(duì)于用戶的次要需求,雖然可以適當(dāng)少一些測(cè)試用例,但也應(yīng)該考慮到正反兩個(gè)方面。
在測(cè)試用例編寫完之后,就可以開始正式進(jìn)行測(cè)試了。測(cè)試要以以測(cè)試用例作為基礎(chǔ),要確保每一條用例被執(zhí)行一次,而且要做到每執(zhí)行一條用例就要對(duì)比軟件系統(tǒng)的實(shí)際輸出與期望輸出是否一致。如果出現(xiàn)不一致的情況,要將其等級(jí)在記錄報(bào)告中。在實(shí)際測(cè)試過程中,任何的不一致情況都不能遺漏,因?yàn)檫@些不一致就代表軟件系統(tǒng)出現(xiàn)了問題。對(duì)于軟件輸出不一致的用例,最好多執(zhí)行一次,盡量軟件問題進(jìn)行定位,以便開發(fā)人員的修改提供支持
測(cè)試結(jié)束要將測(cè)試報(bào)告開發(fā)人員進(jìn)行及時(shí)反饋,以便于開發(fā)人員的修改。隨著開發(fā)人員修改完成,意味著軟件測(cè)試進(jìn)入最后的回歸測(cè)試階段。這一階段的目的是為了驗(yàn)證上次測(cè)試時(shí)所發(fā)現(xiàn)的問題是已經(jīng)被修改,是否發(fā)現(xiàn)新的問題。而是否出現(xiàn)新問題,也是該階段相對(duì)復(fù)雜繁瑣的重要原因劉老師的建議是,把發(fā)現(xiàn)問題的測(cè)試用例和它有關(guān)聯(lián)的測(cè)試用例重新執(zhí)行一遍,如果沒問題,就算測(cè)試完成,否則,再次提交測(cè)試報(bào)告,直到測(cè)試完成。
當(dāng)然,以上的軟件測(cè)試的步驟是在正常情況下但實(shí)際工作中非正常情況往往要多于正常情況。劉老師在這里介紹了幾種非正常的情況:
1、沒有形成對(duì)軟件項(xiàng)目較完整的需求分析,甚至根本連需求分析都沒有
2、項(xiàng)目已經(jīng)開發(fā)完成的情況下,測(cè)試工作才開始進(jìn)行。
3、由于交付測(cè)試時(shí)離項(xiàng)目已接近完成,測(cè)試的時(shí)間很緊張
那么在面對(duì)以上三種非正常情況該怎么辦呢?劉老師在這里給出了自己的答案。面對(duì)第一種情況,需要測(cè)試人員站在用戶的角度去考慮用戶的需求,然后以此為基礎(chǔ)編寫測(cè)試要點(diǎn),然后與客戶或開發(fā)人員進(jìn)行確認(rèn),接著編寫測(cè)試用例。
面對(duì)第二種情況實(shí)際上容易應(yīng)對(duì),既然軟件已經(jīng)開發(fā)完成,那么測(cè)試計(jì)劃中的測(cè)試時(shí)間就更容易安排,更利于執(zhí)行。第三種情況是最麻煩的。如果時(shí)間很緊,那么在有經(jīng)驗(yàn)的情況下可以不寫測(cè)試用例,直接按照測(cè)試要點(diǎn)測(cè)試,當(dāng)然測(cè)試報(bào)告不能生,應(yīng)該寫詳細(xì)。最麻煩的就是既沒有做需求分析、項(xiàng)目時(shí)間又緊,還沒有測(cè)試經(jīng)驗(yàn)和相似的測(cè)試用例,那么就只能通過不斷加班趕時(shí)間這種最笨的辦法來解決了。不過話說回來,在互聯(lián)網(wǎng)行業(yè),加班幾乎是家常便飯,要有這個(gè)心理準(zhǔn)備。