文/李丹荔
探索性軟件測試方法及其在嵌入式系統(tǒng)中的應(yīng)用
文/李丹荔
伴隨近年來嵌入式系統(tǒng)的廣泛應(yīng)用,對系統(tǒng)中的軟件質(zhì)量要求逐漸提高。然而從以往嵌入式系統(tǒng)交付情況看,在軟件測試上取得成效并不理想,其直接導(dǎo)致嵌入式系統(tǒng)投入使用出現(xiàn)軟件運行問題。這就要求強(qiáng)化軟件測試質(zhì)量,引入相應(yīng)的軟件測試方法。本文將對探索性軟件測試方法與工具、優(yōu)勢與弊病以及嵌入式系統(tǒng)中探索性軟件測試方法的具體應(yīng)用進(jìn)行探析。
嵌入式系統(tǒng) 探索性軟件測試 應(yīng)用
嵌入式系統(tǒng)作為當(dāng)前各生產(chǎn)領(lǐng)域常用的系統(tǒng)之一,其對系統(tǒng)軟件要求質(zhì)量極高。盡管以往嵌入式系統(tǒng)交付前也做相關(guān)的測試工作,但有明顯的軟件測試周期短、軟件文檔缺乏、軟件需求變化快等問題。而解決該問題的關(guān)鍵在于探索性測試方法的應(yīng)用,但如何使該方法具體落實到嵌入式系統(tǒng)軟件測試中,又要求做好相關(guān)應(yīng)用模型的構(gòu)建。因此,本文對嵌入式系統(tǒng)中探索性軟件測試方法的應(yīng)用分析,具有十分重要的意義。
所謂探索性測試,其強(qiáng)調(diào)在測試設(shè)計、執(zhí)行同時開展,亦可稱之為探索式測試。從探索性軟件測試的內(nèi)涵看,集中表現(xiàn)為:
(1)對測試任務(wù)高度關(guān)注,如測試中需解決的軟件問題。
(2)測試活動同時性,測試執(zhí)行同時,要求學(xué)習(xí)被測軟件,且注意測試設(shè)計。
(3)演繹推理的運用以及人的優(yōu)勢發(fā)揮,其中演繹推理主要指以測試結(jié)果為依據(jù)為后續(xù)測試做指導(dǎo),而人的優(yōu)勢表現(xiàn)在應(yīng)變、分析與判斷能力。對于該種測試方法,更注重測試同時性,對于軟件的持續(xù)優(yōu)化可發(fā)揮重要作用。
根據(jù)既往研究總結(jié),當(dāng)前探索性軟件測試方法應(yīng)用下,具體表現(xiàn)為:
1.2.1 探索方法
實踐中,要求測試人員掌握相應(yīng)的領(lǐng)域知識、測試經(jīng)驗,其中領(lǐng)域知識涉及軟件工程基礎(chǔ)知識、操作場景以及領(lǐng)域規(guī)則等。同時鼓勵測試人員通過啟發(fā)式方法對軟件可能存在的缺陷進(jìn)行分析,一般常用的技巧涉及Whittaker漫游方法、Hendrickson檢查單等。這些方法應(yīng)用下,會對測試人員有一定提醒,提醒內(nèi)容包括軟件功能、軟件關(guān)鍵運行數(shù)據(jù)等。
1.2.2 管理模型
常見的模型以SBTM模型為主,其又被稱之為會話測試管理模型,主要通過多輪會話,做相關(guān)的軟件需求分析、測試計劃制定以及資源分配等。
探索性軟件測試方法應(yīng)用,需借助相應(yīng)的工具實現(xiàn),如Wink、,Rapid Reporter、Session Tester、Microsoft Test Manager等。這些工具的運用主要采用文字信息、截屏以及錄制回放等方法,使測試人員順利完成測試執(zhí)行過程。如在SBTM模型方面,Rapid Reporter、Session Tester可用于設(shè)計與優(yōu)化會話機(jī)制。
從探索性軟件測試方法的實際應(yīng)用現(xiàn)狀看,最早實踐應(yīng)用的為微軟企業(yè),其在Window Media Player、Visual Studio等方面,都將探索性測試引入,特別在漫游探索法應(yīng)用方面取得一定的成功。再如敏捷軟件研發(fā)方面,也有較多探索性測試方法成功應(yīng)用案例,如Scrum敏捷軟件、XP開發(fā)結(jié)合等。值得注意的是,探索性測試方法應(yīng)用下,其優(yōu)勢與弊病都較為突出。首先,從其應(yīng)用優(yōu)勢看,集中表現(xiàn)為對于傳統(tǒng)測試中測試時間緊張、軟件文檔缺失情況可彌補(bǔ),且基于用戶角度出發(fā)測試,測試結(jié)果能夠迅速反饋給測試以及開發(fā)人員,同時人員經(jīng)驗被用于其中。其次,從其弊病看,主要體現(xiàn)在缺少足夠的測試統(tǒng)計數(shù)據(jù),為決策帶來難題,且要求測試人員有足夠的經(jīng)驗,一旦存在測試人員缺乏經(jīng)驗問題,對測試質(zhì)量將產(chǎn)生影響。另外,探索性軟件測試應(yīng)用下,缺少合適的工具,在整個測試流程無法被有效控制下,影響測試效果。
IT技術(shù)快速發(fā)展背景下,嵌入式軟件產(chǎn)品如雨后春筍般快速出現(xiàn),這為軟件測試工作帶來極大難題。若仍沿用傳統(tǒng)軟件測試方法,可能面臨測試時間不充裕、開發(fā)文檔不完備等問題。此時,將探索性測試方法引入,將使測試對設(shè)計規(guī)約、軟件需求過于依賴的問題解決,加之嵌入式系統(tǒng)測試人員在經(jīng)驗上有明顯優(yōu)勢,所以探索性測試方法的應(yīng)用有一定的適應(yīng)性。但從當(dāng)前嵌入式系統(tǒng)軟件測試中該方法應(yīng)用實際看,測試通用方法并未具體落實,其原因歸結(jié)于:
(1)文檔問題,嵌入式系統(tǒng)使用相關(guān)標(biāo)準(zhǔn)中,強(qiáng)調(diào)軟件測試有完備的文檔,但探索性測試方法應(yīng)用中有明顯的隨意記錄測試結(jié)果情況,文檔不完備。
(2)度量問題,如測試覆蓋率的度量較為困難,更無從談及進(jìn)行測試質(zhì)量的評價。
(3)軟件測試管理,整個測試過程并未進(jìn)行系統(tǒng)管理,可能導(dǎo)致測試出現(xiàn)失控局面。這些問題的存在,成為制約嵌入式系統(tǒng)中探索性軟件測試方法應(yīng)用的因素。
針對當(dāng)前嵌入式系統(tǒng)探索性軟件測試方法應(yīng)用問題,實際應(yīng)用中可考慮進(jìn)行相關(guān)模型的構(gòu)建。整個模型將結(jié)合傳統(tǒng)腳本測試、探索性測試兩種方法,測試過程中可將腳本測試中的過程管理控制、測試文檔完備等優(yōu)勢體現(xiàn)出來,而探索性測試高效、靈活方法也可被引入,使測試質(zhì)量得到提高。具體應(yīng)用流程;
(1)策劃、設(shè)計,通過數(shù)據(jù)復(fù)用庫的應(yīng)用,使測試用例、測試項明確,解決設(shè)計文檔不足、對軟件需求依賴過大問題。
(2)測試執(zhí)行,采用會話方式,以測試計劃為依據(jù),對各會話涉及的用例、主旨進(jìn)行明確,每次會話都要求測試人員探索每個測試項,可借助啟發(fā)式或漫游策略,達(dá)到測試目的。
(3)測試總結(jié),對測試執(zhí)行結(jié)果做總結(jié)分析,指出軟件的缺陷,并提出改進(jìn)意見。
探索性測試方法的應(yīng)用是當(dāng)前嵌入式系統(tǒng)開發(fā)與設(shè)計中需考慮的主要問題。設(shè)計引入該測試方法中,應(yīng)正確認(rèn)識其功能與特征,立足于其在嵌入式系統(tǒng)中的應(yīng)用優(yōu)勢與弊病,考慮在探索性測試的同時,將腳本模型、會話模型等優(yōu)勢引入,以此使軟件測試結(jié)果更為準(zhǔn)確。這樣才能使探索性軟件測試方法的應(yīng)用優(yōu)勢達(dá)到最佳,推動嵌入式系統(tǒng)的發(fā)展。
[1]陶瑋.嵌入式控制系統(tǒng)的軟件測試及其應(yīng)用[J].電子技術(shù)與軟件工程,2016(21):72-73.
[2]何與舟.軟件測試方法在嵌入式系統(tǒng)中的應(yīng)用[J].電子技術(shù)與軟件工程,2016(08):73.
[3]柳溪.探索性軟件測試方法及其在嵌入式系統(tǒng)中的應(yīng)用[J].現(xiàn)代電子技術(shù),2014(20):74-79.
作者單位中興通訊股份有限公司天津分公司 天津市300300