邢曉偉
(華為技術(shù)有限公司 江蘇 南京 210000)
在當(dāng)前經(jīng)濟(jì)的發(fā)展過程中,經(jīng)濟(jì)全球化在一定的程度上推動(dòng)了互聯(lián)網(wǎng)科技的發(fā)展,其中計(jì)算機(jī)軟件的發(fā)展取得了顯著的成就。同時(shí),人們對(duì)各種軟件產(chǎn)品的實(shí)用性和質(zhì)量的要求也在不斷提高。目前,軟件產(chǎn)品的數(shù)量相對(duì)來說比較多,但在實(shí)際的應(yīng)用過程中會(huì)發(fā)現(xiàn),很多產(chǎn)品的質(zhì)量方面并沒有很好的保證。因此在實(shí)際的發(fā)展過程中需要對(duì)軟件的測(cè)試的方法進(jìn)行詳細(xì)的研究和分析,提高軟件產(chǎn)品的質(zhì)量勢(shì)在必行。
當(dāng)前社會(huì)對(duì)現(xiàn)代軟件的質(zhì)量和效率的要求逐漸提高,因此對(duì)測(cè)試工作也提出了越來越高的要求。測(cè)試手段在發(fā)展過程中也不斷創(chuàng)新。以前軟件測(cè)試主要是以手工測(cè)試為主。手工測(cè)試具有一定的創(chuàng)造性和自由度,可以通過相關(guān)的測(cè)試用例的執(zhí)行來驗(yàn)證系統(tǒng)的邏輯和功能。但是對(duì)于功能非常復(fù)雜的軟件,手工測(cè)試會(huì)遇到以下問題:一是測(cè)試的準(zhǔn)確性得不到一定的保證;二是測(cè)試的效率得不到提升。還有一些特殊的軟件的試驗(yàn),很難或不可能進(jìn)行全量人工的測(cè)試。因而產(chǎn)生了由相關(guān)人員通過手工編寫可重用的自動(dòng)化腳本或工具輔助對(duì)軟件進(jìn)行測(cè)試,從而實(shí)現(xiàn)軟件的自動(dòng)化測(cè)試就很有必要了。
2.1.1 黑盒測(cè)試
該測(cè)試方法主要是對(duì)測(cè)試軟件的各項(xiàng)功能進(jìn)行執(zhí)行并對(duì)輸出結(jié)果進(jìn)行相應(yīng)的檢查。通常也稱其功能測(cè)試。在整個(gè)測(cè)試的過程中,可以將測(cè)試比作成一個(gè)不透光的盒子,只對(duì)程序的開放界面或接口進(jìn)行相應(yīng)的測(cè)試,忽略內(nèi)部的結(jié)構(gòu)和特性。在黑盒的測(cè)試過程中,為了使軟件的質(zhì)量得到相應(yīng)的保證,我們?cè)趯?shí)際的測(cè)試過程中需要對(duì)其進(jìn)行測(cè)試設(shè)計(jì)來進(jìn)行測(cè)試場(chǎng)景的設(shè)計(jì)。主要的設(shè)計(jì)方法有:邊界值、等價(jià)類、因果分析等。
2.1.2 白盒測(cè)試
白盒測(cè)試這種測(cè)試方法在實(shí)際的應(yīng)用過程中也被叫做測(cè)試結(jié)構(gòu)的測(cè)試方法。被測(cè)程序就像一個(gè)打開的盒子,測(cè)試人員可以看到里面的實(shí)際內(nèi)容。在測(cè)試過程中根據(jù)其內(nèi)部的邏輯結(jié)構(gòu)進(jìn)行相應(yīng)的測(cè)試,進(jìn)而可以詳細(xì)分析測(cè)試的實(shí)際覆蓋度。測(cè)試可以有效覆蓋代碼的每一個(gè)分支。但是其相對(duì)于黑盒測(cè)試比較抽象。沒有具體的應(yīng)用場(chǎng)景來做測(cè)試。
2.2.1 手動(dòng)測(cè)試
手動(dòng)測(cè)試是測(cè)試人員對(duì)測(cè)試步驟進(jìn)行手動(dòng)實(shí)現(xiàn),并觀察實(shí)際的執(zhí)行結(jié)果。例如,結(jié)構(gòu)化演練、界面的操作員測(cè)試、大型軟件的手工驗(yàn)證。
2.2.2 自動(dòng)化測(cè)試
自動(dòng)化測(cè)試是基于程序語(yǔ)言編寫的測(cè)試程序,是在傳統(tǒng)手工測(cè)試的基礎(chǔ)上的創(chuàng)新。在測(cè)試過程中,進(jìn)行自動(dòng)化的測(cè)試執(zhí)行,實(shí)現(xiàn)測(cè)試系統(tǒng)的測(cè)試過程。為程序回歸測(cè)試提供了方便,如果回歸測(cè)試程序良好,則可以獲得預(yù)期的測(cè)試結(jié)果,從而減少測(cè)試時(shí)間,提高測(cè)試效率。此外,軟件自動(dòng)測(cè)試可以重用,測(cè)試結(jié)果和內(nèi)容高度一致的情況下,比如同一套軟件在不同的項(xiàng)目上測(cè)試軟件可以重復(fù)使用。
自動(dòng)化測(cè)試技術(shù)是九十年代就出現(xiàn)的一種不算很新的軟件測(cè)試技術(shù),它取代了傳統(tǒng)的手工測(cè)試。在最初使用這種技術(shù)時(shí),主要是借助相關(guān)硬件來記錄輸入和操作。在這種操作模式下,腳本記錄操作和操作數(shù)據(jù)混在一起,維護(hù)成本較高。另外,如果界面發(fā)生變化,腳本不能使用,測(cè)試人員必須重新記錄,以確保軟件測(cè)試的成功完成。因此,這種測(cè)試方法在實(shí)際應(yīng)用中不僅效率低,而且成本高。
自動(dòng)化測(cè)試腳本技術(shù)是一種代碼架構(gòu)下的測(cè)試執(zhí)行工具,以確保測(cè)試用例可讀、可維護(hù)。目前,腳本主要包括以下幾種類型:bat腳本、shell腳本、python腳本。其中bat腳本主要用于Windows操作系統(tǒng)下的自動(dòng)化測(cè)試,其編寫的測(cè)試腳本是bat格式的。Shell腳本是用于linux操作系統(tǒng)下的測(cè)試腳本,使用shell命令進(jìn)行腳本編寫,調(diào)用相應(yīng)功能對(duì)被測(cè)系統(tǒng)進(jìn)行測(cè)試。上述兩種測(cè)試腳本都有其局限性?,F(xiàn)在隨著python語(yǔ)言的流行,使用python進(jìn)行測(cè)試腳本的編寫更加流行,它可以同時(shí)用于Windows平臺(tái)和Linux平臺(tái),同時(shí)功能更為強(qiáng)大。
結(jié)構(gòu)化測(cè)試是使用結(jié)構(gòu)化的編程語(yǔ)言,進(jìn)行軟件自動(dòng)化測(cè)試工具的編寫。它通常會(huì)被做成通用的測(cè)試工具,在上面可以集成各種測(cè)試腳本與測(cè)試方法。目前各大軟件公司均有其獨(dú)立開發(fā)的軟件測(cè)試工具,如華為的ecloud wind,中興通訊的Zsmart平臺(tái)等。上面集成了各種軟件測(cè)試的能力,如接口測(cè)試、數(shù)據(jù)庫(kù)操作、腳本預(yù)制、腳本調(diào)度、環(huán)境檢查、測(cè)試用例調(diào)度,測(cè)試機(jī)管理、測(cè)試環(huán)境關(guān)機(jī)等。結(jié)構(gòu)化測(cè)試使軟件的自動(dòng)化測(cè)試從單兵作戰(zhàn)拓展到了多兵種組合作戰(zhàn)。功能更為強(qiáng)大。
當(dāng)前隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,在線自動(dòng)化測(cè)試也漸漸的被各大公司所采用,其工具成熟,流程完善,適用于各種中小型企業(yè)。這種企業(yè)有很多的測(cè)試需求,但是受限于規(guī)模與投資,很難單獨(dú)開發(fā)獨(dú)立的測(cè)試軟件與系統(tǒng)。而目前專門有專業(yè)測(cè)試公司開發(fā)了線上的測(cè)試平臺(tái)。可以直接接入被測(cè)系統(tǒng),測(cè)試工程師可以直接在線進(jìn)行測(cè)試工作。極大地滿足了中小企業(yè)的測(cè)試需求。
為了保證軟件的質(zhì)量,我們必須對(duì)軟件進(jìn)行系統(tǒng)全面的測(cè)試,為軟件各項(xiàng)功能的順利實(shí)現(xiàn)提供可靠的保證。在迭代式開發(fā)過程中,出于對(duì)于歷史功能質(zhì)量保障的需求,需要應(yīng)用自動(dòng)化測(cè)試方法進(jìn)行回歸測(cè)試。自動(dòng)化測(cè)試可以減少測(cè)試所需的人力和物力,并給企業(yè)帶來良好的經(jīng)濟(jì)效益。是軟件開發(fā)過程中必不可少的一部分。