宋婷玲
(江蘇省啟東中等專業(yè)學(xué)校 江蘇 啟東 226200)
數(shù)據(jù)庫測試在計(jì)算機(jī)軟件開發(fā)中較為關(guān)鍵,能夠有效規(guī)避數(shù)據(jù)信息丟失的情況,可以及時(shí)保存中止的交易數(shù)據(jù),嚴(yán)格杜絕未經(jīng)授權(quán)的訪問[1]。因此,計(jì)算機(jī)軟件開發(fā)過程中,一方面,在數(shù)據(jù)庫靜態(tài)測試過程中,側(cè)重性關(guān)注文檔、程序未運(yùn)行狀態(tài)下的測試,在評估軟件運(yùn)行及功能行為上通過人工核對的方式完成測試,精準(zhǔn)識別數(shù)據(jù)庫存在的潛在性問題。另一方面,在數(shù)據(jù)庫動(dòng)態(tài)測試過程中,可以在計(jì)算機(jī)軟件試運(yùn)行階段,對軟件多次運(yùn)行狀態(tài)觀察,發(fā)現(xiàn)軟件常態(tài)化開發(fā)過程中的質(zhì)量隱患,分析軟件是否能夠達(dá)到理想化運(yùn)行標(biāo)準(zhǔn)。
針對數(shù)據(jù)量的跨越式增長,對數(shù)據(jù)庫系統(tǒng)的合理使用,能夠迅速提升數(shù)據(jù)交流過程中的效果。為促使數(shù)據(jù)庫容量能夠達(dá)到實(shí)際需求,需要以數(shù)據(jù)容量的增長規(guī)律為關(guān)鍵依據(jù),對數(shù)據(jù)容量的增長情況進(jìn)行科學(xué)的預(yù)估,便于為數(shù)據(jù)庫的維護(hù)與操作提供較為便利的運(yùn)行資源。在數(shù)據(jù)端口資源并不充分的條件下,進(jìn)行計(jì)算機(jī)軟件開發(fā)過程中的數(shù)據(jù)庫容量測試,主要在使用數(shù)據(jù)庫系統(tǒng)前,進(jìn)行數(shù)據(jù)擴(kuò)容情況的全過程考量與全周期評估,繼而通過相應(yīng)測試報(bào)告提供針對性參考數(shù)據(jù),從而確保數(shù)據(jù)庫應(yīng)用過程中的系統(tǒng)合理性,有效強(qiáng)化數(shù)據(jù)交流效果。容量測試內(nèi)容在數(shù)據(jù)庫測試過程中,屬于較為核心的測試任務(wù),需要恰當(dāng)運(yùn)用數(shù)據(jù)庫測試技術(shù),了解表格數(shù)據(jù)大小,繼而根據(jù)計(jì)算結(jié)果對數(shù)據(jù)擴(kuò)容情況進(jìn)行估計(jì)與分析,確定數(shù)據(jù)庫大小,在形成科學(xué)分析模式的同時(shí),形成標(biāo)準(zhǔn)化數(shù)據(jù)庫測試體系,確保計(jì)算機(jī)軟件開發(fā)的順暢執(zhí)行。在容量測試過程中,測試結(jié)果主要經(jīng)由表格、數(shù)據(jù)的數(shù)據(jù)量、增加量體現(xiàn),在測試過程中需要針對性評估軟件性能,繼而提升數(shù)據(jù)信息應(yīng)用過程中的有效性,體現(xiàn)出測試技術(shù)應(yīng)用的便捷化[2]。需要注意的是,計(jì)算機(jī)軟件所搭載的數(shù)據(jù)庫,在數(shù)據(jù)存儲(chǔ)容量上,存儲(chǔ)過程、系統(tǒng)表、視圖所占據(jù)的數(shù)據(jù)容量并不固定,一般情況下,日志數(shù)據(jù)容量大于軟件預(yù)留容量。在執(zhí)行測試過程中,為避免數(shù)據(jù)庫系統(tǒng)崩潰,防止系統(tǒng)運(yùn)行出現(xiàn)不穩(wěn)定,需要根據(jù)數(shù)據(jù)庫系統(tǒng)實(shí)際運(yùn)行情況展開針對性的維護(hù)與升級。
為防止計(jì)算機(jī)軟件系統(tǒng)在實(shí)際運(yùn)行過程中出現(xiàn)崩潰的現(xiàn)象,需要針對數(shù)據(jù)庫的實(shí)際數(shù)據(jù)信息荷載量進(jìn)行測試,防止計(jì)算機(jī)軟件系統(tǒng)承受破壞性干擾。造成計(jì)算機(jī)軟件系統(tǒng)崩潰的關(guān)鍵原因在于計(jì)算機(jī)軟件數(shù)據(jù)庫難以承受超大規(guī)模的數(shù)據(jù)信息計(jì)算,造成對軟件性能的破壞性干擾。因此,在開發(fā)計(jì)算機(jī)軟件系統(tǒng)前,需要針對數(shù)據(jù)庫系統(tǒng)性能進(jìn)行專業(yè)測試,利用專業(yè)化數(shù)據(jù)庫檢測軟件完成測試,深度了解數(shù)據(jù)庫應(yīng)用功能和性能,確保數(shù)據(jù)庫測試技術(shù)得到有效執(zhí)行[3]。在實(shí)踐過程中,數(shù)據(jù)庫間的數(shù)據(jù)容量存在較為顯著的差異性,每個(gè)數(shù)據(jù)庫的容量不同,為保證數(shù)據(jù)庫性能測試的針對性與有效性,保障數(shù)據(jù)庫應(yīng)用能夠在性能方面獲得最佳延展性,測試需要在指定場景下,利用專業(yè)化數(shù)據(jù)庫檢測軟件,針對計(jì)算機(jī)軟件數(shù)據(jù)庫的數(shù)據(jù)信息荷載量進(jìn)行測試,對開發(fā)計(jì)算機(jī)軟件的合理性予以保證,確保計(jì)算機(jī)軟件開發(fā)的數(shù)智化程度。針對性能測試環(huán)節(jié)來講,為保證計(jì)算機(jī)軟件系統(tǒng)之間相互協(xié)調(diào)工作的兼容程度,提升軟件開發(fā)質(zhì)量,測試需要在優(yōu)秀的計(jì)算機(jī)軟件開發(fā)框架基礎(chǔ)上,完善好需求分析、做好信息系統(tǒng)規(guī)劃,以一致的系統(tǒng)運(yùn)行環(huán)境,在確保計(jì)算機(jī)軟件性能良好的前提下,運(yùn)用先進(jìn)的數(shù)據(jù)庫測試技術(shù),高效、及時(shí)地解決系統(tǒng)卡頓和崩潰等問題,提升數(shù)據(jù)信息的處理水平。
壓力測試是計(jì)算機(jī)軟件開發(fā)過程中較為關(guān)鍵的測試環(huán)節(jié),不僅能夠合理判斷軟件的實(shí)際響應(yīng)速度,同時(shí),可以為軟件質(zhì)量評估提供第一手科學(xué)數(shù)據(jù)參考,以此保證計(jì)算機(jī)軟件開發(fā)功能的全面性。因此,在數(shù)據(jù)庫測試過程中,需要在明確系統(tǒng)響應(yīng)狀態(tài)的基礎(chǔ)上,充分把握軟件運(yùn)行速度與質(zhì)量,采取科學(xué)、合理的方式完成壓力測試,更加良好地開發(fā)與處理軟件系統(tǒng),提升軟件顯示水準(zhǔn)[4]。為防止數(shù)據(jù)庫出現(xiàn)響應(yīng)速度無法加快和無法響應(yīng)的現(xiàn)象,在測試計(jì)算機(jī)軟件數(shù)據(jù)庫過程中,需要通過科學(xué)的測試技術(shù),了解軟件實(shí)際運(yùn)行過程中的數(shù)據(jù)庫響應(yīng)速度,以此更加深層次地開發(fā)軟件,提升軟件的形象化程度。為防止計(jì)算機(jī)軟件開發(fā)過程中,同一個(gè)時(shí)間段多個(gè)響應(yīng)訪問指令同時(shí)發(fā)出后出現(xiàn)功能問題,需要針對性加大數(shù)據(jù)庫壓力測試強(qiáng)度,確保計(jì)算機(jī)軟件始終處于較大數(shù)據(jù)容量運(yùn)行的系統(tǒng)狀態(tài),促使壓力測試成為分析計(jì)算機(jī)軟件性能的便捷化條件,大幅度提升軟件的實(shí)際運(yùn)行質(zhì)量與效率。
作為檢測發(fā)現(xiàn)計(jì)算機(jī)軟件開發(fā)過程中代碼邏輯漏洞、程序錯(cuò)誤配置的測試技術(shù),白盒測試技術(shù)能夠有效提升計(jì)算機(jī)軟件的可靠性。相對于黑盒測試技術(shù)而言,白盒測試技術(shù)更加關(guān)注數(shù)據(jù)庫測試的測試深度,能夠更加全面地理解代碼邏輯所包含的代碼塊執(zhí)行順序、循環(huán)與條件判斷語句、算法細(xì)節(jié)等[5]。白盒測試技術(shù)運(yùn)用代碼走查交換代碼書寫設(shè)計(jì)思路,針對代碼中最小功能單元,如函數(shù)、方法、類及核心模塊等進(jìn)行測試,驗(yàn)證代碼完成預(yù)期工作正確性。代碼覆蓋率是衡量測試用例對代碼可執(zhí)行語句、分支與路徑覆蓋情況的主要度量指標(biāo)之一,代碼覆蓋率測試能夠確定代碼具體執(zhí)行次數(shù)與真實(shí)覆蓋率,為確定計(jì)算機(jī)軟件測試完整性提供依據(jù)。靜、動(dòng)態(tài)分析中的靜態(tài)測試,主要利用代碼審查、桌面檢查與代碼走查等代碼檢查法,利用函數(shù)調(diào)用關(guān)系圖、函數(shù)內(nèi)部控制流圖等呈現(xiàn)程序內(nèi)部結(jié)構(gòu)的靜態(tài)結(jié)構(gòu)分析法等一系列人工模擬技術(shù),完成軟件分析與測試;動(dòng)態(tài)測試通過輸入既定測試標(biāo)準(zhǔn)構(gòu)造的實(shí)際數(shù)據(jù),動(dòng)態(tài)運(yùn)行程序,運(yùn)用邏輯關(guān)系模型下的邏輯覆蓋法,與基于控制流圖的基本路徑測試法,發(fā)現(xiàn)程序中存在的錯(cuò)誤與隱藏的潛在問題,便于基于代碼的復(fù)雜程度和正確性、穩(wěn)定性與可靠性等評估指標(biāo),對計(jì)算機(jī)軟件的質(zhì)量隱患與健康情況進(jìn)行質(zhì)量度量評估。白盒測試技術(shù),能夠在數(shù)據(jù)庫表、列測試與數(shù)據(jù)庫存儲(chǔ)過程測試中及時(shí)找出計(jì)算機(jī)軟件存在的邏輯錯(cuò)誤、死循環(huán)與內(nèi)存泄漏等代碼錯(cuò)誤與漏洞,更好地完成針對等效、代碼執(zhí)行路徑覆蓋、數(shù)據(jù)流與邊界值等問題的測試,降低后期成本,提高計(jì)算機(jī)軟件質(zhì)量。為保證測試的足夠性,可以使用JUNIT 單元測試框架、Eclipse、INTELLIJ IDEA 集成開發(fā)環(huán)境等測試工具,自動(dòng)化編寫執(zhí)行測試用例、生成測試報(bào)告及數(shù)據(jù)文件。
黑盒測試技術(shù)能夠及時(shí)發(fā)現(xiàn)、報(bào)告計(jì)算機(jī)軟件存在的用戶界面交互設(shè)計(jì)、應(yīng)用接口兼容設(shè)計(jì)與系統(tǒng)集成等白盒測試技術(shù)所忽略的潛在錯(cuò)誤與缺陷,以此保證軟件開發(fā)中的系統(tǒng)功能與性能符合測試標(biāo)準(zhǔn)。在計(jì)算機(jī)軟件開發(fā)過程中,需要根據(jù)文檔、需求規(guī)格說明書設(shè)計(jì)測試用例,并執(zhí)行典型的等價(jià)類劃分系統(tǒng)性技術(shù),分析與推敲軟件功能需求,便于最大限度利用二值、三值邊界值分析法,發(fā)現(xiàn)數(shù)據(jù)邊界輸入后存在的潛在異常缺陷。為分析軟件功能間存在的關(guān)系,黑盒測試技術(shù)運(yùn)用因果圖邏輯模型檢測軟件間功能交互的正確性,運(yùn)用最為嚴(yán)格、最富有邏輯性的決策表測試,詳細(xì)列明輸入條件數(shù)據(jù)、結(jié)果與規(guī)則,繼而運(yùn)用該明細(xì)確定測試用例,并完成針對軟件功能、性能、安全與可靠程度的測試[6]。在此過程中,功能測試主要針對數(shù)據(jù)庫操作進(jìn)行測試與檢驗(yàn),判斷數(shù)據(jù)庫功能異常,確定數(shù)據(jù)庫是否符合軟件需求;性能測試通過負(fù)載、并發(fā)與強(qiáng)度、容量及穩(wěn)定性測試等內(nèi)容,針對讀寫數(shù)據(jù)庫表、響應(yīng)效率進(jìn)行驗(yàn)證,評估軟件在不同條件下的實(shí)際負(fù)載表現(xiàn),確定軟件生產(chǎn)運(yùn)營能力;安全測試通過密碼安全強(qiáng)度、安全權(quán)限接口、數(shù)據(jù)加密級別等測試,驗(yàn)證數(shù)據(jù)庫防御不同類型外界安全攻擊能力;可靠性測試通過多種技術(shù)與工具對異常情況與惡劣條件進(jìn)行模擬,對數(shù)據(jù)庫容錯(cuò)性進(jìn)行評估,判斷數(shù)據(jù)庫是否具備較高程度的可恢復(fù)性,是否能夠維護(hù)數(shù)據(jù)庫保持長時(shí)間運(yùn)行狀態(tài)。黑盒測試技術(shù)在數(shù)據(jù)庫表、列測試與數(shù)據(jù)庫存儲(chǔ)過程測試中的可驗(yàn)證性較為顯著,在測試結(jié)果上的可重復(fù)性較高,人為因素對該測試技術(shù)的干擾效果偏弱,因此,可以通過完善設(shè)計(jì)測試用例,得到較為精準(zhǔn)與完整的多輪測試結(jié)果,覆蓋更多可能性。
觸發(fā)測試技術(shù)以白盒與黑盒測試技術(shù)為基礎(chǔ),在白盒測試過程中,將樁與驅(qū)動(dòng)插入,更新數(shù)據(jù)后,調(diào)用觸發(fā)器,集成前端UI 前對數(shù)據(jù)庫進(jìn)行測試。在黑盒測試過程中,為調(diào)用Transition Trigger,主要采取從前端插入、刪除與更新數(shù)據(jù)的形式進(jìn)行,為查看數(shù)據(jù)庫是否能夠完成預(yù)期工作目標(biāo),可以直接進(jìn)行觸發(fā)器數(shù)據(jù)的加載與調(diào)用。在編碼階段,需要詳細(xì)查看觸發(fā)器是否遵循編碼約定,DML 事務(wù)的執(zhí)行是否已經(jīng)具備充分的條件,便于在具體執(zhí)行過程中對數(shù)據(jù)予以實(shí)時(shí)更新,驗(yàn)證程序所需要的觸發(fā)器功能。
數(shù)據(jù)庫是集成測試的典型測試對象。為輕松測試數(shù)據(jù)庫行為,使用集成測試技術(shù),能夠在單元測試基礎(chǔ)上,針對不同組件聯(lián)合、組裝在一起完成子系統(tǒng)測試,將全部函數(shù)根據(jù)概要設(shè)計(jì)需求組成子系統(tǒng)、系統(tǒng)進(jìn)行檢測,驗(yàn)證數(shù)據(jù)庫系統(tǒng)是否符合測試需求。集成測試作為邏輯擴(kuò)展技術(shù),側(cè)重性關(guān)注模塊間接口與子功能組合、集成后的功能,在測試過程中,組件集成測試針對組件交互與接口,在測試完成后執(zhí)行組件集成測試,一般情況下,組件集成測試通過自動(dòng)化完成[7];系統(tǒng)集成測試涵蓋與系統(tǒng)、軟件包、微服務(wù)間的交互與接口,例如,Web 服務(wù)等外部組織,通常來說,針對整個(gè)系統(tǒng)的系統(tǒng)集成測試需要在系統(tǒng)測試后完成。通過應(yīng)用集成測試技術(shù),可以將單元測試作為基礎(chǔ),根據(jù)設(shè)計(jì)要求標(biāo)準(zhǔn),設(shè)計(jì)打造高質(zhì)量的子系統(tǒng),促進(jìn)集成測試的順利實(shí)施。
3.2.1 物理構(gòu)架測試
物理構(gòu)架能夠?qū)τ?jì)算機(jī)軟件系統(tǒng)的性能與可靠性產(chǎn)生影響。因此,通過對計(jì)算機(jī)軟件后臺(tái)數(shù)據(jù)中所包含的不同類型應(yīng)用程序及數(shù)據(jù)庫所包含的數(shù)據(jù)信息進(jìn)行對應(yīng)的測算與檢查,物理構(gòu)架測試技術(shù)能夠在實(shí)際測試過程中,對整體性的數(shù)據(jù)來源進(jìn)行精細(xì)化檢查,確保數(shù)據(jù)庫整體測試結(jié)果能夠達(dá)到計(jì)算機(jī)軟件開發(fā)的對應(yīng)標(biāo)準(zhǔn),繼而對完成檢查的數(shù)據(jù)庫數(shù)據(jù)信息予以記錄和備份,便于及時(shí)檢查計(jì)算機(jī)軟件開發(fā)中的設(shè)計(jì)漏洞及運(yùn)行問題。
3.2.2 邏輯構(gòu)架測試
邏輯構(gòu)架測試技術(shù)需要與科學(xué)化原則進(jìn)行相互糅合。在執(zhí)行邏輯構(gòu)架測試過程中,需要對數(shù)據(jù)庫中的不同數(shù)據(jù)信息類型進(jìn)行系統(tǒng)化的搜集與分析,確保數(shù)據(jù)庫中的數(shù)據(jù)信息、表格中的題頭相互對應(yīng),通過VBA(visual basic for applications)宏編程實(shí)現(xiàn)與響應(yīng)代碼的更新,可以在VBA語法與表格對象模型的靈活運(yùn)用下,依靠函數(shù)形成協(xié)同聯(lián)動(dòng)[8]。同時(shí),針對數(shù)據(jù)庫測試過程中出現(xiàn)的系統(tǒng)漏洞等問題,需要在總結(jié)出相應(yīng)出現(xiàn)原因后,積極運(yùn)用較為合理的技術(shù)手段及時(shí)修復(fù)漏洞,促進(jìn)計(jì)算機(jī)軟件開發(fā)過程中整體邏輯構(gòu)架的完整度,對計(jì)算機(jī)軟件開發(fā)產(chǎn)生正向的推進(jìn)。
針對數(shù)據(jù)庫的數(shù)據(jù)安全保障來講,在實(shí)際進(jìn)行測試過程中,需要通過認(rèn)證處理數(shù)據(jù),全面檢查數(shù)據(jù)庫數(shù)據(jù)信息。在搭建好的測試環(huán)境下,針對計(jì)算機(jī)軟件及測試過程中的操作系統(tǒng)形成備份的鏡像文件內(nèi)容,程序相對產(chǎn)生相應(yīng)文件信息,以此利用較為先進(jìn)的系統(tǒng)軟件、數(shù)據(jù)庫與應(yīng)用程序驗(yàn)證方式,自動(dòng)化減少備份鏡像文件體積,備份數(shù)據(jù)庫并存儲(chǔ)備份副本以確保數(shù)據(jù)安全和容災(zāi),生成相應(yīng)數(shù)據(jù)信息,一鍵獲取數(shù)據(jù)庫中的鏡像數(shù)據(jù)列表。在鏡像數(shù)據(jù)庫服務(wù)器上,創(chuàng)建與主數(shù)據(jù)庫一致的空數(shù)據(jù)庫,以還原的形式,將軟件主數(shù)據(jù)庫的備份文件恢復(fù)到鏡像數(shù)據(jù)列表中,并了解相互的一致性情況。在數(shù)據(jù)認(rèn)證過程中,需要利用數(shù)據(jù)精確性檢查進(jìn)行數(shù)據(jù)管理,充分了解數(shù)據(jù)庫數(shù)據(jù)信息是否符合相應(yīng)的認(rèn)證精確性標(biāo)準(zhǔn),在數(shù)據(jù)驗(yàn)證、審查與糾錯(cuò)過程中提取數(shù)據(jù)信息,將數(shù)據(jù)庫隨機(jī)調(diào)取的數(shù)據(jù)信息與所提取的數(shù)據(jù)信息進(jìn)行對比,更加精準(zhǔn)地開展數(shù)據(jù)認(rèn)證,運(yùn)用更加科學(xué)與合理的方式完成針對數(shù)據(jù)庫的測試,確保數(shù)據(jù)庫中的數(shù)據(jù)信息具備高可信度,滿足計(jì)算機(jī)軟件開發(fā)的實(shí)際需要。
綜上所述,數(shù)據(jù)庫測試作為實(shí)現(xiàn)計(jì)算機(jī)軟件開發(fā)過程中應(yīng)用程度穩(wěn)定性與安全性的長期技術(shù)投資,需要在實(shí)踐過程中,根據(jù)實(shí)際需求下的規(guī)范性文件映射出驗(yàn)證內(nèi)容,運(yùn)用手動(dòng)與自動(dòng)化程序,創(chuàng)建數(shù)據(jù)信息測試、驗(yàn)證過程,并輸出相應(yīng)測試結(jié)果。研究針對計(jì)算機(jī)軟件開發(fā)過程中的數(shù)據(jù)庫容量、性能、壓力測試等內(nèi)容,分析白盒測試技術(shù)、黑盒測試技術(shù)、觸發(fā)測試技術(shù)等數(shù)據(jù)庫測試技術(shù),提出集成測試、構(gòu)架測試(物理、邏輯)、數(shù)據(jù)認(rèn)證等數(shù)據(jù)庫測試技術(shù)應(yīng)用措施,最大限度確保計(jì)算機(jī)軟件開發(fā)的質(zhì)量與效率,獲得較高價(jià)值的數(shù)據(jù)庫測試結(jié)果,為計(jì)算機(jī)軟件后續(xù)的開發(fā)與應(yīng)用工作開展提供切實(shí)可行的數(shù)據(jù)信息支撐,規(guī)避計(jì)算機(jī)軟件開發(fā)過程中存在的潛在隱患。