栗泰之
(北京新國信軟件評(píng)測(cè)技術(shù)有限公司(國家電子政務(wù)系統(tǒng)質(zhì)量檢驗(yàn)檢測(cè)中心),北京 100053)
大數(shù)據(jù)技術(shù)的不斷發(fā)展,不僅讓軟件形態(tài)上更為豐富,而且也在很大程度地提升了軟件性能,這與當(dāng)下社會(huì)實(shí)際發(fā)展比較契合。一是擁有很高的處理效率,軟件的高效運(yùn)行其實(shí)都是以秒為單位來計(jì)量的,如想可以與實(shí)際發(fā)展保持同步,作為測(cè)試人員需對(duì)數(shù)據(jù)實(shí)施合理科學(xué)地分析。近些年,大數(shù)據(jù)技術(shù)應(yīng)用面在逐漸擴(kuò)大,測(cè)試人員需要做的就是對(duì)軟件實(shí)際特點(diǎn)與形態(tài)高度關(guān)注,如此才可以充分提升測(cè)試效率。二是從軟件數(shù)據(jù)類型上來看,其主要包含視頻和日志兩部分內(nèi)容,因此,檢測(cè)人員需結(jié)合不同軟件采用最適合的處理方法,以提升檢測(cè)質(zhì)量和檢測(cè)效率。三是在對(duì)軟件實(shí)施測(cè)試時(shí),測(cè)試人員應(yīng)先選擇較為重要的一些信息進(jìn)行深入全面的分析與研究,尤其對(duì)信息的評(píng)定工作應(yīng)高度重視,這樣可以有效提高軟件價(jià)值。四是由于軟件數(shù)據(jù)數(shù)量比較龐大,主要包括各種不同的信息,所以,讓存儲(chǔ)變得更為困難。為了解決以上問題,測(cè)試人員需高度重視信息采集和整理,以便為企業(yè)長(zhǎng)遠(yuǎn)地良性發(fā)展提供幫助。對(duì)于傳統(tǒng)軟件測(cè)試而言,測(cè)試人員需根據(jù)軟件規(guī)格創(chuàng)設(shè)適合的數(shù)據(jù)模型,通過這樣來協(xié)調(diào)輸入和輸出間關(guān)系。如想提升軟件測(cè)試效率,作為測(cè)試人員需應(yīng)用現(xiàn)代化的計(jì)算機(jī)系統(tǒng),構(gòu)建獨(dú)立的數(shù)字模型,同時(shí)還要不斷挖掘一些重要數(shù)據(jù),并從中找出數(shù)據(jù)之間的內(nèi)在聯(lián)系與規(guī)律,以為各類生產(chǎn)提供數(shù)據(jù)支持。
在軟件行業(yè)不斷發(fā)展背景下,衍生出很多軟件測(cè)試法。但是在眾多軟件測(cè)試方法中,因測(cè)試路徑、測(cè)試目標(biāo)的不同,可將其劃分成更多類型。在大數(shù)據(jù)背景下,很多企業(yè)為了獲得更為完善并且科學(xué)性的測(cè)試結(jié)果,通常并不會(huì)僅應(yīng)用一種軟件測(cè)試法,而是會(huì)采用多種測(cè)試法相結(jié)合的方式來完成檢測(cè)。很多企業(yè)常用的檢測(cè)方式如下。
(1)按照被檢軟件是不是在事前打開來劃分,可將測(cè)試技術(shù)分成靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試。在實(shí)施靜態(tài)測(cè)試過程中,被測(cè)軟件無須事先打開便可測(cè)試,只需依據(jù)相應(yīng)步驟流程來檢查程序指令代碼、文檔內(nèi)或是設(shè)計(jì)界面中所存在的不足,也就是測(cè)試是在軟件靜態(tài)狀態(tài)下實(shí)施的。而測(cè)試人員在開展動(dòng)態(tài)測(cè)試過程中,所檢測(cè)程序應(yīng)先處于打開狀態(tài),之后依據(jù)所設(shè)計(jì)好的檢測(cè)事項(xiàng)對(duì)實(shí)際數(shù)據(jù)進(jìn)行輸入處理,利用比對(duì)的方式來檢驗(yàn)實(shí)際情況是不是與事先所預(yù)測(cè)的結(jié)果相符[1]。
(2)按檢測(cè)過程中是不是需了解程序內(nèi)部結(jié)構(gòu)進(jìn)行劃分,通??蓪y(cè)試技術(shù)分為墨盒測(cè)試和白盒測(cè)試,白盒測(cè)試是檢測(cè)人員事先就被了解被測(cè)程序其工作過程,通常只需按照具體說明來對(duì)其實(shí)施逐一檢驗(yàn)。然而在這種檢測(cè)中,工作人員需事先設(shè)置一個(gè)合理的檢測(cè)計(jì)劃,方便在實(shí)際操作中可依據(jù)這一計(jì)劃來有序地開展檢測(cè)相關(guān)工作,與白盒檢測(cè)相比,黑盒測(cè)試是測(cè)試人員在對(duì)軟件實(shí)施檢測(cè)時(shí),無須對(duì)軟件內(nèi)部情況進(jìn)行事先了解,但是需重點(diǎn)關(guān)注輸入、輸出數(shù)據(jù)結(jié)果。
在大數(shù)據(jù)軟件的測(cè)試中數(shù)據(jù)預(yù)處理是第一步,主要工作包含以下內(nèi)容:一是對(duì)相關(guān)的數(shù)據(jù)庫、社交網(wǎng)站及文本、日志系統(tǒng)等數(shù)據(jù)進(jìn)行檢驗(yàn);二是對(duì)加載至Hadoop系統(tǒng)內(nèi)的數(shù)據(jù)與原始數(shù)據(jù)進(jìn)行統(tǒng)一檢驗(yàn);三是對(duì)數(shù)據(jù)提取和加載到DHFS內(nèi)的數(shù)據(jù)節(jié)點(diǎn)正確性進(jìn)行檢驗(yàn)。
完成以上檢驗(yàn)以后,數(shù)據(jù)會(huì)被加載到HDFS中,之后借助Map Reduce來處理數(shù)據(jù)。Map Reduce是適合大數(shù)據(jù)處理的一種技術(shù),可以實(shí)現(xiàn)大規(guī)模數(shù)據(jù)統(tǒng)一處理,所以具體可實(shí)施以下測(cè)試檢驗(yàn):一是對(duì)完成Map Reduce處理的正常運(yùn)行文件進(jìn)行檢驗(yàn);二是對(duì)數(shù)據(jù)實(shí)施隔離、聚合檢驗(yàn);三是檢驗(yàn)數(shù)據(jù)Key-value關(guān)系正確與否;四是經(jīng)過檢驗(yàn)Map Reduce后數(shù)據(jù)正確與否。
按照業(yè)務(wù)邏輯需要完成處理后的數(shù)據(jù),最后會(huì)根據(jù)用戶需求存儲(chǔ)于數(shù)據(jù)庫當(dāng)中。在此階段應(yīng)對(duì)數(shù)據(jù)轉(zhuǎn)換過程中有無正確應(yīng)用規(guī)則進(jìn)行檢驗(yàn),檢驗(yàn)數(shù)據(jù)庫內(nèi)數(shù)據(jù)是否已破損、數(shù)據(jù)完整性使用規(guī)范是否正確等。另外,還要對(duì)分析報(bào)表進(jìn)行檢驗(yàn),保證存儲(chǔ)于數(shù)據(jù)庫內(nèi)的數(shù)據(jù)能夠滿足用戶及業(yè)務(wù)方面的相應(yīng)需求。
從軟件整體發(fā)展來看,軟件發(fā)展主要由四個(gè)階段所組成,而服務(wù)階段則是最為核心的一個(gè)階段。因?yàn)榉?wù)性軟件數(shù)量非常多,所以,給軟件測(cè)試工作造成較大的困擾[2]。
第一個(gè)階段是完成編碼階段,在實(shí)際運(yùn)行中,此階段的運(yùn)行內(nèi)容是編寫代碼。軟件測(cè)試系統(tǒng)只有擁有完善高效的數(shù)據(jù)庫系統(tǒng),并且具備優(yōu)秀的可測(cè)試性,才可以使軟件實(shí)現(xiàn)本身應(yīng)有的監(jiān)測(cè)性能。第二個(gè)階段是構(gòu)建階段。構(gòu)建階段是在設(shè)計(jì)組織系統(tǒng)數(shù)據(jù)庫支持下運(yùn)行的,根據(jù)本身工作特點(diǎn)構(gòu)建可以重復(fù)使用的工作組件,但所構(gòu)建的這一組件只適合在當(dāng)?shù)厥褂?,系統(tǒng)具備非常優(yōu)良的契合性,所以,測(cè)試人員可管理這些組件但無法進(jìn)行內(nèi)核測(cè)試和追蹤。第三個(gè)階段是服務(wù)階段。在云計(jì)算運(yùn)行過程中,因?yàn)閿?shù)據(jù)量比較龐大,因此可以從復(fù)雜的數(shù)據(jù)庫系統(tǒng)中選擇具有重要價(jià)值的信息。對(duì)傳統(tǒng)軟件系統(tǒng)而言,在其實(shí)際運(yùn)行中完全無法實(shí)現(xiàn)重要信息的提取。一般對(duì)于軟件開發(fā)來說,需基于PasS來實(shí)現(xiàn),然而測(cè)試人員卻對(duì)PasS服務(wù)構(gòu)成并不了解,因此造成軟件測(cè)試工作根本不能正常有序開展。
對(duì)于傳統(tǒng)軟件測(cè)試而言,通常都需利用控制器來與本地服務(wù)器協(xié)調(diào),之后將協(xié)調(diào)服務(wù)需求發(fā)送給服務(wù)器終端,以開始軟件測(cè)試活動(dòng),但是這種測(cè)試法僅適用于少量服務(wù)器及系統(tǒng)組成的一類軟件。在現(xiàn)時(shí)期大數(shù)據(jù)時(shí)代,伴隨大數(shù)據(jù)的不斷增多與廣泛應(yīng)用,出現(xiàn)很多種類的計(jì)算機(jī)服務(wù)器。一般情況下,軟件系統(tǒng)設(shè)計(jì)與服務(wù)器穩(wěn)定、良性運(yùn)行存在直接的關(guān)系,但是傳統(tǒng)軟件測(cè)試方法在實(shí)際應(yīng)用中并不能為用戶提供個(gè)性化需求,如此便在很大程度上阻礙了測(cè)試工作的正常進(jìn)行。通過研究可以確定,云架構(gòu)則可以良好地應(yīng)對(duì)此類問題,但是如果長(zhǎng)時(shí)間應(yīng)用服務(wù)器,同樣也會(huì)對(duì)軟件測(cè)試產(chǎn)生不利的影響[3]。
軟件測(cè)試殺蟲劑免疫效應(yīng)是因軟件病毒無限傳播所導(dǎo)致的,確切的說就是,在具體運(yùn)行中因所使用了多種類型的測(cè)試軟件,所以自然而然的對(duì)病毒產(chǎn)生了免疫,好比似長(zhǎng)期使用一種藥物來殺蟲,最后使得害蟲對(duì)此類藥物產(chǎn)生耐藥性,這時(shí)長(zhǎng)期所使用的這類殺蟲劑便會(huì)失去殺蟲功效。軟件殺毒與農(nóng)藥殺蟲兩件事情是一樣的原理。在實(shí)施軟件設(shè)計(jì)和開發(fā)中,在初期和中期時(shí)便可不斷修改和優(yōu)化軟件中所存在的不足,以促進(jìn)軟件內(nèi)部屬性更為完善,從而提高軟件運(yùn)行的安全性。因此,殺蟲劑免疫效應(yīng)能夠幫助軟件測(cè)試技術(shù)發(fā)展,這對(duì)于創(chuàng)設(shè)具備超強(qiáng)抵御功能的系統(tǒng)處理技術(shù)而言是非常有利的。
在對(duì)傳統(tǒng)軟件實(shí)施檢測(cè)時(shí),常用的方法有:①靜態(tài)和動(dòng)態(tài)測(cè)試。靜態(tài)測(cè)試無須事先打開軟件便可實(shí)施測(cè)試活動(dòng),此測(cè)試方法主要針對(duì)的是代碼或是文檔軟件的測(cè)試。而動(dòng)態(tài)測(cè)試則是需通過打開軟件才可以實(shí)施軟件測(cè)試,按照實(shí)際輸出結(jié)果與預(yù)期目標(biāo)來實(shí)施對(duì)比,以便精準(zhǔn)判定程序是否正常。②白盒及黑盒測(cè)試。白盒測(cè)試就是結(jié)構(gòu)測(cè)試,此類測(cè)試主要按程序邏輯結(jié)構(gòu)來進(jìn)行程序測(cè)試;黑盒測(cè)試就是功能測(cè)試,在此種測(cè)試中無須思考代碼,只需關(guān)注輸入和輸出數(shù)據(jù)。在大數(shù)據(jù)背景下,只有通過不同的測(cè)試法才能夠滿足不同的測(cè)試需求,由此及時(shí)掌握和檢測(cè)軟件當(dāng)中所存在的一些不足[4]。因此,在大數(shù)據(jù)推動(dòng)下,應(yīng)積極的設(shè)計(jì)和開發(fā)不同類型的軟件測(cè)試技術(shù)。具體可從以下幾方面來優(yōu)化和改進(jìn)軟件測(cè)試技術(shù):一是需對(duì)傳統(tǒng)測(cè)試進(jìn)行優(yōu)化或是調(diào)整;二是在實(shí)施測(cè)試過程中,應(yīng)根據(jù)軟件系統(tǒng)實(shí)際要求,選用不同的測(cè)試方法;三是利用先進(jìn)的現(xiàn)代化軟件設(shè)計(jì)技術(shù)來實(shí)施軟件測(cè)試。這樣可以使測(cè)試技術(shù)滿足當(dāng)下社會(huì)實(shí)際發(fā)展需求,并同時(shí)提升軟件質(zhì)量。
近些年,在大數(shù)據(jù)不斷發(fā)展的背景下,信息化技術(shù)也獲得很大發(fā)展,在此當(dāng)中,云計(jì)算和人工智能技術(shù)最為突出。在軟件測(cè)試系統(tǒng)中,智能技術(shù)發(fā)揮了較重要的作用,主要體現(xiàn)在以下方面:一是促使數(shù)據(jù)檢測(cè)工作更為規(guī)范、合法;二是可對(duì)數(shù)據(jù)輸出樣本進(jìn)行全方位檢測(cè)。事實(shí)證明,隨著大數(shù)據(jù)規(guī)模的逐漸擴(kuò)展,使各類輸入、輸出流量間原本存在的差別問題得到有效解決,如此不但讓數(shù)據(jù)間轉(zhuǎn)換更為規(guī)范,而且也使得軟件測(cè)試技術(shù)獲得高效發(fā)展。另外,智能化云平臺(tái)的構(gòu)建,能夠?yàn)檐浖y(cè)試創(chuàng)設(shè)一個(gè)優(yōu)良完善的環(huán)境,這樣不但可提升測(cè)試效率,還可使測(cè)試人員能夠?qū)⒐ぷ髦攸c(diǎn)放在軟件測(cè)試程序設(shè)計(jì)方面,以構(gòu)建一個(gè)優(yōu)秀的拓展空間,有效降低測(cè)試風(fēng)險(xiǎn)出現(xiàn)的概率,提升整體測(cè)試效果,從而保障了軟件測(cè)試數(shù)據(jù)的高效性、準(zhǔn)確性。
在實(shí)施軟件測(cè)試中,一般會(huì)有大量無用數(shù)據(jù)或沒有價(jià)值的數(shù)據(jù),這類數(shù)據(jù)所導(dǎo)致的無效測(cè)試均會(huì)對(duì)最后的測(cè)試結(jié)果產(chǎn)生不利的影響,如果情況嚴(yán)重還會(huì)對(duì)一些軟件系統(tǒng)造成破壞。因此,應(yīng)更加努力保證數(shù)據(jù)精準(zhǔn)性和有效性,只有做到這一點(diǎn),才可以真正地提升軟件測(cè)試質(zhì)量,防止一些無關(guān)緊要數(shù)據(jù)問題的出現(xiàn),促進(jìn)測(cè)試效果可以滿足預(yù)期目標(biāo)需求。除此之外,如想使軟件測(cè)試數(shù)據(jù)能夠更為精準(zhǔn)高效,測(cè)試人員還需不斷提高自身的相關(guān)素養(yǎng),確切來講,如想提高測(cè)試效果,精準(zhǔn)把控相關(guān)業(yè)務(wù)流程及路徑,擁有高超的業(yè)務(wù)理論素養(yǎng)及業(yè)務(wù)能力是非常重要的。只有將問題處理在萌芽階段,才可以使測(cè)試數(shù)據(jù)更為精準(zhǔn)、有效,并同時(shí)達(dá)到預(yù)期測(cè)試效果[5]。
目前在大數(shù)據(jù)時(shí)代背景下,軟件測(cè)試技術(shù)應(yīng)不斷的升級(jí)與理新,已有越來越多的企業(yè)開始對(duì)此領(lǐng)域提高關(guān)注度,而且對(duì)軟件測(cè)試技術(shù)的未來發(fā)展也是比較有信心的。但是因?yàn)楦鞣N因素的影響,使得我國在軟件測(cè)試方面仍然與國外水平存在一定的差距,所以,在未來,對(duì)于數(shù)據(jù)的科學(xué)性和準(zhǔn)確性需要不斷的提高,而且還要不斷完善測(cè)試技術(shù),提高測(cè)試工具智能性,通過這樣提升企業(yè)軟件測(cè)試效率。