孫亞楠
摘 要:進入21世紀(jì)以來,全球經(jīng)濟高速發(fā)展,計算機軟件技術(shù)已經(jīng)應(yīng)用到各行各業(yè),人們對軟件開發(fā)及其衍生產(chǎn)品的性能要求越來越高。而隨著軟件開發(fā)規(guī)模的增大、復(fù)雜程度的增加,以尋找軟件中的錯誤為目的的測試工作就顯得更加困難。為了盡可能多地找出程序中的錯誤,生產(chǎn)出高質(zhì)量的軟件產(chǎn)品,加強測試工作的組織和管理就顯得尤為重要。本文主要探究軟件的測試技術(shù)的應(yīng)用及綜合管理。
關(guān)鍵詞:軟件測試技術(shù);應(yīng)用;綜合管理
隨著現(xiàn)代社會信息科技智能化水平的飛速發(fā)展,軟件相關(guān)產(chǎn)品已廣泛應(yīng)用于各行各業(yè),與人們工作生活深度融合。可以說,軟件產(chǎn)品質(zhì)量的高低對推動社會信息化進程發(fā)展起著決定性作用。軟件開發(fā)項目由于其高度的復(fù)雜性和集成性,在軟件開發(fā)過程中極易產(chǎn)生錯誤和缺陷,因此貫穿整個軟件開發(fā)周期的軟件項目測試,是保障軟件開發(fā)質(zhì)量的重要技術(shù)手段,對提升軟件性能有顯著的促進作用。隨著互聯(lián)網(wǎng)+時代的來臨,進行高效專業(yè)軟件測試的要求和挑戰(zhàn)日益迫切。
1 大數(shù)據(jù)概念
大數(shù)據(jù)是指無法在一定時間范圍內(nèi)用常規(guī)軟件工具進行捕捉、管理和處理的數(shù)據(jù)集合,是需要新處理模式才能具有更強的決策力、洞察發(fā)現(xiàn)力和流程優(yōu)化力的海量信息,在運行方面具有數(shù)據(jù)流龐大、數(shù)據(jù)種類繁多、數(shù)據(jù)價值量密度較低以及數(shù)據(jù)運行和處理的速度極快等基礎(chǔ)特征。
當(dāng)前,我國大數(shù)據(jù)的應(yīng)用領(lǐng)域已經(jīng)從政府、金融延伸到醫(yī)療、生物、電商、安防等各行各業(yè)。隨著云計算技術(shù)與應(yīng)用、物聯(lián)網(wǎng)、大數(shù)據(jù)等技術(shù)的不斷發(fā)展,應(yīng)用于各個領(lǐng)域的大數(shù)據(jù)系統(tǒng)也不斷形成。這種大數(shù)據(jù)系統(tǒng)的系統(tǒng)結(jié)構(gòu)復(fù)雜,數(shù)據(jù)類型更加豐富,更有TB級別的海量數(shù)據(jù)量,要使系統(tǒng)平穩(wěn)運行,比起傳統(tǒng)軟件更是需要軟件測試技術(shù)作為支撐。隨著大數(shù)據(jù)技術(shù)的發(fā)展也逐步形成具有獨特特征的大數(shù)據(jù)測試技術(shù)。
2 大數(shù)據(jù)測試與傳統(tǒng)測試的比較
傳統(tǒng)軟件測試是在系統(tǒng)已知的前提下對從用戶需求提取到的測試任務(wù)進行的測試,用戶的行為直接影響系統(tǒng)的最終執(zhí)行結(jié)果。傳統(tǒng)軟件測試最主要的兩種測試類型為功能測試和性能測試,都是簡單的從用戶界面入手,比如12306中注冊、登錄、下訂單、支付等,可直接使用黑盒測試方法即可。傳統(tǒng)軟件測試技術(shù)已經(jīng)比較成熟,也形成了各種配套的自動化測試工具。
軟件測試類型很多,包括功能測試、性能測試、安裝與卸載測試、兼容性測試、健壯性測試、文檔測試、回歸測試等等。大數(shù)據(jù)測試和傳統(tǒng)軟件測試相比,主要測試類型都是功能測試和性能測試,但在測試目的和測試流程存在一定差異,主要表現(xiàn)在大數(shù)據(jù)測試更多的是去驗證其數(shù)據(jù)處理而不是驗證單一的功能。
3 軟件測試常用方法
1)靜態(tài)測試和動態(tài)測試。靜態(tài)測試方法是指對靜態(tài)的軟件代碼進行分析和檢測,在實際的測試過程中,并不需要軟件運行起來,而是單純的只對軟件的各種文檔進行分析檢測。故而,靜態(tài)測試方法通常只應(yīng)用于軟件開發(fā)的過程中,其主要測試手段是人工測試和計算機輔助測試。動態(tài)測試方法是指對運行過程中的軟件進行檢測,其測試原理是通過檢測軟件運行過程中的某些動態(tài)行為,來判斷軟件的測試結(jié)果是否符合標(biāo)準(zhǔn)。動態(tài)測試的特點就是必須確保軟件的完整運行。另外,需要注意的一點是在實際操作過程中,除了被測試軟件,軟件測試中所涉及的各種數(shù)據(jù)也會影響動態(tài)測試結(jié)果。
2)白盒測試和黑盒測試。白盒測試也稱為邏輯驅(qū)動測試或結(jié)構(gòu)測試,其工作原理是對軟件系統(tǒng)的內(nèi)部結(jié)構(gòu)進行測試,對軟件系統(tǒng)的運行狀態(tài)進行評估,根據(jù)系統(tǒng)不同區(qū)域反饋的測試信息得出最終檢測結(jié)果。白盒測試主要包括:基本路徑測試法、邏輯覆蓋法、靜態(tài)結(jié)構(gòu)分析法和代碼檢查法等。白盒測試技術(shù)需要測試人員對被測試軟件的系統(tǒng)內(nèi)部構(gòu)造有足夠的了解,能夠在實際的檢測過程中正確分析軟件的檢測數(shù)據(jù)。與其他測試技術(shù)相比,白盒測試技術(shù)最大的優(yōu)勢就是測試速度快且可以促進軟件的運行效率。
黑盒測試的工作原理是通過對被檢測軟件的功能進行測試,來判斷該軟件系統(tǒng)是否能夠正常運行。在它的實際操作及應(yīng)用過程中,測試人員無需考慮軟件的內(nèi)部架構(gòu),只需對其輸入輸出數(shù)據(jù)進行分析。黑盒測試被廣泛應(yīng)用于軟件系統(tǒng)的界面設(shè)計和功能測試方面,主要包括等價類劃分、錯誤推測、邊界值分析、因果圖等方法。黑盒測試的技術(shù)優(yōu)勢是:操作和設(shè)計代碼簡單且有利于實現(xiàn)軟件的功能。
4 強化軟件測試管理的有效對策
1)加強軟件測試過程的有效管理。在軟件測試需求收集的過程中,應(yīng)當(dāng)及時掌握軟件測試對應(yīng)的具體對象以及實際范圍。軟件測試人員要加強與項目開發(fā)人員的有效溝通與合作,從而在規(guī)定時間內(nèi)收集和整理好相關(guān)信息和資料,繼而通過深入研究軟件測試各環(huán)節(jié)的根本性需求,便于將軟件測試內(nèi)容具體化和細分化,確保軟件測試工作的有效性和可行性。軟件測試計劃制定過程的核心工作是結(jié)合軟件測試需求制定軟件測試方案(包括軟件測試環(huán)境分析、進度分析以及風(fēng)險分析等),而軟件測試執(zhí)行過程則要兼顧軟件測試實施和軟件測試監(jiān)控兩項工作。另外,在軟件測試缺陷跟蹤過程中,必須在盡可能短的時間內(nèi)完成缺陷報告工作,并持續(xù)跟進。
2)加強軟件測試的監(jiān)控管理。以下為軟件測試中兩點典型問題的監(jiān)控管理:(1)軟件測試中思維定式問題的監(jiān)控管理。軟件測試人員反復(fù)編制和創(chuàng)新測試用例,可有效避免對自己過于自信產(chǎn)生慣性思維定式,從而在增加軟件測試次數(shù)的基礎(chǔ)上有效提升缺陷防范率。(2)軟件測試中定位效應(yīng)問題的監(jiān)控管理。項目管理人員必須有效組織軟件測試人員全面實施軟件測試用例,并加強交叉式軟件測試,對那些已經(jīng)通過測試的功能,二次測試時仍需認(rèn)真測試,避免因疏于防范,遺漏一些潛在的缺陷,這樣才能有效地解決問題。
3)加強軟件測試的配置管理。軟件測試需要進行充分的測試準(zhǔn)備,需要科學(xué)規(guī)范的過程管理,有效的配置管理對跟蹤和提高測試質(zhì)量和效率十分重要。在軟件測試的配置管理中,我們重點考慮如下四個問題:(1)選取適合的配置管理工具,提供軟件測試的效率;(2)將配置項作為一個整體進行配置管理,避免配置項相關(guān)的基礎(chǔ)數(shù)據(jù)、配置文件未進行配置管理;(3)增加發(fā)布前驗收測試環(huán)節(jié),避免修復(fù)的缺陷又重現(xiàn);(4)明確角色與職責(zé),避免缺陷無人認(rèn)領(lǐng)互相推諉的現(xiàn)象。
5 大數(shù)據(jù)測試面臨的挑戰(zhàn)
與傳統(tǒng)軟件測試相比,大數(shù)據(jù)的多樣性給從事大數(shù)據(jù)測試的軟件測試工程師帶來了新的挑戰(zhàn),可能面臨下面幾個挑戰(zhàn)。
1)自動化。當(dāng)前傳統(tǒng)的軟件測試功能測試還是手動測試居多,在高回歸的情況下才會借助selenium、UFT等工具實現(xiàn)自動化。因大數(shù)據(jù)系統(tǒng)的數(shù)據(jù)量巨大、速度快、數(shù)據(jù)類型多、數(shù)據(jù)價值低等特點,借助測試工具實現(xiàn)自動化是從事大數(shù)據(jù)測試必備的技術(shù),但當(dāng)前市場上的自動化測試工具并不具備處理異常的能力,意味著現(xiàn)有測試工具可能并不完全適用,這就要求測試工程師需要自己編寫合適的測試工具,編碼能力將是大數(shù)據(jù)測試工程師的必備技能。
2)虛擬化。當(dāng)前業(yè)內(nèi)大規(guī)模使用虛擬化技術(shù),但虛擬機的延遲有可能造成大數(shù)據(jù)實時測試處理的異常。
3)海量數(shù)據(jù)集。大數(shù)據(jù)系統(tǒng)需要驗證的數(shù)據(jù)量往往是TB級別的,并且要求處理的速度更快,對這類系統(tǒng)進行測試需要有效的自動化測試手段。
總之,大數(shù)據(jù)分析已經(jīng)毫無爭議地成為信息技術(shù)發(fā)展趨勢和熱點,廣泛被工業(yè)界和學(xué)術(shù)界熱推。目前針對大數(shù)據(jù)測試的研究同其設(shè)計開發(fā)的研究相比相對薄弱。但隨著大數(shù)據(jù)工程和數(shù)據(jù)分析逐步進入新的階段,大數(shù)據(jù)測試將成為必然,也必定成為未來的一個熱門的職業(yè)方向。本項目對大數(shù)據(jù)測試的相關(guān)理論、常用測試方法進行研究,后續(xù)將給出大數(shù)據(jù)技術(shù)與應(yīng)用專業(yè)《軟件測試基礎(chǔ)》課程標(biāo)準(zhǔn),為大數(shù)據(jù)測試人才培養(yǎng)做好準(zhǔn)備。
參考文獻
[1]王可平,陳陽,柳園園.軟件測試管理自動化解決方案與實踐[J].指揮信息系統(tǒng)與技術(shù),2010,1(4):82-86.
[2]倪紅英,黃芙平,周弘斌.國內(nèi)外航空軟件測試比較[J].指揮信息系統(tǒng)與技術(shù),2015,6(6):8-12.