張鳳霞
(江西軟件職業(yè)技術(shù)大學(xué) 江西省南昌市 330000)
從辯證的角度來看,數(shù)據(jù)用戶在軟件開發(fā)的過程中對于軟件測試的影響是雙面的,良好的用戶反饋可以讓數(shù)據(jù)測試更加符合用戶的預(yù)期與市場的需求。然而隨著網(wǎng)絡(luò)平臺用戶數(shù)量的增加,用戶對軟件的需求趨于多樣化,每一個用戶在使用的過程中都希望能夠通過簡單方便的操作便能完成各種任務(wù),而這也為軟件軟件測試帶來可測試的系統(tǒng)空間壓縮,使得軟件測試的作用不明顯等問題,難以滿足軟件更高層次的發(fā)展需求,從而讓軟件在市場上逐漸失去自身的核心競爭力。
另外在網(wǎng)絡(luò)云技術(shù)普遍應(yīng)用到各個領(lǐng)域的背景下,云計算也逐漸應(yīng)用到軟件測試當(dāng)中。但是在云計算過程中,除了輸入以及輸出的接口以外,在大部分的數(shù)據(jù)用戶對于架構(gòu)、PAAS的理解依然存在較大的偏差,他們無法準(zhǔn)確地理解對PAAS程序,導(dǎo)致其對服務(wù)器發(fā)送的請求在很多情況下沒有任何效果。而這同樣在無形中增加了用戶測試的難度。
綜上所述,用戶在軟件開發(fā)過程中承擔(dān)的角色具有兩面性,一方面用戶反饋可以讓軟件開發(fā)但是在具體的軟件測試當(dāng)中,往往會因為用戶的使用習(xí)慣以及對軟件測試的配合度偏低導(dǎo)致軟件測試難以向前進(jìn)行發(fā)展的瓶頸期。
如今各個行業(yè)在對自身軟件進(jìn)行測試的過程中,都會遇到一個相同的問題,那就是存在一些落后的軟件測試平臺,制約著整個產(chǎn)業(yè)鏈的健康發(fā)展。與此同時,正如前文提到的,用戶在不斷增加的同時,對于數(shù)據(jù)的需求量與數(shù)據(jù)的多樣性也是與日俱增的。已往性能較低,可以測試數(shù)量不多的數(shù)據(jù)平臺如今已不能再軟件測試承受海量的數(shù)據(jù)處理,而這也直接對軟件測試產(chǎn)生了負(fù)面影響。
大數(shù)據(jù)處理框架Map-Reduce已得到了廣泛的應(yīng)用,用戶在設(shè)計分布式應(yīng)用程序時只需要實現(xiàn)map()和reduce()兩個函數(shù),這個框架極大簡化了數(shù)據(jù)密集型應(yīng)用的數(shù)據(jù)處理過程,然而也導(dǎo)致了用戶功能不如框架本身功能豐富,也給測試工作帶來了難度。
在過去的軟件測試中針對B/S或C/S的性能測試通常是通過客戶端測試負(fù)載器模擬向服務(wù)器發(fā)送請求,再經(jīng)過一系列的數(shù)據(jù)輸送最終完成服務(wù)器的壓力測試。然而在大數(shù)據(jù)背景下,數(shù)據(jù)處理平臺則往往會搭建在可動態(tài)擴展的PaaS平臺,過去的壓力測試模式如今已收效甚微。
在軟件測試的過程中,有一項專門對測試過程是否通過的可驗證的流程被稱為Oracle。但是這個流程往往伴隨著預(yù)測以及快速算法存在矛盾的問題,阻礙這軟件測試的正常開展。以視頻軟件面向用戶進(jìn)行視頻推薦為例,提供大數(shù)據(jù)進(jìn)行統(tǒng)計學(xué)的計算,以滿足用戶個性化的的視頻更容易滿足用戶的觀看需求,但與此同時也有著另外一部分人不喜歡看的可能性存在。如果僅僅通過概率計算得出此視頻類型更有幾率得到用戶點擊的結(jié)論,便沒有辦法進(jìn)行更精確的分析。而這種存在概率性的問題讓結(jié)果的正確性與準(zhǔn)確性從本質(zhì)上產(chǎn)生差別,增加了Oracle的確定難度。
盡管在大數(shù)據(jù)背景下軟件測試面臨一系列困難的挑戰(zhàn),但這些挑戰(zhàn)同時也是開發(fā)新技術(shù),突破軟件開發(fā)與升級門檻的重要契機,相關(guān)技術(shù)人員需要針對軟件測試過程中遇到的問題需要具體問題具體分析再加以解決,為數(shù)據(jù)用戶提供優(yōu)質(zhì)的軟件服務(wù),幫助企業(yè)開括更大的市場。
在軟件測試工作中,測試數(shù)據(jù)是衡量測試工作效果的重要工具。因此在具體的測試過程中,需要保持?jǐn)?shù)據(jù)的準(zhǔn)確性。但是用戶在使用過程時,往往會出現(xiàn)數(shù)據(jù)存儲的模糊認(rèn)識和發(fā)送重復(fù)無用請求的信息的情況,進(jìn)而降低了數(shù)據(jù)信息的準(zhǔn)確性,影響了軟件測試的效果,并且存在于軟件測試方和數(shù)據(jù)用戶方兩者間的不準(zhǔn)確將會為用戶帶來一系列的方面體驗,更不利于后臺的正常地進(jìn)行數(shù)據(jù)記錄工作,為后續(xù)的軟件測試造成方面影響并形成惡性循環(huán)。
因此在數(shù)據(jù)庫正式應(yīng)用之前,相關(guān)工作人員必須要對數(shù)據(jù)庫應(yīng)用軟件實施有效的檢測,在檢測的過程中,工作人員需要兼顧性能效率、容錯性、可用性、擴展性、穩(wěn)定性以及兼容性,要把錯誤信息出現(xiàn)頻率盡可能調(diào)低。只有通過測試后,才能讓數(shù)據(jù)用戶進(jìn)行使用,只有這樣才能讓類似的問題數(shù)據(jù)產(chǎn)生的可能性降到最低,從而保證數(shù)據(jù)信息的準(zhǔn)確性,為數(shù)據(jù)維護(hù)提供更良好的使用體驗。
在過去傳統(tǒng)的軟件測試當(dāng)中,相關(guān)工作人員習(xí)慣只使用一種或兩種技術(shù)對軟件進(jìn)行技術(shù)測試,但是這種方式往往無法全面地發(fā)現(xiàn)軟件中存在的問題,而且隨著大數(shù)據(jù)時代的到來,如果僅靠一、兩種技術(shù)的測試模式往往會導(dǎo)致整個檢測效率低下,難以得出客觀的全面的解餓結(jié)果,此外整個檢測過程需要耗費大量時間,影響整個軟件測試的進(jìn)程,
綜上所述,過去的軟件測試技術(shù)已很難有效地進(jìn)行數(shù)據(jù)接收,相關(guān)部門只有與時俱進(jìn)地引入新的測試技術(shù),才能保證測試工作可以繼續(xù)正常進(jìn)行。而運用新的測試技術(shù)實現(xiàn)需要滿足以下兩點要求:
首先在正式使用某一項新的數(shù)據(jù)檢測技術(shù)前,輸入的數(shù)據(jù)需要滿足規(guī)范數(shù)據(jù)的屬性要求,要達(dá)到相應(yīng)的檢測標(biāo)準(zhǔn),從而更好地滿足用戶的使用要求,從源頭上避免數(shù)據(jù)檢測問題的出現(xiàn)。其次工作人員要提前做到功課,對各項新的檢測技術(shù)有充分的了解,清楚每一種技術(shù)存在的優(yōu)點與缺點,做好可能出現(xiàn)的問題發(fā)生的準(zhǔn)備。
而具體的改進(jìn)軟件測試方法,首先相關(guān)部門可以通過將技術(shù)和方法的有效結(jié)合,引入新型的軟件檢測技術(shù),比如后文將要提到的智能化手段以及云技術(shù),對現(xiàn)有的軟件檢測模式進(jìn)行創(chuàng)新,為整個檢測模式注入新鮮血液。在此基礎(chǔ)上,相關(guān)工作人員要積極地反思在過去的檢測工作中存在的問題,在實踐中發(fā)展理論,并通過新的理論指導(dǎo)實踐。最后,部門內(nèi)部要加大軟件測試過程中的監(jiān)督力度,要把新技術(shù)與新理論落實到位,只有多部門間的互相配合,才能將有效保證軟件檢測工作的高效運行,才能及時發(fā)現(xiàn)軟件中存在的漏洞并及時處理。
總的來說,在大數(shù)據(jù)時代,面對需要處理的數(shù)據(jù)變得越來越多,任何一種測試技術(shù)都無法快速準(zhǔn)確地將所有的軟件數(shù)據(jù)進(jìn)行高效處理。這就要求在軟件測試過程中需要準(zhǔn)備多種技術(shù)測試方案,而這背后同樣離不開豐富的測試技術(shù)。此外,軟件檢測在多種技術(shù)的加持下,可以更容易發(fā)現(xiàn)軟件本身存在的缺陷并及時記錄下來交給相關(guān)技術(shù)部門進(jìn)行處理。通過各項檢測技術(shù)的共同使用,可以把它們之間的劣勢與優(yōu)勢互相彌補,發(fā)揮它們共同的長處,為軟件測試提供有效的保障。
在大數(shù)據(jù)時代,人工處理數(shù)據(jù)的工作方式不僅效率低下,而且往往會頻繁得出現(xiàn)失誤,這對軟件測試工作來說是極其不利的。因此把智能化技術(shù)應(yīng)用到軟件測試中可以高效地對數(shù)據(jù)信息進(jìn)行快速準(zhǔn)確地處理可以說是軟件測試工作的必經(jīng)之道。
在智能化手段實際應(yīng)用軟件測試時,需要注意它的設(shè)計工作需要對輸入的數(shù)據(jù)選擇正確的評價方式。此外在數(shù)據(jù)輸入的過程中,還要保證數(shù)據(jù)的各項屬性和各個步驟符合規(guī)范。在信息化時代,利用好智能化手段進(jìn)行軟件測試可以有效地縮小數(shù)據(jù)輸出與數(shù)據(jù)輸入時候存在的差異,為軟件測試有效地解決許多隱患,大大提高了軟件測試的效率,達(dá)到更好的數(shù)據(jù)檢測效果,為軟件的數(shù)據(jù)用戶們提供安全舒適的使用環(huán)境。
在軟件測試過程中需要面對海量的數(shù)據(jù),此外,前文還提到軟件測試受限于用戶自身對軟件測試的能力不足在此情況下,開發(fā)一個數(shù)據(jù)接收網(wǎng)站的需求應(yīng)運而生。提供搭建網(wǎng)站實現(xiàn)對這些數(shù)據(jù)進(jìn)行自動化管理的工作。不過在使用云技術(shù)的過程中,需要注意的是輸入端口與輸出端口的數(shù)據(jù)需要始終保持一致,達(dá)到數(shù)據(jù)用戶可以在短時間內(nèi)實現(xiàn)數(shù)據(jù)的發(fā)送與接收效果??偟膩碚f,對大數(shù)據(jù)進(jìn)行自動化的管理,可以提高大幅度提高數(shù)據(jù)處理的效率,并且有助于軟件測試工作的進(jìn)一步發(fā)展。
Oracle數(shù)據(jù)庫的內(nèi)存區(qū)中的SGA是作為Oracle數(shù)據(jù)庫當(dāng)中的數(shù)據(jù)緩沖區(qū)域,資源共享池以及相關(guān)數(shù)據(jù)日志的緩沖區(qū)域,這些區(qū)域的分配能否合理直接關(guān)系到了數(shù)據(jù)庫系統(tǒng)性能強弱而數(shù)據(jù)庫的緩沖有著存儲所搜索到的相關(guān)數(shù)據(jù)的功能。在實際的軟件分析的應(yīng)用過程中,工作人員可以把相關(guān)的數(shù)據(jù)庫用戶所發(fā)出的數(shù)據(jù)請求直接調(diào)整至數(shù)據(jù)的緩沖區(qū)域,讓數(shù)據(jù)的緩區(qū)域直接將這些所接收到的數(shù)據(jù)直接再返還給用戶,這樣便能夠盡可能地有效減少數(shù)據(jù)檢索的時間,提高軟件測試的效率。Oracle的內(nèi)存區(qū)結(jié)構(gòu)圖如圖1。
圖1:Oracle的內(nèi)存區(qū)結(jié)構(gòu)圖
信息時代的到來讓大數(shù)據(jù)技術(shù)獲得了日新月異的更新?lián)Q代,而在技術(shù)進(jìn)步的過程中,對應(yīng)的軟件測試遇到了數(shù)據(jù)用戶制約軟件測試速度、落后的軟件測試平臺限制著軟件測試的正常工作,除此以外還有大數(shù)據(jù)處理框架與性能測試存在問題以及Oracle問題不斷等諸多挑戰(zhàn)。但是在大數(shù)據(jù)時代的背景下,面對這些挑戰(zhàn),軟件的測試工裝處于逆水行舟不進(jìn)則退的狀態(tài)。為了給用戶帶來更好的軟件使用體驗,相關(guān)部門需要迎合時代的發(fā)展需求與發(fā)展趨勢,及時處理開發(fā)工作中存在的問題,做到具體問題具體分析,通過調(diào)整Oracle的內(nèi)存區(qū)、提高測試數(shù)據(jù)的準(zhǔn)確度、改進(jìn)測試技術(shù)、構(gòu)建自動化環(huán)境以及運用智能化手段等方式為軟件測試工作搭建更好的環(huán)境,促進(jìn)行業(yè)的健康可持續(xù)發(fā)展。去讓軟件測試能夠以更高的效率為軟件研發(fā)和用戶需求服務(wù)。