軟件測(cè)試是軟件研發(fā)過程當(dāng)中必不可少的環(huán)節(jié),中培偉業(yè)《軟件自動(dòng)化測(cè)試與持續(xù)集成實(shí)踐》培訓(xùn)專家陸老師指出,要做好軟件測(cè)試,首先就需要理解軟解測(cè)試的內(nèi)涵。對(duì)于軟件測(cè)試的認(rèn)識(shí),陸老師認(rèn)為應(yīng)該從以下幾個(gè)方面著手。
首先對(duì)于軟件測(cè)試和軟件開發(fā)的關(guān)系問題,首先要說明的是測(cè)試需要懂一些軟件開發(fā)方面的知識(shí),而這些軟件開發(fā)知識(shí)里面最重要的又是數(shù)據(jù)庫和SQL,結(jié)構(gòu)化編程和腳本語言,這些是測(cè)試人員上升到一個(gè)新高度的重要內(nèi)容。可以是軟件開發(fā)轉(zhuǎn)入測(cè)試,這個(gè)時(shí)候強(qiáng)的是軟件開發(fā)方面的知識(shí),但是若的是對(duì)業(yè)務(wù)和需求本身的理解,同時(shí)也容易卷入程序員的固有思維而不能從客戶的角度來看待問題;也可以是先從測(cè)試和業(yè)務(wù)熟悉做起,后面逐漸需求一些開發(fā)方面的知識(shí),包括數(shù)據(jù)庫SQL和腳本語言,但是往往沒有真正做過開發(fā)又很難理解結(jié)構(gòu)化編程的一些基本規(guī)則。這里面都存在一個(gè)轉(zhuǎn)換問題,都需要自己在這個(gè)轉(zhuǎn)換的環(huán)節(jié)多去思考,轉(zhuǎn)變思維,多多總結(jié)。
其次測(cè)試最核心的內(nèi)容是什么?做軟件測(cè)試需要時(shí)刻的提醒自己來思考這個(gè)最重要的問題。軟件工程書里面我們學(xué)過來,測(cè)試最重要的就是找出至今為止別人沒有發(fā)現(xiàn)的Bug,找出盡可能多的有價(jià)值的問題,以最大限度的降低的缺陷泄露和現(xiàn)場(chǎng)故障。這個(gè)回答本身沒有問題,不過我們還需要做一些更加深測(cè)試的思考,特別是做了測(cè)試一兩年后更需要不斷思考,測(cè)試的核心和關(guān)鍵點(diǎn)究竟在哪里?
在這里我想談兩個(gè)比較重要的核心內(nèi)容,一個(gè)就是拿到一個(gè)大的系統(tǒng)或復(fù)雜的業(yè)務(wù)功能后,這個(gè)時(shí)候第一個(gè)核心就是根據(jù)需求規(guī)格說明書進(jìn)行測(cè)試分析,而不是一下切入到了測(cè)試用例和測(cè)試設(shè)計(jì),測(cè)試分析的目的是讓測(cè)試人員真正的理解需求和業(yè)務(wù)場(chǎng)景本身,測(cè)試有個(gè)重要的概念是測(cè)試場(chǎng)景,而測(cè)試場(chǎng)景則來源于需求場(chǎng)景。做測(cè)試分析的目的就是根據(jù)需求和業(yè)務(wù)流程梳理清楚我對(duì)整個(gè)測(cè)試流程的總體規(guī)劃,搞清楚對(duì)于復(fù)雜的功能如何按一定的方法系統(tǒng)性的開展測(cè)試,如何更加有效的設(shè)計(jì)測(cè)試用例,如果加強(qiáng)測(cè)試用例和測(cè)試數(shù)據(jù)的復(fù)用,測(cè)試用例對(duì)需求和業(yè)務(wù)場(chǎng)景的覆蓋等諸多問題。
如果你還不能去考試測(cè)試分析,說明還在測(cè)試的一種初級(jí)階段,完全照搬著需求規(guī)格說明書的測(cè)試用例是無法帶來很好的測(cè)試效果和效率的。第二個(gè)重要內(nèi)容要談的是測(cè)試用例的設(shè)計(jì)問題,一條測(cè)試用例涉及到編號(hào),名稱,對(duì)應(yīng)的需求點(diǎn)和業(yè)務(wù)規(guī)則,前置條件,測(cè)試步驟和預(yù)期輸出和優(yōu)先級(jí)等諸多內(nèi)容,那帶來的一個(gè)重要問題就是測(cè)試用例本身的核心是什么?
其實(shí)這里我想指出的則是通過前期的測(cè)試需求分析后所規(guī)劃的測(cè)試數(shù)據(jù)的準(zhǔn)備問題,而測(cè)試數(shù)據(jù)準(zhǔn)備的方法則來源于我們常說的黑盒測(cè)試場(chǎng)景方法,如等價(jià)類劃分,邊界值設(shè)定,因果分析等,這些都是為測(cè)試數(shù)據(jù)準(zhǔn)備服務(wù)的,沒有準(zhǔn)備的測(cè)試數(shù)據(jù)預(yù)期的測(cè)試輸出往往是一句空話,有了預(yù)先準(zhǔn)備的測(cè)試數(shù)據(jù)測(cè)試的過程才是有計(jì)劃和有目的的,真正準(zhǔn)備了測(cè)試數(shù)據(jù)的人才談得上在真正系統(tǒng)的使用各種黑盒測(cè)試方法。系統(tǒng)的規(guī)劃和準(zhǔn)備測(cè)試數(shù)據(jù)是系統(tǒng)化的進(jìn)行測(cè)試用例的靈魂,你考慮了這點(diǎn)才會(huì)發(fā)現(xiàn)到,需求里面啰嗦了半天的內(nèi)容往往僅僅需要1-2條測(cè)試用例概括即可,而需求里面只有一句話的業(yè)務(wù)規(guī)則往往則需要準(zhǔn)備上十條甚至更多的測(cè)試用例來進(jìn)行測(cè)試。如果在測(cè)試用例的設(shè)計(jì)上考慮到了這些問題,基本表示對(duì)業(yè)務(wù)深入理解和對(duì)測(cè)試方法已經(jīng)靈活應(yīng)用了。
最后談下成為一個(gè)優(yōu)秀的測(cè)試工程師,首先你要轉(zhuǎn)變思維,你代表的是用戶,你是整個(gè)軟件產(chǎn)品或系統(tǒng)版本發(fā)布的最后一關(guān),對(duì)你的評(píng)價(jià)只有一個(gè)就是從你手出去的產(chǎn)品到了用戶現(xiàn)場(chǎng)的缺陷情況,這是唯一的一個(gè)有價(jià)值的目標(biāo)。如果連對(duì)自己的工作績效如何衡量都還不清楚,更談不上如何做好測(cè)試,因此對(duì)于測(cè)試我們會(huì)談到一個(gè)重要的外延就是質(zhì)量管理方面知識(shí)的學(xué)習(xí),質(zhì)量管理基礎(chǔ)理論,質(zhì)量管理七工具,6Sigma等都可能是測(cè)試中需要時(shí)常用到的方法和工具,需要去拓展這個(gè)外延知識(shí),加深對(duì)測(cè)試工作本身意義的理解。
優(yōu)秀的測(cè)試工作師不僅僅是測(cè)試方法和各種測(cè)試工具的熟悉,更重要的一點(diǎn)需要意識(shí)到的是對(duì)某個(gè)業(yè)務(wù)領(lǐng)域業(yè)務(wù)的深入理解,沒有理解無法做好測(cè)試,理解一些可以做單個(gè)功能模塊的測(cè)試,全面理解才可能做集成測(cè)試和系統(tǒng)測(cè)試,你對(duì)業(yè)務(wù)理解的越深,就越容易測(cè)試出各種業(yè)務(wù)規(guī)則方面和數(shù)據(jù)方面的問題,到了這種層次后SQL和后臺(tái)數(shù)據(jù)的查詢就必不可少的,基于業(yè)務(wù)規(guī)則的數(shù)據(jù)校驗(yàn)測(cè)試是測(cè)試人員上一個(gè)新臺(tái)階的重要內(nèi)容。