一直在做功能測(cè)試工作,負(fù)責(zé)過(guò)三四個(gè)不大不小的項(xiàng)目的功能測(cè)試工作,卻很少靜下心來(lái)總結(jié)工作中的得失。
很多不了解測(cè)試的人,認(rèn)為功能測(cè)試不過(guò)就是拿鼠標(biāo)點(diǎn)來(lái)點(diǎn)去,沒(méi)有什么技術(shù)含量,隨便招個(gè)應(yīng)屆畢業(yè)生就能干的工作。我也曾經(jīng)認(rèn)為功能測(cè)試沒(méi)什么前途,現(xiàn)在 看來(lái)覺(jué)得自己太浮躁了。功能測(cè)試的門檻可能比較低,做測(cè)試工作的人大多都是從功能測(cè)試開(kāi)始,但要做好功能測(cè)試卻不容易,需要學(xué)習(xí)的知識(shí)還很多,比如操作系統(tǒng)、數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)。下面主要結(jié)合工作實(shí)踐談?wù)勎覍?duì)功能測(cè)試的一點(diǎn)總結(jié)。
功能測(cè)試最重要的是理解業(yè)務(wù)和需求。知道系統(tǒng)要實(shí)現(xiàn)什么功能,業(yè)務(wù)流程是怎樣的,然后就可以根據(jù)需求編寫測(cè)試計(jì)劃和測(cè)試用例了。測(cè)試書(shū)籍上介紹常用的編 寫測(cè)試用例的方法有:等價(jià)類、邊界值、因果圖、判定表等,在實(shí)際工作中,我使用較多的有等價(jià)類、邊界值、場(chǎng)景法和錯(cuò)誤猜測(cè)法。在這里需要提一點(diǎn),將測(cè)試用 例按測(cè)試目的進(jìn)行分類,比如用戶界面、功能點(diǎn)、業(yè)務(wù)場(chǎng)景等,會(huì)讓測(cè)試用例的結(jié)構(gòu)看起來(lái)更清晰,執(zhí)行測(cè)試用例的效率也更高。
要做好功能測(cè) 試,還需要對(duì)整個(gè)系統(tǒng)的數(shù)據(jù)庫(kù)結(jié)構(gòu)比較清楚,每個(gè)功能點(diǎn)涉及哪些數(shù)據(jù)表,對(duì)數(shù)據(jù)的操作方式是怎樣的。這樣就不單從前臺(tái)頁(yè)面來(lái)進(jìn)行測(cè)試,通過(guò)對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù) 的驗(yàn)證,可以發(fā)現(xiàn)隱藏的一些bug。比如庫(kù)表沒(méi)有進(jìn)行關(guān)聯(lián)刪除,從前臺(tái)頁(yè)面是看不出來(lái)的,但實(shí)際可能導(dǎo)致程序出現(xiàn)問(wèn)題。對(duì)一些比較復(fù)雜的組合查詢或數(shù)據(jù)排 序,也可以自己編寫sql語(yǔ)句對(duì)結(jié)果進(jìn)行驗(yàn)證。
除此之外,了解程序的框架結(jié)構(gòu)和一些開(kāi)發(fā)知識(shí)也有助于更好地測(cè)試程序和定位錯(cuò)誤。做完一個(gè)業(yè)務(wù),可以通過(guò)系統(tǒng)日志來(lái)查看錯(cuò)誤原因,結(jié)合數(shù)據(jù)庫(kù)結(jié)構(gòu),可以更好幫助開(kāi)發(fā)人員定位錯(cuò)誤。比如日志記錄執(zhí)行哪條sql語(yǔ)句出錯(cuò)了,錯(cuò)誤的原因是字段長(zhǎng)度設(shè)置不夠。我在這方面做得不太好,現(xiàn)在在努力學(xué)習(xí)一些開(kāi)發(fā)知識(shí),期待在以后的工作能做得更好。
最后,對(duì)bug的分析和總結(jié)有助于積累測(cè)試經(jīng)驗(yàn)。比如哪種類型的bug數(shù)量多,哪些測(cè)試用例發(fā)現(xiàn)的bug較多,有助于測(cè)試用例的編寫和修改。在探索測(cè)試 時(shí),發(fā)現(xiàn)bug的測(cè)試過(guò)程也要加入測(cè)試用例庫(kù)中。通過(guò)測(cè)試用例的累積,可以更好地了解系統(tǒng)常出現(xiàn)的錯(cuò)誤,積累更多的測(cè)試經(jīng)驗(yàn)。