1引言
軟件測(cè)試是保證軟件質(zhì)量和可靠性的關(guān)鍵性技術(shù),而測(cè)試階段的測(cè)試,又是對(duì)軟件需求規(guī)格說明、設(shè)計(jì)和編成進(jìn)行最終評(píng)價(jià)的一個(gè)機(jī)會(huì)。大量統(tǒng)計(jì)資料表明,軟件測(cè)試的工作量往往占整個(gè)軟件開發(fā)的40%以上,在極端情況下,測(cè)試成本可高達(dá)相當(dāng)于軟件工程其它步驟總成本的3至5倍。軟件測(cè)試的工作無疑應(yīng)予高度重視,對(duì)于汽車音響系統(tǒng)軟件更是如此。在軟件產(chǎn)品的測(cè)試方面均使用軟件工程中提出的兩種測(cè)試方法進(jìn)行測(cè)試,即白盒測(cè)試和黑盒測(cè)試。白盒測(cè)試是已知產(chǎn)品的內(nèi)部工作過程,可以通過測(cè)試證明每種內(nèi)部操作是否符合設(shè)計(jì)規(guī)格要求,白盒測(cè)試又叫結(jié)構(gòu)測(cè)試。黑盒是已知產(chǎn)品的功能設(shè)計(jì)規(guī)格,可以進(jìn)行測(cè)試證明每個(gè)實(shí)現(xiàn)了的功能是否符合要求,黑盒測(cè)試又叫功能測(cè)試。對(duì)汽車音響軟件的測(cè)試就采用的是黑盒測(cè)試方法。
2測(cè)試準(zhǔn)則
一個(gè)軟件實(shí)現(xiàn)后,通過測(cè)試來實(shí)現(xiàn)該軟件是個(gè)合格的產(chǎn)品,但是作為汽車音響軟件,更需要通過軟件測(cè)試來控制它的質(zhì)量. 軟件測(cè)試的主要原則是:
² 軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程。
² 測(cè)試是為了證明程序有錯(cuò),而不是證明程序無錯(cuò)誤。
² 一個(gè)好的測(cè)試用例是在于它能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯(cuò)誤。
² 一個(gè)成功的測(cè)試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。
3軟件測(cè)試的基本過程
在汽車音響量產(chǎn)以后有時(shí)因?yàn)檐浖收显斐赡承┕δ苁СT獾娇蛻舻耐对V造成的損失嚴(yán)重。所以保證汽車音響軟件質(zhì)量的可靠性尤為重要,雖然造成軟件質(zhì)量低劣原因可能有開發(fā)人員的責(zé)任但如果在軟件測(cè)試上加強(qiáng)力度,使用正確的測(cè)試方法對(duì)控制軟件質(zhì)量是非常有效的。
軟件測(cè)試的包括的基本測(cè)試活動(dòng):1,擬定軟件測(cè)試計(jì)劃。2,編寫軟件測(cè)試流程。3,設(shè)計(jì)和生成測(cè)試用例。4,實(shí)施測(cè)試。5,生成軟件問題報(bào)告。
汽車音響的軟件測(cè)試過程實(shí)際上是與整個(gè)軟件開發(fā)過程是平行的。在需求分析階段開始制定相應(yīng)的軟件測(cè)試計(jì)劃,然后由一位對(duì)整個(gè)系統(tǒng)設(shè)計(jì)熟悉的設(shè)計(jì)人員編寫測(cè)試大綱,明確測(cè)試的內(nèi)容和測(cè)試通過的準(zhǔn)則,設(shè)計(jì)完整合理的測(cè)試用例,以便系統(tǒng)實(shí)現(xiàn)后進(jìn)行全面測(cè)試。充分的準(zhǔn)備工作可以有效地克服測(cè)試的盲目性、縮短測(cè)試周期、提高測(cè)試效率、并且起到測(cè)試文檔與開發(fā)文檔的互查的作用。
軟件測(cè)試的實(shí)施階段是由一系列的測(cè)試周期組成的,在每個(gè)測(cè)試周期中,軟件測(cè)試工程師將依據(jù)預(yù)先編制好的測(cè)試大綱和準(zhǔn)備好的測(cè)試用例,對(duì)每次糾正了被測(cè)試軟件的已知錯(cuò)誤之后生成的更新版本進(jìn)行新一輪的測(cè)試,理論上,系統(tǒng)需要在達(dá)到無錯(cuò)誤時(shí)方可終止測(cè)試,但實(shí)際上,由于人們無法證明系統(tǒng)是否無錯(cuò)。因此,終止測(cè)試只是標(biāo)志著系統(tǒng)的當(dāng)前版本的質(zhì)量經(jīng)過確認(rèn)已經(jīng)達(dá)到預(yù)期的要求,不再對(duì)其做任何修改。
軟件測(cè)試過程中的各項(xiàng)測(cè)試活動(dòng)
4軟件測(cè)試用例的設(shè)計(jì)
在軟件測(cè)試過程中,軟件測(cè)試用例的設(shè)計(jì)是非常關(guān)鍵的一步。測(cè)試用例設(shè)計(jì)的好壞直接影響到以后的測(cè)試質(zhì)量。測(cè)試用例應(yīng)該包括正常范圍測(cè)試用例和異常范圍測(cè)試用例。正常范圍測(cè)試用例的目的是用來證明軟件響應(yīng)正常輸入和條件的能力。異常測(cè)試用例的目的是要驗(yàn)證軟件響應(yīng)異常輸入和條件的能力。在汽車音響軟件的測(cè)試中采用黑盒的測(cè)試方法,其策略包括:(1)用等價(jià)分類的方法和邊值分析法提出基本的測(cè)試用例。(2)用猜測(cè)法補(bǔ)充新的測(cè)試用例。
汽車音響包括內(nèi)藏CD,內(nèi)藏MD,TUNER,內(nèi)藏MP3,外接CD_Changer,MD_changer等source,在對(duì)其中的某一功能的軟件進(jìn)行測(cè)試的時(shí)候,提前都要徹底詳細(xì)閱讀并理解這部分的式樣說明書,對(duì)每個(gè)部分都要編寫詳細(xì)的測(cè)試用例。下面以內(nèi)藏CD為例進(jìn)行簡(jiǎn)單介紹。
1, 完整的測(cè)試用例必須包括對(duì)輸入數(shù)據(jù)的描述和由這些輸入數(shù)據(jù)應(yīng)產(chǎn)生的程序正確結(jié)果
的精確描述,以驗(yàn)證程序的輸出是否與預(yù)期的正確結(jié)果一致。在對(duì)內(nèi)藏CD這一功能進(jìn)行編寫測(cè)試用例時(shí),要包括所有在CD source 下進(jìn)行的所有操作所產(chǎn)生的動(dòng)作結(jié)果和顯示結(jié)果。比如在CD正常Play狀態(tài)下,進(jìn)行快進(jìn)、快退等按鍵,樣機(jī)要進(jìn)行快進(jìn)快退動(dòng)作,按鍵發(fā)出有效的BEEP音,同時(shí)在顯示上要與顯示式樣書上的要求一致。在寫測(cè)試用例時(shí)按鍵是否發(fā)有效音,進(jìn)行什么動(dòng)作,進(jìn)行什么樣的顯示畫面,都要一一列出。當(dāng)在CD source 下進(jìn)行source 切換時(shí),可以切換到TUNER source ,如果外接CD_changer,也可以切換到CD_changer source下。切換到不同的source 進(jìn)行不同source 相應(yīng)的顯示。關(guān)于CD正常范圍測(cè)試的測(cè)試用例,如下圖所示:
軟件版本號(hào): 評(píng)價(jià)者: 日期:
當(dāng)前狀態(tài) 按鍵操作 |
CD 通常PLAY中 |
評(píng)價(jià)結(jié)果(OK/NG) | |
Up |
0.5秒未滿 0.5秒以上 |
Track Up動(dòng)作,開始下一曲的開頭進(jìn)行play. Forward動(dòng)作,現(xiàn)曲的結(jié)束進(jìn)行下一曲的Forward動(dòng)作 |
|
Down |
0.5秒未滿 0.5秒以上 |
Track Down動(dòng)作。演奏時(shí)間不滿一秒時(shí),動(dòng)作后進(jìn)行前曲play。 演奏時(shí)間一秒以上時(shí),從現(xiàn)曲開頭play。 Backward動(dòng)作。當(dāng)進(jìn)行到當(dāng)前DISC曲頭時(shí)從頭開始進(jìn)行play |
|
Source/ Power |
2.5秒未滿 2.5秒以上 |
Audio source 進(jìn)行切換 Audio Power Off |
|
… |
… |
… |
|
2,在設(shè)計(jì)汽車音響軟件的測(cè)試用例時(shí)不僅包括合理的操作,而且還要包括不合理的操作,因程序開發(fā)人員往往忽略的是對(duì)于不合理操作的處理,在軟件功能測(cè)試的前期注重基本功能的測(cè)試,比如內(nèi)藏CD正常播放,快進(jìn)、快退等一些基本的功能都實(shí)現(xiàn)了之后,使用預(yù)期的不合理的操作進(jìn)行測(cè)試會(huì)比合理的操作收獲大。因?yàn)槌绦驕y(cè)試就是一個(gè)破壞的過程,其目的就是為了發(fā)現(xiàn)程序中更多的錯(cuò)誤,所以除了測(cè)試一些合法操作外,還要對(duì)其進(jìn)行破壞性測(cè)試,比如,把CD反插入mech中的動(dòng)作和顯示;把CD插入一半時(shí)強(qiáng)行脫出時(shí)的動(dòng)作以及顯示情況。如下為當(dāng)時(shí)測(cè)試的部分破壞性測(cè)試(異常測(cè)試范圍)的部分測(cè)試用例。
3,已使用的測(cè)試用例設(shè)計(jì)應(yīng)予保留,當(dāng)程序改錯(cuò)或者改進(jìn)之后,需要進(jìn)行重新測(cè)試時(shí),可再次使用,以免重新編寫測(cè)試用例。
5 軟件測(cè)試的實(shí)施
² 測(cè)試人員要在測(cè)試之前仔細(xì)閱讀汽車音響的相應(yīng)資料,包括產(chǎn)品企劃書,模式遷移表、以及在設(shè)計(jì)過程中形成的測(cè)試大綱,全面熟悉系統(tǒng),編寫測(cè)試計(jì)劃,設(shè)計(jì)測(cè)試用例,做好測(cè)試前的準(zhǔn)備工作。
² 當(dāng)一個(gè)軟件版本由開發(fā)人員那邊提交到測(cè)試組這邊的時(shí)候就要開始測(cè)試,按照測(cè)試計(jì)劃進(jìn)行,一般都是對(duì)每個(gè)版本,用編好的測(cè)試用例,客戶方提供的產(chǎn)品企劃書,客戶方提供的模式遷移表等分別進(jìn)行測(cè)試,最大程度的減少錯(cuò)誤流出。
² 在進(jìn)行測(cè)試時(shí),要詳細(xì)記錄測(cè)試的環(huán)境、測(cè)試的過程,和測(cè)試中發(fā)現(xiàn)的錯(cuò)誤。對(duì)于許多組織已經(jīng)發(fā)現(xiàn)的比較經(jīng)典的錯(cuò)誤,連同測(cè)試報(bào)告、測(cè)試分析等都要保存起來了,正是每個(gè)問題遲早都要通過測(cè)試的,所以這樣的文件都是以后測(cè)試有用的資源。
² 當(dāng)每個(gè)軟件版本的錯(cuò)誤改正之后,提交給新一個(gè)軟件版本,然后同樣通過不同的測(cè)試手法,對(duì)其進(jìn)行測(cè)試,并每次測(cè)試結(jié)束填好測(cè)試報(bào)告,
6軟件測(cè)試的結(jié)果與報(bào)告
將每次測(cè)試的結(jié)果都必須詳細(xì)記錄,對(duì)于測(cè)出的bug要做到描述準(zhǔn)確。每次測(cè)試結(jié)束后要詳細(xì)填寫測(cè)試報(bào)告(buglist)。一個(gè)典型的測(cè)試報(bào)告應(yīng)包括下面的信息:
² 被測(cè)試的項(xiàng)目的軟件的當(dāng)前階段,測(cè)試機(jī)能,所測(cè)程序所使用的硬件模型。
² 負(fù)責(zé)項(xiàng)目和測(cè)試的人。
² 特殊的測(cè)試用例(包括它們的編號(hào)),還包括軟件版本號(hào)和測(cè)試日期。
² 測(cè)試時(shí)所連接的設(shè)備以及型號(hào)。
² 測(cè)試結(jié)果,所有發(fā)現(xiàn)的錯(cuò)誤,并包括錯(cuò)誤的現(xiàn)象的描述和錯(cuò)誤的數(shù)目以及產(chǎn)生錯(cuò)誤的測(cè)試用例,任何測(cè)試操作的統(tǒng)計(jì),包括錯(cuò)誤出現(xiàn)的幾率
7結(jié)束語
我國軟件行業(yè)迅猛發(fā)展,隨著軟件技術(shù)水平的提高,軟件測(cè)試的地位和重要性將會(huì)越來越顯著,雖然軟件測(cè)試在軟件開發(fā)中是很乏味的工作,但是對(duì)提高軟件質(zhì)量卻有著不可低估的作用。開發(fā)一套汽車音響成本很高,低效率的軟件測(cè)試已經(jīng)遠(yuǎn)遠(yuǎn)不能滿足需求,所以采用正確的軟件測(cè)試方法可以顯著提高軟件測(cè)試的質(zhì)量和效率,從而軟件質(zhì)量得到了很好的控制。
8參考文獻(xiàn)
[1]馮建勛, 軟件測(cè)試的規(guī)范化過程。 華南金融電腦, 2000、9、10,第9期
[2]陳志才, 作戰(zhàn)軟件的測(cè)試技術(shù)。 現(xiàn)代防御技術(shù), 1995,第3期