范群芳
摘要:隨著科技的不斷進步,人們對于高新科技創新的高漲需求,促成了軟件工程的生成發展并日益成熟。對于處于激烈競爭中的軟件開發企業來講,必須要提升軟件開發質量才能夠讓企業在激烈的競爭中生存下來然后脫穎而出。在軟件實際開發中,考慮到軟件硬件的高性能,軟件的大型化、復雜化,軟件具體投運到使用用戶手中避免不了隱藏著不足和缺陷,作為軟件工程步驟中的關鍵階段--軟件測試,成為提高軟件工程質量的重要工具,對軟件的各個階段進行充分的測試以保證軟件運行中質量的穩定性及可靠性,因此軟件測試成為了軟件工程中保證質量的重要手段。
關鍵詞:軟件測試;軟件開發;應用
軟件開發結合用戶建設并開發部分軟件或者軟件系統,其中涉及到了捕捉需求、分析、設計、實現以及測試等多方面的工作內容。為保證軟件的整體使用效果,需要開展軟件測試工作,其是逐漸提升軟件正確性、安全性、完整性和使用質量的過程,用于預期輸出和實際輸出之間的差異比較。
1.軟件測試技術
在規定條件下對已完成的程序進行操作,準確發現程序中出現的錯誤、缺陷以及是否滿足要求,包括編寫語言及軟件運行中的邏輯性錯誤,為程序人員提供準確的信息反饋,來確保軟件在使用過程中的穩定性及適用性的技術手段。為軟件質量提供了重要保證,測試工作涉及開發整個流程,為每個流程提供技術依據,大大提高過程的高效性,是軟件投入使用前的關鍵步驟。
靜態測試源于五六十年代管理人員對文檔的質量控制實踐,在不用打開被檢測軟件的前提下,對靜態的程序進行檢測,主要分為審閱和檢查。審閱可以簡單理解為由一組人員從不同角度對軟件進行檢查,發現盡可能多的錯誤,并進行記錄的方法。檢查則是對出現的錯誤進行統計歸納,以避免類似錯誤發生的方法。
由于動態測試方法的相對于分析對象可以分為眾多分析方法,本次我們只針對任何工程都適用的關鍵方法進行分析,一般分為黑盒測試和白盒測試。
黑盒測試是基于軟件的功能及外部特征進行測試,檢查程序的各項功能及出現的錯誤,是一種傳統的檢測方法。主要應用于一些無法得到源程序的軟件可以根據操作說明書進行測試,測試程序是否遺漏,界面是否錯誤等。但是如果想用黑盒測試檢測程序中的錯誤,則需用輸入數據的所有可能性來檢查是否都能實現預期的結果,這對于我們來說是完全不可能實現的。
2.軟件測試技術未來的發展方向和趨勢
2.1軟件測試的現狀
隨著科技的發展,如今我國在信息化建設方面已取得了不錯的發展成就。但是畢竟我國還是發展中國家,如軟件發展類的高新技術起步晚,資質尚淺與其他發達國家在各方面技術上還存在很大的差距。軟件開發方面的相關技術還沒完全脫離“手工作坊”的落后局面。導致我們很多軟件技術沒有符合國際化的標準,在軟件出口方面尤其薄弱。面對日益發展的需求及軟件越來越復雜的趨勢,強烈迫使我們開發新的軟件測試技術,改變如今落后的現狀。
2.2軟件測試自動化的發展趨勢
軟件測試作為保證軟件質量的重要技術,目前軟件開發越來越朝著復雜化、多元化、放大化、精細化的方向發展,手工測試的工作量隨著軟件了開發的變化日益繁重不能滿足時代背景的發展。手工測試的開發時間、成本及軟件測試沒有統一的有效的管理手段等缺點日益暴露,為了突破測試技術的瓶頸,自動化技術作為新的技術發展發向可以有效的解決手工測試效率低,人為因素明顯,人員技術參差不齊等問題,可以統一測試標準、提高準確性等優點已開始逐漸代替手工測試。
2.3軟件測試自動化工具
軟件開發過程中每個階段都需要借助軟件測試工具,也可稱為軟件測試技術的實施方法,實現自動化測試的目的,因為軟件測試過程基本從始至終參與開發,而開發設計統一,所以在工具理念上,自動化測試與手動測試一樣也分為靜態分析工具與動態分析工具。
測試工具管理是對自動化分析工具的管理,因為測試的目標是軟件而測試工具也是軟件形式最多,軟件的主要問題也同樣體現在軟件測試工具上,如何解決軟件的使用,病毒的防護,相關過程程序的保存無意外刪除等問題也對軟件自動測試的結果有至關重要的影響,所以測試工具的管理同樣值得重視,應該交于專業的技術人員合理的管理測試工具,才能讓測試工具更好的服務軟件工程。
2.4軟件測試自動化的實際應用
雖然自動檢測基于手動檢測的原理,但是卻由于技術手段更加先進,借助工具的自動化可以解決絕大多數手動測試的弊端。像大部分的重復性工作可以借助自動化完成。合理選擇檢測工具可以節省時間、成本、更加滿足科學測試的要求,雖然自動化測試還存在很多不足仍需改進但是目前自動化測試技術也得到了越來越廣泛的實際應用。應用較為廣泛的技術有自動化測試框架編寫測試數據和自動化測試用例。
自動化測試用例是測試設計前的預估測試效果的系統測試方案,為了發現隱藏的漏洞而引用的具有代表性的測試運行腳本實現自動生成測試結果。能很好的使測試重點更加突出,降低工作強度,避免盲目的軟件測試,指導軟件的具體實施方法的選擇,測試縮短項目周期等作用。
3.軟件測試在軟件開發中應用分析
3.1軟件測試在需求分析階段的應用
在需求分析階段,軟件試驗的主要工作內容是紀錄客戶需求,根據客戶的要求提煉各類核心信息,并與開發項目負責人進行互動,了解各項工作的進度邀請,制定測試計劃。如客戶需求設計師一款智能軟件,使用作喪失機器人的性能提升,根據客戶需求,軟件核心參數應該是設備對作用力的感知、障礙物的感知、工作目標(垃圾)的處理以及與之匹配的集成技術、傳感技術等。
3.2軟件測試在設計過程中的應用
進入到設計階段后,軟件開發已經處于實質工作中,這一階段的測試工作包括兩項實際上內容,一是急速根據確切工作情況更改預計測試計劃,二是根據階段設計結果進行合適的分項目測試。通常而言,軟件開發過程會局限一些未知變數,比如客戶需求的變化,此前客戶需軟件辨識5種語言,隨著業務更改,客戶也提議軟件辨識約7種語言,這使測試時必須在語言相關環節增加兩項內容,以合乎客戶的實際需要。
3.3軟件測試在代碼編寫階段的應用
軟件代碼展開撰寫的過程之中,軟件測試人員不但要參加到單元測試、撰寫測試用例,及代碼完成報告與凍結報告工作之中,所以要對于撰寫試驗展開案例研究。于通常情況之下,軟件開發人員是可獨立國家展開單元測試工作的是,于實際應用的過程之中,其適當的測試用例、機械測試腳本等仍然舊有需靠人工來完工。
3.4軟件測試在運行維護過程中的應用
在軟件交付運行之后,測試工作并決不能立即停止,由于很多軟件問題在測試階段并決不會完全曝,如果交貨行走之后聽之任之,十分或許導致問題分散爆發,客戶的滿意度、軟件開發的成效也就無法談起了。較常用的問題比如軟件漏洞,部分軟件在測試時環境非常理想,不過在應用中也面臨源于裝置兼容性、木馬攻擊等方面的威脅,如果爆發漏洞、造成木馬侵略,軟件開發的價值會大大降低。于行走維護階段,提議軟件開發項極力與客戶進行聯系,根據用戶反映進行運維測試。
結語
軟件測試作為軟件質量控制的重要方式之一,主要是通過測試工具,根測試方案及測試流程,不僅要對軟件進行其功能性和性能性方面的測試,而且還要根據其差異,編寫不同的測試工具、測試系統,以及應對方案等。就當前發展的情況來看,軟件測試向著持續性的反饋機制方向發展,并且最大限度的降低成本,提高軟件的開發力度。
參考文獻:
[1]吳文慶,修雅慧.軟件測試在軟件開發中應用的探討[J].職業技術,2018,17(11):83-85.
[2]焦勝男.軟件測試在軟件開發過程中的應用研究[J].硅谷,2014,7(07):42-43.
[3]朱寅非.軟件測試在軟件開發過程中的應用探析[J].無線互聯科技,2013(05):48+50.
[4]潘禎,吳永強,王艷華.軟件測試在軟件開發中應用的探討[J].硅谷,2011(22):156-157.
2369500520335