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