◇福州軟件職業(yè)技術(shù)學(xué)院 吳靜
計算機(jī)軟件測試的開展,可確保軟件的質(zhì)量,便于風(fēng)險評估。軟件測試貫穿到計算機(jī)軟件開發(fā)全過程,通過發(fā)現(xiàn)軟件錯誤和有效定義等,發(fā)揮測試技術(shù)的應(yīng)用價值。現(xiàn)針對軟件測試技術(shù)相關(guān)內(nèi)容,展開具體的論述。首先,概述了軟件測試技術(shù)的特點(diǎn)。其次,分析計算機(jī)軟件測試技術(shù)與開發(fā)應(yīng)用情況。最后,提出軟件測試技術(shù)與應(yīng)用發(fā)展的策略。
近年來,我國軟件行業(yè)的快速發(fā)展為軟件測試行業(yè)的發(fā)展提供了良好的基礎(chǔ),軟件測試行業(yè)市場規(guī)模快速增長。隨著軟件行業(yè)的快速發(fā)展,對軟件測試市場需求的需求增加,促使相關(guān)人才的培養(yǎng)和技術(shù)研究增加。
軟件測試指的是用來促進(jìn)鑒定軟件的正確性和完整性以及安全性、質(zhì)量的過程。整個軟件測試為實(shí)際輸出和預(yù)期輸出之間的審核或?qū)Ρ确治觯谝欢ǖ臈l件下對程序開展操作,進(jìn)而發(fā)現(xiàn)程序存在的錯誤,衡量軟件質(zhì)量,分析是否可以達(dá)到設(shè)計要求。在軟件行業(yè)發(fā)達(dá)的國家,軟件測試產(chǎn)業(yè)已經(jīng)形成規(guī)模。我國軟件測試行業(yè)起步晚且發(fā)展速度較慢,不過計算機(jī)軟件行業(yè)的快速發(fā)展,帶動著軟件測試的發(fā)展。隨著軟件測試行業(yè)的快速發(fā)展,呈現(xiàn)出規(guī)模化發(fā)展的態(tài)勢,促進(jìn)企業(yè)專業(yè)化發(fā)展。除此之外,對測試技術(shù)和人員的需求也在不斷增加。
(1)并行測試技術(shù)。計算機(jī)軟件測試中,并行測試技術(shù)基于并行處理,完成相應(yīng)的測試。測試時,通過并行測試程序的控制,可以達(dá)到同時測試多個對象的目的。相比傳統(tǒng)的串行測試,可全面提高系統(tǒng)的利用率,能夠減少軟件測試等待時間,同時可以達(dá)到提高開發(fā)與測試性能的目的。在實(shí)踐中并行測試,支持同時測試多個系統(tǒng),為新型測試技術(shù)。并行測試的技術(shù)原理是,同時對多個對象開展測試,系統(tǒng)能夠來回切換測試對象,最終實(shí)現(xiàn)并行測試的目的。
一般來說,軟件測試劃分為單元測試和集成測試。其中,單元測試指的是將所有功能進(jìn)行拆分處理,劃分為最小單位,完成軟件的測試。集成測試指的是對各個模塊之間的關(guān)系開展測試,測試是通過驗(yàn)證單一的功能模塊是否可以通過一個線程實(shí)現(xiàn)測試,同時檢測模塊之間的關(guān)系是否可以通過一個線程開展測試,進(jìn)而達(dá)到多線程并行測試的效果。詳細(xì)分析如下:①單元測試。計算機(jī)軟件開發(fā)方面,單元測試為主要流程,可簡化錯誤檢測,能夠提升軟件的質(zhì)量,為開發(fā)人員提供有力信息,縮短軟件開發(fā)時間,減少軟件開發(fā)成本。實(shí)際應(yīng)用中將應(yīng)用程序拆分為最小的單元,再進(jìn)行獨(dú)立測試,最終可精準(zhǔn)發(fā)現(xiàn)計算機(jī)程序的錯誤。對每個獨(dú)立模塊,開辟一個線程使得線程測試一個模塊。通常來說,軟件測試中采用的單元測試,能夠在線程體內(nèi)實(shí)現(xiàn)。在計算機(jī)軟件測試開始時,各個線程同時啟動,進(jìn)而完成并行測試的目的。②集成測試。計算機(jī)軟件測試中,采用集成測試方法,目的是找出軟件設(shè)計的程序結(jié)構(gòu),模塊調(diào)用關(guān)系等。測試時,獨(dú)立測試各個關(guān)系,通過開辟線程的方式完成關(guān)系測試,進(jìn)而完成并行測試。
(2)并行測試技術(shù)的實(shí)現(xiàn)思路。計算機(jī)測試實(shí)踐中,使用的并行測試系統(tǒng),主要組成包括多處理器并行測試結(jié)構(gòu)與單一處理器。若想實(shí)現(xiàn)并行測試,通常要配置兩個及以上的處理器。利用操作系統(tǒng)進(jìn)行控制,通過共享的主村或輸入/輸出子系統(tǒng)完成測試,因此測試系統(tǒng)對軟硬件的要求很高。在多單一處理器上構(gòu)建的計算機(jī)并行測試結(jié)構(gòu),主要是對不同測試任務(wù)的調(diào)度,進(jìn)而分配單個處理器處理任務(wù)的時間,最終完成并行測試。測試時,各個進(jìn)程均以一個主線程開始運(yùn)行。如果應(yīng)用程序開始執(zhí)行,那么操作系統(tǒng)將會創(chuàng)建一個主線程。設(shè)計的多線程的程序,不僅有主線程,程序還能夠根據(jù)實(shí)際需求利用操作系統(tǒng)完成次線程的創(chuàng)建,支持多個次線程的創(chuàng)建。為高效化完成測試,要求次線程能夠同時執(zhí)行,因此建設(shè)的次線程通常不會立馬啟動,需加入人工控制的事件,當(dāng)需要的線程全部創(chuàng)建后,同時啟動各個線程。值得注意的是,采取并行測試的方法,所有的線程可能會產(chǎn)生依賴關(guān)系,因此還要加大對線程之間資源使用分配的研究。
(3)并行測試技術(shù)的應(yīng)用方案。對于計算機(jī)軟件測試中需要使用多個系統(tǒng)測試多個軟件的問題,采取并行測試技術(shù)可有效處理。一般來說,設(shè)計的并行測試系統(tǒng),主要組成包括服務(wù)器和PC集。其中,PC集中涉及到多臺設(shè)備,例如,第一存儲器和第一處理器以及第一計算機(jī)程序;PC集則包括第二存儲器和第二處理器以及第二計算機(jī)程序。一般來說,在具體執(zhí)行時,第一處理器在執(zhí)行對應(yīng)的程序時,主要的流程如下:選擇計算機(jī)軟件測試所需的PC集。根據(jù)PC集中每一臺裝置的IP地址,根據(jù)程序的要求,向每臺PC的預(yù)設(shè)端口發(fā)送測試命令。第二處理器按照以下流程運(yùn)行:當(dāng)接收到系統(tǒng)的測試命令后,開始進(jìn)行自動化測試。
本文設(shè)計的并行測試的方法及系統(tǒng),服務(wù)器選擇測試用的PC集,根據(jù)所述PC集中的每臺PC的IP地址向每臺PC的預(yù)設(shè)端口發(fā)送測試命令,所述測試命令包括待測試區(qū)域的截圖,所述PC集包括多臺PC;所述多臺PC并行監(jiān)聽所述預(yù)設(shè)端口,當(dāng)監(jiān)聽到測試命令時,根據(jù)所述待測試區(qū)域的截圖進(jìn)行自動化測試,通過向每臺PC的預(yù)設(shè)端口發(fā)送測試命令,而多臺PC并行監(jiān)聽所述預(yù)設(shè)端口,當(dāng)監(jiān)聽到測試命令時,根據(jù)所述待測試區(qū)域的截圖進(jìn)行自動化測試。從測試方法和系統(tǒng)的應(yīng)用效果分析,支持并行測試多臺不同操作系統(tǒng)的PC,可提高計算機(jī)軟件測試的效率。實(shí)際應(yīng)用中,向每臺PC的預(yù)設(shè)端口發(fā)送測試命令,各個PC并行監(jiān)聽預(yù)設(shè)端口,當(dāng)接收到測試命令之后,能夠開展自動化測試,可提高軟件測試的效率,達(dá)到跨平臺測試的目的,妥善解決了不同系統(tǒng)的差異問題[1]。
(1)實(shí)現(xiàn)自動化測試。從計算機(jī)軟件測試的需求分析,自動化測試為主要內(nèi)容。傳統(tǒng)的人工測試難以避免存在不足,軟件自動化測試技術(shù)可謂是應(yīng)運(yùn)而生。實(shí)際應(yīng)用中,采用自動化測試技術(shù),主要是利用自動化工具開展。實(shí)際上,軟件測試工具自身也是一種軟件,研究者將自動化思想植入測試工具內(nèi),使其具備人們所需的功能,協(xié)助人類完成計算機(jī)軟件測試工作[2]。從未來的發(fā)展分析,隨著云計算的應(yīng)用和發(fā)展,將會改變軟件平臺架構(gòu),同時也會使得軟件測試模式發(fā)生變化。例如,改變計算機(jī)軟件測試的環(huán)境,由實(shí)體計算機(jī)轉(zhuǎn)到運(yùn)算服務(wù)器,能夠節(jié)約硬件成本,提高測試的效率,不過此項(xiàng)技術(shù)的實(shí)現(xiàn)還面臨很多的挑戰(zhàn),尤其是實(shí)際操作比較困難,還要克服很多技術(shù)難題才能滿足計算機(jī)軟件測試的需求。
(2)引入大數(shù)據(jù)技術(shù)。從計算機(jī)軟件測試的實(shí)際情況分析,通常要消耗很多的資源,如何提高資源的利用率是研究的重點(diǎn)[3]。一般來說,人們希望投入最少的資源,高效化完成計算機(jī)軟件測試。在傳統(tǒng)的軟件測試環(huán)境中難以實(shí)現(xiàn),主要是因?yàn)橘Y源的消耗和測試可靠性存在線性關(guān)系。不過,大數(shù)據(jù)技術(shù)的應(yīng)用,借助數(shù)據(jù)挖掘技術(shù)的優(yōu)勢,實(shí)現(xiàn)對各類資源的高效化管理,能夠達(dá)到提高軟件測試效率的目的。利用大數(shù)據(jù)技術(shù),助力計算機(jī)軟件測試工作的開展,能夠優(yōu)化測試用例的選擇,高效化完成測試。除此之外,測試中產(chǎn)生的各類bug報告,采用大數(shù)據(jù)技術(shù)手段能夠?qū)崿F(xiàn)高效化分析,為計算機(jī)軟件測試提供更多的支持。從實(shí)現(xiàn)計算機(jī)軟件測試技術(shù)的創(chuàng)新和優(yōu)化角度分析,涉及到很多的難題和問題,需要加大相關(guān)技術(shù)人員的培養(yǎng),積極挖掘人力資源力量,助力測試技術(shù)的開發(fā),為計算機(jī)軟件測試的創(chuàng)新提供支持,全面提高計算機(jī)軟件質(zhì)量控制水平。
綜上,計算機(jī)軟件測試中采用測試技術(shù),可支持同時多系統(tǒng)測試,避免了傳統(tǒng)測試的缺陷,提高了測試的效率,并且能夠降低測試的成本。從測試的開展分析,構(gòu)建相應(yīng)的測試系統(tǒng),通過配置相應(yīng)的服務(wù)器和PC集,形成支持并行測試的系統(tǒng),滿足測試的需求,全面提高測試的效率和質(zhì)量。