陳塵 蒲文棟 朱玲瑛
(成都國信安信息產(chǎn)業(yè)基地有限公司 四川省成都市 610000)
在通信產(chǎn)業(yè)高速發(fā)展的背景下,通信設備嵌入式軟件也得到了長足的發(fā)展,但是仍然存在很多缺陷問題。如今,通信設備軟件開發(fā)測試流程的改進和優(yōu)化已經(jīng)成為現(xiàn)階段軟件測試管理人員所研究的重要課題。軟件測試流程十分關(guān)鍵和重要,其直接關(guān)乎到軟件產(chǎn)品是否能夠投入應用,是否可以投入市場和生產(chǎn),因此軟件測試流程是軟件質(zhì)量的重要保障措施。我們應不斷加強對軟件測試流程的研究,對存在的難題進行不斷攻克,從而對通信設備嵌入式軟件測試流程不斷的改進和優(yōu)化,進而推動通信設備行業(yè)進步與發(fā)展。
軟件測試環(huán)節(jié)十分關(guān)鍵,這是對通信設備嵌入式軟件運行可靠性的重要評估過程,其中測試主要包括6 個階段,分別為項目規(guī)劃設計、系統(tǒng)設計、系統(tǒng)測試、用戶需求分析、代碼設計與實現(xiàn)以及維護管理。在測試環(huán)節(jié)需要嚴格執(zhí)行每一項測試流程,只有確保通信設備嵌入式軟件通過測試之后才可以投入使用。
1.2.1 單元測試
在不同的通信設備企業(yè)中所應用的測試流程幾乎都存在較大差異,單元測試是一個重要的測試活動之一,其又叫做模塊測試,其測試對象主要是軟件基本單元。單元測試流程主要是為了對某一段代碼或者是模塊行為進行有效驗證,驗證其是否與軟件開發(fā)人員的期望相同。由此可見,單元測試是一種正向典型的測試方式。單元測試與后幾項測試過程相比較,測試環(huán)境的創(chuàng)建難度系數(shù)相對較低,回歸測試相對比較簡單,測試成本低。
1.2.2 系統(tǒng)集成測試
這項測試流程實際上是單元測試與系統(tǒng)集成測試的過渡,在掌握單元測試代碼的情況下,那么則可以將其編譯成系統(tǒng)軟件版本,在具體測試的環(huán)節(jié)把系統(tǒng)軟件版本通過相關(guān)方式把編譯成的系統(tǒng)版本加載在通信設備硬件上,通過這種方式可以實現(xiàn)對組裝完成的軟件版本的各個接口和模塊是否存在某些問題的有效驗證,而且還能夠?qū)崿F(xiàn)對集成的軟件版本能否配合硬件穩(wěn)定運行的有效驗證。在系統(tǒng)集成測試過程中通常需要進行測試范圍的劃分,通常主要按照軟件系統(tǒng)功能和硬件板卡功能進行。這項測試流程更加關(guān)注軟硬件之間的集成,如果測試的僅僅是純軟件產(chǎn)品,那么這項測試流程所注重的主要是軟件模塊之間的集成。
1.2.3 系統(tǒng)驗證測試
這項測試流程更加類似于實際的網(wǎng)絡環(huán)境,在此項測試流程同樣非常關(guān)鍵。系統(tǒng)驗證測試實際上主要是在整體通信設備的系統(tǒng)中,把集成的軟件系統(tǒng)作為一項重要的元素,然后再將其與使用者元素、某些支持軟件元素、通信設備硬件元素、數(shù)據(jù)元素等其他重要元素結(jié)合起來,使其在復雜的測試環(huán)境中開展一系列的黑盒測試活動,測試對象主要是通信設備系統(tǒng)以及一些網(wǎng)絡拓撲,從而切實保障通信設備嵌入式軟件能夠切實達到用戶各方面的要求。系統(tǒng)驗證測試的內(nèi)容主要包括功能驗證測試、容錯測試、性能測試、壓力測試以及容量測試等。
1.2.4 驗收測試
驗收測試環(huán)節(jié)通常主要是有通信設備業(yè)務專家完成,通常開始于研發(fā)部門結(jié)束所有測試活動之后。驗證測試主要是為了能夠切實保障通信設備嵌入式軟件能夠更好滿足用戶業(yè)務上的需求,這是一項由通信設備業(yè)務專家完成的一系列黑盒測試,也是最后一項質(zhì)檢活動。將通信設備嵌入式軟件測試流程分為多個測試活動,檢查出在軟件產(chǎn)品在不同開發(fā)階段而出現(xiàn)的各項缺陷問題,而且缺陷問題通常會表現(xiàn)出不同類型和特點。
1.3.1 V 模型
V 模型早在20世紀80年代被提出,這種模型在左側(cè)描述了開發(fā)活動順序,右側(cè)展現(xiàn)出與之相匹配的測試活動,這種模型中明確體現(xiàn)出在不同階段需要采用不同測試活動。V 模型主要如圖1所示,首先在左側(cè)體現(xiàn)出,先進行項目需求分析,然后再一次進行項目概要設計和項目詳細設計,最終在進行編碼形成產(chǎn)品。從V 模型的右側(cè)可以觀察到,第1 步應執(zhí)行單元測試,這個步驟的目的主要是對編碼階段產(chǎn)生的代碼進行有效驗證,判斷其是否與預期要求相符合,然后再一次開展集成測試、系統(tǒng)測試、驗收測試。
圖1:V 模型
1.3.2 W 模型
W 模型是在V 模型的基礎(chǔ)上改進而形成的,這個模型注重的是軟件測試貫穿整個開發(fā)周期,測試對象不但包括軟件程序和功能,而且還包括需求分析與設計。W 模型在實施過程中測試活動與開發(fā)活動同時開展,大幅度降低了開發(fā)周期,而且強化了軟件產(chǎn)品開發(fā)效率,但是也存在一定的局限性,主要體現(xiàn)為不容易適應多變軟件項目。
1.3.3 前置測試模型
對于這種測試模型更加注重測試和開發(fā)的緊密結(jié)合,在前置測試模型中闡述了怎樣在編碼之前對程序?qū)嵤y試設計,而且更加關(guān)注對交付開發(fā)結(jié)果的測試,與V 模型相比前置測試模型效率更高。前置測試模型主要包括以下幾項重要行為,首先,對所有交付物進行有效測試,主要如圖2所示;其次,在設計階段完成測試設計和測試規(guī)劃;另外,將測試與開發(fā)緊密結(jié)合;需要保障技術(shù)測試與驗收測試兩者間具有獨立性;最后,反復交替進行有效的測試與開發(fā)。
圖2:前置測試模型
眾所周知,通信設備嵌入式軟件的開發(fā)難度水平非常高,其測試難度同樣具有較高難度系數(shù),其開發(fā)與測試具有綜合性強、復雜程度高的特點,在具體的測試環(huán)節(jié)往往需要填充大量代碼,對軟件測試人員的素質(zhì)水平有著非常高的要求,務必要熟練各項業(yè)務,而且還要具備較強的知識儲備,在較短時間內(nèi)可以及時發(fā)現(xiàn)存在的問題,需要充分考慮軟件兼容性、各項模塊的合作與交互等其他重要內(nèi)容。然而,專業(yè)軟件測試技術(shù)人員稀缺,年齡相對較大的測試技術(shù)人員通常都會離開軟件測試研發(fā)一線,然而對于年輕的測試人員根本無法實現(xiàn)在短時間內(nèi)完全掌握各項業(yè)務水平,軟件產(chǎn)品測量質(zhì)量難以得到有效保障,項目規(guī)劃周期會被延長。現(xiàn)階段,采用何種方式才能夠?qū)崿F(xiàn)對軟件測試流程和代碼結(jié)構(gòu)的優(yōu)化,這已經(jīng)成為軟件測試管理人員所關(guān)注的重要內(nèi)容。
熟練掌握軟件測試流程的專業(yè)軟件測試人員數(shù)量比較少,往往需要從事3~5年軟件測試工作,才能夠做到精益求精,否則難以正確把握各項測試流程的目的和責任。軟件測試人員通常需要經(jīng)過3~5年的工作熏陶,才可能對軟件項目統(tǒng)一框架結(jié)構(gòu)的完全掌握,才能夠在此基礎(chǔ)上對測試細節(jié)進行簡化和研發(fā)。然而,部分研發(fā)人員總是安于現(xiàn)狀采用相對較為穩(wěn)定的測試模式,在軟件測試方面不會使用新的開發(fā)方式。這主要是由于在新的測試研發(fā)模式中往往存在很多需要解決的問題,需要消耗大量的精力和時間。
對于通信設備嵌入式軟件而言,在對其測試的過程中往往需要多個部門的參與,共同進行審查與討論,從而密切合作完成測試工作。但是,如果軟件測試組織出現(xiàn)問題或者是存在管理不當?shù)默F(xiàn)象,就很可能導致各個項目對軟件項目的認識程度出現(xiàn)偏差,那么必將會造成產(chǎn)品與需求不相符的現(xiàn)象。
為了能夠切實提高軟件測試質(zhì)量和效率,那么務必要注重對軟件測試管理機制的構(gòu)建,并設計出完善的監(jiān)督管理方案,促使各個組織和部門可以更好的掌握和明確項目目標、責任與任務。比如,在接到軟件測試項目后,需要將各個部門的人員召集到同一個工作室,共同互相協(xié)作進行產(chǎn)品研發(fā),通過這種方式可實現(xiàn)相關(guān)部門零距離交流,從而規(guī)避電話溝通、郵件交流的低效率的協(xié)作方式,進而提高軟件測試效率。
現(xiàn)階段,通信技術(shù)水平在不斷提高,通信產(chǎn)品換代速度在不斷加快,傳統(tǒng)測試技術(shù)很難滿足現(xiàn)階段新型通信產(chǎn)品。為此,對于企業(yè)務必要積極融入軟件測試技術(shù)創(chuàng)新的熱潮中,積極引入新型的軟件測試技術(shù),對技術(shù)裝備進行優(yōu)化,對軟件的各種代碼結(jié)構(gòu)、框架以及測試流程進行不斷創(chuàng)新,進而達到強化軟件產(chǎn)品的測試水平的目標。
如今,自動軟件測試工具相對較為匱乏,這嚴重阻礙了軟件測試水平的提升。近年來,我國在軟件測試工具的研究方面投入力度不斷加大,這對自動化測試工具研發(fā)具有良好的推動性作用,相信在不久的將來必將會實現(xiàn)智能化和自動化的軟件測試工具研發(fā)目標,不斷提高測試范圍、軟件測試面以及測試質(zhì)量。
通信設備嵌入式軟件測試是一項高難度水平的工作,因此作為軟件測試人員需要具備較強的職業(yè)道德素質(zhì)和專業(yè)素養(yǎng),全身心投入軟件測試任務中。企業(yè)應注重軟件開發(fā)測試主力軍的建設,采取老人帶新人的管理模式,不斷強化團隊整體的技術(shù)能力、業(yè)務水平。
測試流程的改進是提升通信設備嵌入式軟件測試水平的重要舉措,在測試改進流程方面應高度重視對測試工具的研發(fā)、測試技術(shù)的創(chuàng)新、測試人才的培養(yǎng)以及軟件測試管理機制的構(gòu)建。在軟件測試過程中務必要注重各個部門的溝通、協(xié)作與配合,根據(jù)企業(yè)的整體情況設計出有效的軟件測試管制措施,從而為企業(yè)創(chuàng)造出更高的經(jīng)濟價值。