于 亮
(黑河學院,黑龍江 黑河 164300)
近些年,我國計算機互聯(lián)網(wǎng)技術(shù)以開始進入深入發(fā)展階段,大數(shù)據(jù)技術(shù)、云計算技術(shù)以及5G通信技術(shù)的發(fā)展,極大地推動我國商業(yè)模式及生活方式的變革發(fā)展[1]。計算機軟件技術(shù)開發(fā)成為計算機技術(shù)應(yīng)用發(fā)展的重要基礎(chǔ),在便利人們?nèi)粘I罟ぷ鞯耐瑫r,也進一步促進我國生產(chǎn)生活的便利性[2]。數(shù)據(jù)庫測試是計算機軟件開發(fā)應(yīng)用的重要基礎(chǔ),而數(shù)據(jù)庫測試技術(shù)關(guān)系到軟件開發(fā)質(zhì)量,測試人員需要對軟件設(shè)施反復(fù)性檢索,避免軟件應(yīng)用問題的出現(xiàn),借助數(shù)據(jù)庫測試分析結(jié)果,對于軟件功能架構(gòu)進行正確的處理,促進計算機軟件的進一步開發(fā)[3]。
軟件的設(shè)計是為解決人們在現(xiàn)實的工作和生活中遇到的問題,軟件的開發(fā)是一個相對復(fù)雜的過程,不僅要滿足人們的需求,還要將工程化的思想應(yīng)用于軟件方法的研究[4]。隨著計算機軟件技術(shù)的快速發(fā)展,人們對軟件產(chǎn)品有利更多的了解,認為軟件不僅包括程序,還應(yīng)該包含數(shù)據(jù)、文檔等相關(guān)內(nèi)容。
數(shù)據(jù)庫技術(shù)是現(xiàn)代信息科學技術(shù)的重要組成,也是對計算機中數(shù)據(jù)進行管理的核心技術(shù)。數(shù)據(jù)庫技術(shù)的應(yīng)用可有效地將計算機系統(tǒng)中的大量數(shù)據(jù)組織起來,解決數(shù)據(jù)的管理和分析等問題,實現(xiàn)系統(tǒng)中數(shù)據(jù)的查詢、處理以及共享等操作。
數(shù)據(jù)庫的測試主要是針對當前軟件中數(shù)據(jù)庫的設(shè)計是否能夠符合用戶的功能需求,以及將現(xiàn)有的甚至將來可能出現(xiàn)的數(shù)據(jù)及關(guān)系存儲在數(shù)據(jù)庫中進行測試[5]。計算機軟件的應(yīng)用離不開數(shù)據(jù)庫的支持,也可以說數(shù)據(jù)庫是支持計算機軟件的核心系統(tǒng),為此在計算機軟件開發(fā)期間,需要對數(shù)據(jù)庫進行測試。
1.2.1 基本查詢
數(shù)據(jù)庫測試的首要工作就是要先進行基本查詢,利用數(shù)據(jù)庫查詢語言從數(shù)據(jù)庫中獲取信息,并將查詢結(jié)果另外顯示為一個查詢結(jié)果集合。為此測試人員需要全面掌握數(shù)據(jù)庫語言,對于數(shù)據(jù)庫的結(jié)構(gòu)有一個大體性的了解,同時,要將在數(shù)據(jù)源中選擇的行、列、及數(shù)據(jù)顯示的順序和規(guī)范進行分析。
1.2.2 多表查詢
此部分是關(guān)系數(shù)據(jù)庫中最為重要的環(huán)節(jié)。由于涉及更多表的查詢操作,需要引用到不同數(shù)據(jù)庫表中的相同屬性,為了區(qū)分,還應(yīng)注意關(guān)系名稱的添加操作。
數(shù)據(jù)庫容量測試是計算機軟件開發(fā)的重要測試環(huán)節(jié),在我國網(wǎng)民數(shù)量不斷增加的背景下,人們對于計算機軟件的使用頻次及數(shù)據(jù)傳輸數(shù)量在大幅度的提升?,F(xiàn)如今,每時每刻所產(chǎn)生的數(shù)據(jù)量都是一個極為恐怖的數(shù)字量。數(shù)據(jù)庫的容量大小直接決定了軟件對于數(shù)據(jù)訪問的分析處理水平,同時,也決定了計算機軟件的用戶量。在計算機軟件開發(fā)過程中,需要以軟件未來延展性為基礎(chǔ)進行數(shù)據(jù)庫容量設(shè)計。在對數(shù)據(jù)庫測試技術(shù)應(yīng)用過程中,需要根據(jù)預(yù)估結(jié)果開展考察工作,確定能夠被參考的真實數(shù)據(jù),對數(shù)據(jù)庫的容量進行科學化的合理測試,為計算機軟件開發(fā)奠定堅實的基礎(chǔ)。數(shù)據(jù)庫容量預(yù)估期間,為確保預(yù)估測量的準確性及科學性,需要在計算機軟件系統(tǒng)設(shè)計之初進行容量測試,根據(jù)數(shù)據(jù)量的實際發(fā)展情況,強化數(shù)據(jù)庫信息存儲的實效性,優(yōu)化數(shù)據(jù)庫的字節(jié)及字段。
數(shù)據(jù)庫的性能測試成果關(guān)系到計算機軟件應(yīng)用的穩(wěn)定性,倘若數(shù)據(jù)庫的性能不足以支撐計算機軟件應(yīng)用,則極易導(dǎo)致計算機軟件時常出現(xiàn)崩潰問題,繼而導(dǎo)致計算機軟件無法有效應(yīng)用,導(dǎo)致計算機軟件出現(xiàn)軟件用戶流失的問題,對于計算機軟件的進一步發(fā)展帶來嚴重的阻礙。所以,在軟件產(chǎn)品投入使用前,要先對數(shù)據(jù)庫進行測試,檢驗數(shù)據(jù)庫能否滿足系統(tǒng)需求規(guī)格說明中的性能指標,同時,能否滿足相關(guān)的約束和條件限制等,充分發(fā)揮計算機軟件的使用流暢度。數(shù)據(jù)庫性能測試工作的開展是無法僅依靠手工測試工作完成,是需要借助一系列的性能測試軟件開展相關(guān)的工作。確保計算機軟件投入使用前,能夠快速面對各種實際情況,大大提升軟件數(shù)據(jù)庫的實際應(yīng)用效率。為此在開展數(shù)據(jù)庫的性能測試工作時,不僅需要開展軟件初期數(shù)據(jù)庫測試工作,同時,也要模擬軟件數(shù)據(jù)庫長期使用后的性能測試,如若測試結(jié)果存在容量差異,需要結(jié)合實際情況對影響因素進行判斷,妥善解決數(shù)據(jù)庫中可能存在的問題與缺陷。
計算機軟件數(shù)據(jù)庫建立完成后,首先,需要對其開展壓力測試工作。數(shù)據(jù)庫的壓力測試結(jié)果對于軟件功能開發(fā)設(shè)計能否達到預(yù)期需求有直觀性的反應(yīng)。壓力測試不單單是軟件功能測試工作,是需要對測試內(nèi)容進行非功能測試工作,測試指標需要為軟件應(yīng)用響應(yīng)速度。對于軟件壓力測試結(jié)果影響相對較大的因素為軟件數(shù)據(jù)庫自身的算法及軟件用戶的個人使用習慣等。在軟件應(yīng)用的高峰期,大量用戶的集中應(yīng)用訪問將會對軟件使用功能造成影響,一旦軟件使用用戶超出軟件本身的承載能力時,將會導(dǎo)致應(yīng)用軟件出現(xiàn)使用崩潰的情況。如在雙十一當天,購物軟件的訪問量達到一個恐怖的數(shù)量級,但各大購物軟件仍舊在保持良好的購物體驗,這就是壓力測試的應(yīng)用成果。在軟件開發(fā)過程中對其開展壓力測試工作是提升計算機軟件對極端情況的應(yīng)對能力,有效提升計算機軟件的應(yīng)用穩(wěn)定性。
開展數(shù)據(jù)庫測試技術(shù)的一致性測試工作極為重要。數(shù)據(jù)一致性的軟件測試工作可分為三部分。一是表主鍵測試。主要是為了確保系統(tǒng)設(shè)計需求與表主鍵信息記錄的一致性,為此開展一致性測試工作時,首先需要對二者的一致性進行檢查,一旦出現(xiàn)表主鍵二者內(nèi)容測試結(jié)果不一致問題時,需要對其進行重新定義,確保表主鍵的一致性。若測試結(jié)果表示一致性時,則并不需要對其進行重新定義。二是表與表主外鍵關(guān)系測試工作。這一項測試工作開展的主要目的為,確保關(guān)鍵字段的信息內(nèi)容、長度以及類型均符合數(shù)據(jù)庫的一致性要求,對關(guān)鍵詞搜索的準確性以及結(jié)果造成影響。三是刪除一致性的測試工作。刪除一致性的測試項目主要是指用戶在刪除主表信息期間,與其有所聯(lián)系的報表信息也能夠被自動刪除。刪除一致性測試工作的開展能夠大大提升信息處理效率,節(jié)約數(shù)據(jù)庫的容量,全面提升數(shù)據(jù)庫的利用效率。
為保證軟件系統(tǒng)在投入使用后能夠穩(wěn)定地運行,需要對其系統(tǒng)響應(yīng)時間和反應(yīng)速度進行測試。測試中,需要站在全局的角度考慮軟件體現(xiàn)出來的綜合性能,也可以通過相應(yīng) 的技術(shù)手段進行調(diào)整和優(yōu)化,讓用戶得到最佳的體驗效果。
控制器在測試程序中,主要負責對界面的測試管理工作,主要包括了性能測試和執(zhí)行能力測試兩個方面。負載發(fā)生器采用了具有響應(yīng)速度更快和可靠性更高的分布式的處理方式,大大降低測試程序原有設(shè)計成本[6]。此外,為確保各項模塊之間通信信息的通暢性,可利用TCP協(xié)議加強測試程序應(yīng)用的通用性。
圖1 數(shù)據(jù)庫測試程序框架結(jié)構(gòu)設(shè)計示意圖
在開展數(shù)據(jù)庫性能測試程序設(shè)計中,技術(shù)人員可以利用測試系統(tǒng),在軟件投入使用之前開展工作,繼而對數(shù)據(jù)庫的性能進行有效測試。由于不同數(shù)據(jù)庫間的差別,在執(zhí)行測試的過程中,要對軟件的承載能力和應(yīng)用環(huán)境進行掌控。在日志檢測中,要觀測數(shù)據(jù)信息的流動,對日志的內(nèi)容有一定的了解,保證測試可以有效的進行。在訪問檢測中,由于不同的數(shù)據(jù)庫功能差異性,為實現(xiàn)測試程序的兼容性目標,在測試程序設(shè)計之初借助C++語言對每一項事務(wù)進行實現(xiàn),繼而確保測試程序的性能測試模塊能夠滿足不同類型數(shù)據(jù)庫的性能測試需求。
由于性能測試會直接影響到軟件開發(fā)的質(zhì)量,因此,設(shè)計測試指標如下:
第一,并發(fā)數(shù)指標。主要是指對數(shù)據(jù)可最大并發(fā)用戶的數(shù)量進行評估,可以參考實際應(yīng)用環(huán)境進行維護避免出現(xiàn)崩潰現(xiàn)象。
第二,反應(yīng)速度指標。主要是指用戶發(fā)送請求到系統(tǒng)響應(yīng)的時間,其中程序設(shè)計算法和用戶操作水平也是影響此指標的客觀因素,需要技術(shù)人員綜合考量。
第三,利用率指標。是指在數(shù)據(jù)庫運行期間處理數(shù)據(jù)時所占系統(tǒng)資源情況的監(jiān)測,借助此指標對軟件系統(tǒng)的穩(wěn)定性進行評測。
第四,系統(tǒng)恢復(fù)指標。數(shù)據(jù)庫在投入使用后,當受到其他因素影響時,數(shù)據(jù)是否可以在可控的時間內(nèi)恢復(fù)就顯得極為重要了,此指標是對數(shù)據(jù)庫的恢復(fù)時間進行測試。
選擇較為常見的Oracle和MySQL作為測試對象。
第一,數(shù)據(jù)類型。二者支持的字符數(shù)據(jù)類型不同,所占內(nèi)存長度也不同。
第二,訪問測試。MySQL可以使用附加參數(shù)對訪問用戶的身份進行驗證,可以識別用戶訪問的地址,進一步限制用戶訪問。
第三,經(jīng)由測試結(jié)果得知,兩個數(shù)據(jù)庫的數(shù)據(jù)處理方式和權(quán)限控制有所不同,但更多項目的測試需要付出較高的成本代價。因此并未開發(fā)相關(guān)測試工作。其余的測試工作結(jié)果均可證明本次設(shè)計的數(shù)據(jù)庫測試程序的科學合理性。
我國信息技術(shù)產(chǎn)業(yè)快速的發(fā)展給我國軟件開發(fā)產(chǎn)業(yè)帶來極大的挑戰(zhàn)。在可預(yù)見的未來生活中,數(shù)據(jù)量的爆發(fā)式增長是信息產(chǎn)業(yè)的必然發(fā)展趨勢,高質(zhì)量的數(shù)據(jù)庫測試工作,能夠確保計算機軟件在實際運行工作期間更好的運行生存,提升計算機軟件的運行性能以及運行質(zhì)量。為此需要重視數(shù)據(jù)庫測試工作,借助合理化的測試方法對數(shù)據(jù)庫開展測試工作,強化數(shù)據(jù)庫測試結(jié)果的準確性,重視數(shù)據(jù)庫的測試結(jié)果,全面提升計算機軟件的開發(fā)質(zhì)量。