大數據時代下的軟件測試技術研究
大數據是指無法在一定時間內利用常規軟件進行捕捉、管理與處理的數據集合,具數據量大、數據類型多、數據價值密度低和數據處理速度快等特征。大數據時代最早源于麥肯錫公司,其指出現數據已遍布至各行業及領域,后阿里巴巴創始人馬云也提出,未來人們將進入大數據時代。伴隨時代的不斷進步,以及科學技術的不斷發展,在大數據時代下,硬件產品愈發復雜多樣,應用范圍也不斷拓寬,在這種背景下,軟件系統的規模不斷擴大,復雜性不斷增加,為保證軟件的質量與運行的安全性,軟件測試技術的發展與應用至關重要。
1 大數據時代下軟件測試所面臨的挑戰
1.1 Oracle問題愈發突出
實施軟件測試的目的在于發現并找出軟件的錯誤運行情況,而Oracle是指對測試過程是否通過的可驗證進行專門判斷。進入大數據時代,無論是趨勢分析還是圖類計算,軟件測試都變得更加困難。現將大數據處理模式分為物理模式和化學模式,其中物理模式下的大數據處理是指基于確保大數據價值的前提下,不斷縮小大數據的規模,并充分清洗數據的一些固定基本屬性。此過程包含了很多數據處理方式,可有效實現對大數據的物理處理。據此也可以看出,處物理模式下,大數據的處理測試Oracle本身是無任何問題的。但在化學模式下,對于大數據的處理則需具備兩方面問題:第一是最主要預測;第二是快速算法,此兩方面問題在很大程度上加大了Oracle的難度,致Oracle變得極其困難。如在計算個性化推薦統計信息時,通過分析個性化數據,可向用戶推薦出更滿足用戶需求的產品或商品,但這也意味著可能會有一半的用戶是不喜歡這個商品的,大數據的化學處理僅能通過計算來得出用戶對于某類商品的喜愛程度會更高的結果,而針法再深入進行分析。此問題的出現就表明了結果的準確性與正確性產生了本質性的偏差,也就使得Oracle更加難以確定。
1.2 傳統測試平臺無法滿足大數據的處理需求
傳統軟件測試所采取的方法主要為利用控制器對本地進行協調,通過將服務請求發送至服務器端來實現對服務器壓力的測試。此方法對于服務器構成較少的系統而言是非常實用的,但進入大數據時代后,尤其是云計算技術的出現與廣泛應用,現需應用服務器的用戶數量不斷增多,其需求量也不斷增加,系統的并發用戶數量不斷上漲,使得系統的訪問量迅速加大。此時,為保證系統能夠承載這巨大的用戶訪問量并能正常運行,就必須測試服務端系統。服務端系統測試可于系統上線前開始,先對測試內容相對充分的實施測試。但是傳統的局域網測試方法則很難滿足服務器的這一測試需求,因此而產生了諸多軟件測試問題:第一,負載產生器的物理機數量難以獲得動態拓展;第二,大數據驅動云計算,現云計算大量采取分散客戶端,加大了軟件測試的工作量;第三,由于大數據的推動,負載產生器狀態的測試限制了系統性能的測試,致測試失敗風險加大;第四,就當前而言,我國實施軟件測試所使用的控制器和負載產生器的同步問題愈發復雜,嚴重影響了負載產生器的測試效果。
1.3 軟件服務化加大了測試困難度
從開發模式方面來看,軟件的開發主要包括完全編碼、構建化、服務和云計算四個階段,而在這個四個階段當中,由于軟件的服務化程度不斷加深,致軟件的測試困難度不斷加大。首先,完全編碼階段。完全編碼階段是軟件開發的基礎階段,在此階段,研發人員可掌握除系統本身的類庫以外的所有代碼,用戶的可測性較強,基本可應用所有調試測試盒的方法。其次,構建化階段。在構建化階段,開發人員的工作是基于系統類庫依軟件業務所需對一些可重復利用業務組建進行重新構建,以提高軟件的開發效率。但這些經重新構建的組件通常只能應用于本地,業務系統具較高耦合度,用戶也可更好地掌握組件。雖然用戶無法對第三方組件實施內部跟蹤和分析,但卻可更好地跟蹤其運動結構。再次,服務階段。服務階段即將本地所運用的組織轉變為遠程方式,以為用戶提供更好的服務。在此階段,用戶對外部服務的掌握逐步減少,僅可通過服務輸入與輸出了解服務情況。最后,云計算階段。云計算技術是伴隨科學技術的發展而逐步發展起來的,進入大數據時代,現云計算技術已得到了廣泛應用。在云計算階段,用戶很難了解組件的服務情況,尤其是采取PASS架構的應用程序,僅能通過輸入與輸出接口來了解組件的服務運行狀態,這在很大程度上加了軟件測試的困難度。
2 大數據時代下軟件測試的未來發展
2.1 調整和優化Oracle內存區
Oracle的內存區可分為SGA和PGA兩部分,其中SGA為Oracle數據庫提供緩沖區,并可實現資源共享與數據日志緩沖,SGA各區域的分配是否合理直接影響著數據庫系統的性能好壞,對于數據庫系統性能而言至關重要。數據庫存緩沖區可儲存所搜索的數據,若數據庫用戶發出的數據請求進入了數據緩沖區,則數據庫會直接將所收到的數據返還給用戶,以減少用戶檢索時間。若數據庫存用戶所發出的數據請求未進入數據緩沖區,則需利用專門的服務器自數據文件當中讀取,然后再將其轉換至數據緩沖區,通過數據緩沖區反饋給用戶,這明顯延長了數據檢索時間。為保證用戶可迅速接收到自己所需的數據,就必須提高數據庫系統性能。資源共享包括數據庫緩沖與數據字典緩存兩部分,數據庫緩沖用于存放已執行過的代碼或執行計劃信息,數據字典緩存用于存放數據庫相關系統的數據對象與數據庫用戶權限等,合理配置數據共享的這兩個部分的空間,可有效提高程序的執行效率。數據日志緩沖用于存放數據庫系統的修改信息,若數據日志緩沖區存在較多日志寫入失敗情況,表明數據庫的數據日志緩沖區的容量不足,影響數據日志的存放,最終影響數據庫的形成。因此,必須不斷進行調整和優化。
2.2 定期整理數據庫碎片
在進行實際操作時,數據庫的運行是不間斷的,相關數據的操作也無時無刻不在發生變化,導致數據庫當中產生磁盤碎片。磁盤碎片分為表空間級、索引級與表級3個級別,其中對于表空間級的磁盤碎片進行清理的步驟如下:先利用表空間重組和命令的運行導出數據庫中的數據,再利用TRUNCATE刪除表空間中的數據,最后利用IMPORT程序的導入方式導入有效數據,從而清理掉表空間級中的磁盤碎片;對于索引級的磁盤碎片進行清理的方法有兩種:第一種是盡量減少表空間級的相關索引數據;第二種是通過變換頻率相對較低的列以重新創建索引,從而清理掉索引中的磁盤碎片;對于表級的磁盤碎片進行清理的方法較表空間級和索引級更簡單,其只需合理配置并設置系統數據塊的大小,同時應用相關PCEFREE數據參數即可進行有效清理,并可避免磁盤碎片的產生。
2.3 提高軟件測試數據的準確性
軟件測試效果差的很大的原因在于數據存儲的模糊認識與無用重復請求的發送引起錯誤信息的出現,使得數據信息準確性下降。為此,若要應用數據庫,應先對數據庫所使用軟件實施多次測試,并確保軟件測試的質量和數據的準確性,盡量降低因數據錯誤而產生的影響。另,相關研究人員應深入對軟件測試技術的研究。以往軟件測試人員多數是利用某一單一軟件測試技術測試軟件性能,其測試結果具較大局限性。而現軟件產品已遍布人們的生產與生活,若仍沿用傳統的單一軟件測試技術或方法,其結果就過于片面,無法保證軟件運行的安全性和可靠性。為此,在軟件測試工作人員應進一步深入研究軟件測試技術,靈活運用各類測試技術和各種測試方法,適當使用智能化數據處理技術,以不斷改進和完善軟件測試體系,逐步消除軟件測試的片面性,全方面應用多元化的測試技術,確保軟件測試數據與信息的準確性,從而提高軟件測試效率,有效避免殺蟲劑現象。
3 結語
總而言之,現人們已進入大數據時代,大數據時代的到來確實給軟件測試帶來了諸多挑戰,在一定程度上影響了軟件測試技術的發展。為能更好地解決大數據時代下軟件測試所存在的問題,作為軟件測試工作人員,一方面要不斷調整和優化Oracle的內存區;另一方面要定期整理數據庫碎片;此外,還要提高軟件測試數據的準確性,以確保軟件測試的質量,保證軟件能安全運行,促進軟件測試技術的進一步發展,推動我國軟件行業的快速進步。
本文來源:《企業科技與發展》:http://www.007hgw.com/w/qk/21223.html
- 2025年中科院分區表已公布!Scientific Reports降至三區
- 2023JCR影響因子正式公布!
- 國內核心期刊分級情況概覽及說明!本篇適用人群:需要發南核、北核、CSCD、科核、AMI、SCD、RCCSE期刊的學者
- 我用了一個很復雜的圖,幫你們解釋下“23版最新北大核心目錄有效期問題”。
- CSSCI官方早就公布了最新南核目錄,有心的人已經拿到并且投入使用!附南核目錄新增期刊!
- 北大核心期刊目錄換屆,我們應該熟知的10個知識點。
- 注意,最新期刊論文格式標準已發布,論文寫作規則發生重大變化!文字版GB/T 7713.2—2022 學術論文編寫規則
- 盤點那些評職稱超管用的資源,1,3和5已經“絕種”了
- 職稱話題| 為什么黨校更認可省市級黨報?是否有什么說據?還有哪些機構認可黨報?
- 《農業經濟》論文投稿解析,難度指數四顆星,附好發選題!