軟件測(cè)試的基本問題
發(fā)布時(shí)間:2021-04-20 14:09:46
軟件測(cè)試的基本問題
眾所周知,軟件質(zhì)量好壞是軟件成功的必要條件,一款漏洞百出的軟件,是不可能獲得成功的,沒有任何人會(huì)喜歡這樣的軟件。
在軟件的開發(fā)過程中,有兩類人是決定軟件開發(fā)質(zhì)量的,這兩類人是開發(fā)人員和測(cè)試人員。這兩類人必須緊密配合,充分合作,才能一起開發(fā)出完美的軟件。兩者之間在一個(gè)軟件開發(fā)過程中,按照如下的關(guān)系緊密結(jié)合在一起:
上面這個(gè)過程,從某種意義上也可以這么理解:
創(chuàng)造BUG發(fā)現(xiàn)BUG→ 解決BUG。
從上面的流程可以看到,任何BUG都是因?yàn)殚_發(fā)人員代碼有缺陷造成的。只有沒找到重現(xiàn)方法的BUG,絕對(duì)沒有所謂的“靈異”BUG。開發(fā)人員代碼質(zhì)量越高,BUG就會(huì)越少,即使有BUG也容易找到;反之代碼質(zhì)量越低,BUG就會(huì)越多,也會(huì)越“靈異”。因此當(dāng)發(fā)現(xiàn)一個(gè)所謂的“靈異”BUG的時(shí)候,測(cè)試人員可以要求開發(fā)人員仔細(xì)檢查自己的代碼是否有缺陷;當(dāng)然開發(fā)人員也應(yīng)該主動(dòng)去看自己的代碼是否有缺陷。
測(cè)試人員的職責(zé),不但要發(fā)現(xiàn)BUG,更重要的發(fā)現(xiàn)這個(gè)BUG的重現(xiàn)方法,不能重現(xiàn)的BUG,對(duì)開發(fā)人員來說價(jià)值是不大的。事實(shí)證明,絕大多數(shù)所謂的“靈異”BUG,最終都能找到重現(xiàn)的方法。對(duì)于一個(gè)BUG來說,只要找到重現(xiàn)的方法,意味著這個(gè)BUG已經(jīng)得到解決了。
發(fā)現(xiàn)一個(gè)“靈異”BUG,并找到可重現(xiàn)的路徑,是一件極具挑戰(zhàn)的工作,也是一件相當(dāng)有技術(shù)含量的事。
你沒有看錯(cuò),是相當(dāng)?shù)挠屑夹g(shù)含量,甚至比做開發(fā)更需要專業(yè)知識(shí)和技巧。從某些角度看,測(cè)試的工作和破案有點(diǎn)類似,都是在蛛絲馬跡中找到某些必然的因素,然后讓看似雜亂無章的東西變得清晰、有序,最終找到解決辦法。然而目前的現(xiàn)狀是,整個(gè)行業(yè)中大多數(shù)的軟件企業(yè),并沒有意識(shí)到這一點(diǎn),項(xiàng)目的負(fù)責(zé)人乃至測(cè)試工程師自己都往往認(rèn)為測(cè)試是一件體力活,他們認(rèn)為只要時(shí)間、人手投入進(jìn)去,就一定能達(dá)到預(yù)期效果,其實(shí)不然。沒有正確的價(jià)值觀引導(dǎo)和測(cè)試方法的提升,本來有技術(shù)含量的測(cè)試工作就會(huì)做成體力活,吃力不討好。
在一個(gè)項(xiàng)目過程中,測(cè)試人員相當(dāng)于一款產(chǎn)品最后把關(guān)的人員,是非常重要的。因此一個(gè)好的測(cè)試人員,一定要自信,要據(jù)理力爭(zhēng)。
BUG雖然靈異,但找BUG的過程仍然有一些規(guī)律可循,總有一些方法可以借鑒,因此本文將討論一下測(cè)試的方法論。
正如一個(gè)優(yōu)秀的開發(fā)人員,應(yīng)該具備一些測(cè)試方面的知識(shí)和能力;一個(gè)優(yōu)秀的測(cè)試人員,同樣需要了解一些開發(fā)方面的知識(shí)。
沒有測(cè)試方面知識(shí)和能力的開發(fā)人員,開發(fā)出來的軟件一定會(huì)有比較多的BUG,甚至?xí)泻車?yán)重的BUG,這些BUG可能需要很長(zhǎng)時(shí)間才能修復(fù);反之有一定測(cè)試知識(shí)和能力的開發(fā)人員,開發(fā)出來的軟件就不會(huì)有很多BUG,更不會(huì)有嚴(yán)重的BUG,即使有了BUG也一定能很快地修復(fù)掉。
沒有開發(fā)方面知識(shí)的測(cè)試人員,在測(cè)試的時(shí)候同樣不能找出太多的BUG,即使找到BUG也往往無法重現(xiàn);反之有一定開發(fā)能力的測(cè)試人員,在測(cè)試過程中就能找到比較多的BUG,而且能找到BUG的重現(xiàn)方法。
開發(fā)人員在學(xué)習(xí)測(cè)試知識(shí),提升測(cè)試能力的時(shí)候,同時(shí)開發(fā)能力也一起得到提升;測(cè)試人員在學(xué)習(xí)開發(fā)知識(shí),提升開發(fā)能力的時(shí)候,同樣測(cè)試能力也會(huì)得到提高。開發(fā)人員和測(cè)試人員應(yīng)該經(jīng)常在一起溝通,互相學(xué)習(xí),一起提高。
前文說過,找BUG是有規(guī)律可循的,掌握了正確的方法,就能比較容易地找到BUG和BUG產(chǎn)生的原因。
測(cè)試從方法論上講,最根本的就是兩個(gè)方法:暴露問題;分析問題。用在測(cè)試上,可以理解為通過各種各樣的操作、猜測(cè),使軟件的各種缺陷暴露出來;通過歸納總結(jié),發(fā)現(xiàn)BUG的規(guī)律,找到BUG產(chǎn)生的明確原因,當(dāng)一個(gè)BUG產(chǎn)生的明確原因找到了,BUG也就能解決了。