張敏
摘要:隨著科學技術的發(fā)展,我國的軟件測試技術有了很大進展。軟件測試技術的提高,不僅能夠提高工作效率,也是保障軟件高質量運行的關鍵,基于此,需要相關工作人員不斷探索更加有效的技術與管理模式,從而進一步保障軟件測試水平不斷提高。
關鍵詞:軟件測試技術;測試管理
引言
隨著我國信息技術的高速發(fā)展,軟件在各行各業(yè)中的作用也越來越重要,為了保證軟件的有效運行,必須進行高效高質量的軟件測試。當前很多軟件的測試都偏重于某一種測試方法,而忽略其他的測試方法能夠為產(chǎn)品帶來的效益。如:只采用功能測試,而忽略對代碼的靜態(tài)審查和單元測試,導致軟件中可能存在隱性缺陷。因此,有必要對軟件測試技術及測試管理方面的問題進行深入研究探索,以期在工作中合理規(guī)劃選擇軟件測試技術與管理方法,從而保證軟件產(chǎn)品的最大效益。
1軟件測試的作用與發(fā)展
從軟件工程的角度看,軟件測試是軟件開發(fā)過程中的重要環(huán)節(jié),主要目的是為了提升軟件工程項目質量,為研發(fā)人員提供出詳細準確的信息反饋,同時還需要保證開發(fā)出來的軟件能夠滿足用戶所提出的各種要求。軟件測試的具體工作就是準確的找到程序中存在的錯誤,這種錯誤不僅包括語句編寫上的錯誤,甚至還包括軟件運行過程中存在的邏輯性錯誤。軟件測試工作如果全部采用手動方式將十分繁瑣,尤其是大型軟件的測試更是一項浩大的工程,因此軟件的自動化測試應運而生,它是指通過復雜的程序設計,對軟件開發(fā)過程中的計算機語言進行檢查,進而來控制被測軟件的功能執(zhí)行,使其依照手動測試的方式來完成自動化的測試工作。自動化測試的使用,將使測試人員從繁雜的軟件測試工作當中解放出來,最大限度上縮短了軟件測試的周期,保證軟件能夠達到用戶需求,并可以按期交付軟件產(chǎn)品給客戶。
2軟件測試技術的相關分析
2.1白盒測試技術與黑盒測試技術
白盒測試技術又可以稱之為邏輯驅動測試,其主要是指對產(chǎn)品內部進行運行檢測,判斷其動作與說明書的符合性,重視軟件檢驗。此檢測技術,可檢測邏輯路徑、系統(tǒng)程序內的一起邏輯構造,屬于窮舉路徑測試。應用此測試方案時,測試人員務需核實檢測程序內部構造,確定程序的獨立路徑數(shù)目。由于白盒測試技術無法查出違反設計規(guī)則的程序,因此這種測試方法在所測試路徑內可能會存在錯誤。黑盒測試技術又被稱之為數(shù)據(jù)驅動測試技術,其主要是對已知固有的產(chǎn)品功能,測試驗證其是否可順利實現(xiàn)。測試過程中,需要測試人員對程序接口進行測試,驗證程序功能是否符合說明書要求、程序接收輸入數(shù)據(jù)的順暢性等,為準確的信息輸出提供檢測保障,屬于窮舉輸入測試。此技術的優(yōu)勢在于當輸入進行窮舉并且無遺漏時,程序中的全部錯誤將被檢測出來,不僅可有效的檢測出一切合法的輸入,同時還可測試不合法輸入情況。
2.2靜態(tài)測試和動態(tài)測試技術
相比于其他軟件測試技術,靜態(tài)分析測試法具有獨特的查錯優(yōu)勢、分析功能,可及時高效的發(fā)現(xiàn)設計文檔及代碼中存在的問題。利用靜態(tài)測試工具進行代碼校驗,具有規(guī)則設置靈活、代碼檢測自動進行、檢測結果準確的特點。但在運行中的程序難以利用此技術進行檢測,即利用靜態(tài)檢測技術難以獲取程序執(zhí)行結果。對運行中的程序進行測試可稱之為動態(tài)測試,它通過輸入測試用例,對測試結果與需求進行對比,觀察其相符性,進而實現(xiàn)對程序的準確判斷,保證程序的穩(wěn)定性。軟件測試中動態(tài)測試技術應用較為廣泛,不僅可應用于單元測試、集成測試中,同時還可應用在系統(tǒng)測試、驗收測試中,測試效果顯著。但動態(tài)測試具有局限性,它必須要待程序代碼完成后才可實施檢測,問題感知具有遲緩性,一旦發(fā)現(xiàn)問題,需對編碼重新設計,極大增加了軟件質量成本。
2.3云測試在學術界的應用
目前云計算、大數(shù)據(jù)已經(jīng)是時代發(fā)展的主流,云測試也可能成為軟件測試技術發(fā)展的新方向。通過查閱相關資料,我們了解到國外一些高校就云測試方面所做的一些研究,日本駐波大學的一個教授帶領他的團隊在討論實踐中開發(fā)出一個基于云計算的軟件測試平臺,克服了一般的軟件測試平臺中不支持故障插入技術的這一缺陷,成為軟件測試領域的里程碑。另外,在芬蘭的拉普蘭塔理工大學的一些學者主要針對在云計算環(huán)境下軟件測試和預期的軟件質量之間的關系做了研究,“測試即服務”這個新的概念模型也正是有他們提出的,之后他們又對此進行進一步完善、補充、應用、實踐等環(huán)節(jié),此概念模型在云領域下也取得了很好的成就。此外,國內很多學者也致力于研究云計算環(huán)境下的軟件測試,在關于測試的資源調度和優(yōu)化處理算法等方面取得了很大的進展。
3軟件測試管理分析
3.1測試團隊的構建
測試團隊中的人員分工合作、各司其職,做每個人最擅長的部分,如區(qū)分設計文檔審查工程師、白盒測試工程師、功能測試工程師、性能測試工程師、接口測試工程師、信息安全測試工程師等,同時測試負責人應定期組織相應的技術培訓,提高團隊整體技能,共同打造最高效的測試團隊。
3.2測試體系的建立
依據(jù)軟件方面的國際、國內、行業(yè)標準或企業(yè)規(guī)章制度,建立適合自己的測試體系,制定測試計劃、完成設計文檔的評審、測試設計、并執(zhí)行測試用例、最后進行測試總結,在這一整套的過程中,始終要堅持閉環(huán)跟蹤管理測試的過程,同時也要進行測試的風險管理。
3.3測試技術的選擇
一般情況下,軟件測試工作都帶有比較強的目的性,在測試過程當中需要具有針對性的發(fā)現(xiàn)其中存在各種錯誤。在傳統(tǒng)的人工測試方式當中,統(tǒng)計指標雖然可以幫助人們提升測試結果的可信度,但是,因為長時間的機械式檢查難免出現(xiàn)人為失誤,因此,為了節(jié)省人工測試對資源的浪費,得到更為可靠的測試結果上,可以在合適的測試項目中通過對軟件測試工作進行總結,并結合軟件功能特定檢查手段完成自動測試程序模塊的編寫,從而實現(xiàn)軟件的自動化測試。自動化測試工具可以是公司內部自定義開發(fā),也可以是市場通用的自動化測試工具如RobotFramework、QTP等自動化框架,Loadrunner、Jmeter等性能測試工具,SnifferPro等網(wǎng)絡測試工具,以及Bugzilla、JIRA等一些缺陷管理平臺。
結束語
現(xiàn)階段,我國社會經(jīng)濟以及科技水平的發(fā)展速度在不斷加快,各個行業(yè)所面臨的挑戰(zhàn)也有所增加,其中軟件的作用至關重要。因此需要對軟件測試技術和測試管理進行不斷的深入研究,以此保證軟件測試的效率及軟件產(chǎn)品的質量,從而提高軟件整體的應用性。
參考文獻
[1]劉德寅,薛小東,張舒白.計算機軟件測試技術與開發(fā)應用研究[J].電子質量,2018(7):5-6,31.
[2]趙宇,王端榮,陳必泉.軟件測試技術現(xiàn)狀與發(fā)展趨勢研究[J].信息與電腦(理論版),2017(16):67-68.
[3]吳迪.軟件測試技術的應用及其發(fā)展趨勢[J].電腦迷,2017(8):76.