6、什么是測(cè)試策略?

  測(cè)試策略描述測(cè)試工程的總體方法和目標(biāo)。描述目前在進(jìn)行哪一階段的測(cè)試(單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試)以及每個(gè)階段內(nèi)在進(jìn)行的測(cè)試種類(lèi)(功能測(cè)試、性能測(cè)試、覆蓋測(cè)試等)。

  測(cè)試策略的制定主要包含三個(gè)方面的內(nèi)容:

  (1)確定測(cè)試過(guò)程要使用的測(cè)試技術(shù)和工具;

  (2)制定測(cè)試啟動(dòng)、停止、完成標(biāo)準(zhǔn);

 。3)進(jìn)行風(fēng)險(xiǎn)分析和應(yīng)對(duì)方案。例如測(cè)試與外部接口或者模擬物理?yè)p壞、安全性威脅。測(cè)試計(jì)劃關(guān)鍵的一步是將軟件分解成單元,按照需求編寫(xiě)測(cè)試計(jì)劃。

  7、代碼會(huì)審是如何進(jìn)行的?

  在研發(fā)小組將所開(kāi)發(fā)的程序經(jīng)驗(yàn)證后,提交測(cè)試組后,測(cè)試實(shí)施工作基本開(kāi)始了。這個(gè)時(shí)候,測(cè)試人員要仔細(xì)閱讀有關(guān)資料,包括規(guī)格說(shuō)明、設(shè)計(jì)文檔、使用說(shuō)明書(shū)及在設(shè)計(jì)過(guò)程中形成的測(cè)試大綱、測(cè)試內(nèi)容及測(cè)試的通過(guò)準(zhǔn)則,全面熟悉系統(tǒng),編寫(xiě)測(cè)試計(jì)劃,設(shè)計(jì)測(cè)試用例,作好測(cè)試前的準(zhǔn)備工作。為了保證測(cè)試的質(zhì)量,我們一般測(cè)試過(guò)程分成幾個(gè)階段,即:代碼審查、單元測(cè)試、集成測(cè)試和驗(yàn)收測(cè)試。

  代碼會(huì)審是由一組人通過(guò)閱讀、討論和爭(zhēng)議對(duì)程序進(jìn)行靜態(tài)分析的過(guò)程。會(huì)審小組由組長(zhǎng),2~3名程序設(shè)計(jì)和測(cè)試人員及程序員組成。會(huì)審小組在充分閱讀待審程序文本、控制流程圖及有關(guān)要求、規(guī)范等文件基礎(chǔ)上,召開(kāi)代碼會(huì)審會(huì),程序員逐句講解程序的邏輯,并展開(kāi)熱烈的討論甚至爭(zhēng)議,以揭示錯(cuò)誤的關(guān)鍵所在。實(shí)踐表明,程序員在講解過(guò)程中能發(fā)現(xiàn)許多自己原來(lái)沒(méi)有發(fā)現(xiàn)的錯(cuò)誤,而討論和爭(zhēng)議則進(jìn)一步促使了問(wèn)題的暴露。例如,對(duì)某個(gè)局部性小問(wèn)題修改方法的討論,可能發(fā)現(xiàn)與之有牽連的甚至能涉及到模塊的功說(shuō)明、模塊間接口和系統(tǒng)總結(jié)構(gòu)的大問(wèn)題,導(dǎo)致對(duì)需求定義的重定義、重設(shè)計(jì)驗(yàn)證,大大改善了軟件的質(zhì)量。

  代碼會(huì)審盡管需要一定的成本,但是在大型軟件中,是必不可少的。

  8、回歸測(cè)試中未解決的缺陷如何處理?

  軟件的后期測(cè)試是一個(gè)反復(fù)回歸的工作,有些問(wèn)題可能修改多次才能解決,尤其是那些在開(kāi)發(fā)環(huán)境下不存在的問(wèn)題,這些問(wèn)題很容易被程序員忽視,拖到后才解決。因此大部分回歸測(cè)試是和開(kāi)發(fā)人員反復(fù)配合解決那些上次測(cè)試中沒(méi)有解決的缺陷。

  這里重點(diǎn)討論的是后一次回歸測(cè)試后,仍然發(fā)現(xiàn)有些缺陷沒(méi)有解決時(shí)測(cè)試經(jīng)理應(yīng)該如何做。在管理不規(guī)范的組織中,由于進(jìn)度或者其它方面的壓力,開(kāi)發(fā)工作已經(jīng)停止,通常會(huì)將這些問(wèn)題置之不理。正確的做法時(shí)把這些沒(méi)有解決的問(wèn)題形成一個(gè)未解決缺陷報(bào)告,然后召開(kāi)項(xiàng)目會(huì)議進(jìn)行討論,對(duì)不同的問(wèn)題采取不同的處理方式:

  (1)嚴(yán)重性的問(wèn)題:有些問(wèn)題較難解決,往往會(huì)被拖到后,如果這類(lèi)缺陷導(dǎo)致軟件功能發(fā)生障礙,則必須解決,這也是質(zhì)量控制的職責(zé)所在;

 。2)功能性的問(wèn)題:可以考慮升級(jí)時(shí)解決;

  (3)一般性問(wèn)題:不影響使用,可以不解決或者升級(jí)解決。

  這類(lèi)項(xiàng)目會(huì)議通常需要技術(shù)總監(jiān)或者更高級(jí)別的人來(lái)參加。后,需要對(duì)終討論沒(méi)有解決的缺陷列表進(jìn)行簽字并存檔,形成一個(gè)基線(xiàn)。特別要注意的某些缺陷是否修改不能由程序員或者測(cè)試人員來(lái)決定,這樣有可能帶來(lái)嚴(yán)重的后果??導(dǎo)致缺陷失控,終形成沒(méi)有人對(duì)質(zhì)量負(fù)責(zé)的局面。

  9、狀態(tài)為已經(jīng)修改的缺陷沒(méi)有修改怎么辦?

  首先要對(duì)這類(lèi)缺陷進(jìn)行分析:

 。1)有些問(wèn)題在開(kāi)發(fā)環(huán)境下沒(méi)有重現(xiàn),而開(kāi)發(fā)人員迫于進(jìn)度壓力,往往會(huì)把它標(biāo)記為已經(jīng)修改。這種條件下測(cè)試人員應(yīng)該和開(kāi)發(fā)人員進(jìn)行直接溝通;

 。2)有些問(wèn)題測(cè)試人員沒(méi)有描述清楚,開(kāi)發(fā)人員認(rèn)為問(wèn)題不存在也可能把問(wèn)題標(biāo)記為已經(jīng)修改(正確的做法是標(biāo)記問(wèn)題為商討或者不存在狀態(tài))。測(cè)試人員應(yīng)該清晰的描述問(wèn)題,減少這類(lèi)問(wèn)題的發(fā)生,尤其要描述清楚運(yùn)行環(huán)境以及缺陷的重現(xiàn)步驟;