• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      軟件測試在軟件開發(fā)中應(yīng)用的探討

      2018-11-09 08:00:14吳文慶修雅慧
      職業(yè)技術(shù) 2018年11期
      關(guān)鍵詞:測試用例軟件測試代碼

      吳文慶,修雅慧

      (1.蘇州市職業(yè)大學 計算機工程學院,江蘇 蘇州 215104;2.齊齊哈爾醫(yī)學院,黑龍江 齊齊哈爾 161006)

      0 引言

      軟件開發(fā)(Software development)是根據(jù)用戶要求建設(shè)、開發(fā)軟件系統(tǒng)或者部分軟件的過程,涵蓋需求捕捉、分析、設(shè)計、實現(xiàn)和測試等工作。軟件測試(Software Testing)則是促進軟件的正確性、完整性、安全性和質(zhì)量的過程,主要用于比較預(yù)期輸出和實際輸出之間的差異?,F(xiàn)代社會發(fā)展對軟件的需求越來越大、越來越復(fù)雜,這要求相關(guān)單位和工作人員加大軟件開發(fā)力度,同時通過測試等工作保證軟件性能,滿足實際要求。

      1 軟件測試的目標與流程

      1.1 軟件測試的目標

      軟件測試是一系列工作的總稱,是指在規(guī)定的條件下對程序進行操作,發(fā)現(xiàn)錯誤、衡量質(zhì)量,評估它是否能滿足設(shè)計要求的過程,該過程的對照目標是預(yù)期設(shè)計要求。通常軟件測試的目標包括三個方面,即避免開發(fā)風險、降低常見風險、了解軟件性能,測試對象則包括程序、數(shù)據(jù)和文檔。以性能評估為例,一款軟件的交互價值、程序完善度、性價比都會影響其性能。如常見的游戲軟件,若界面清晰簡潔,操作就比較容易,交互體驗良好;如果界面元素過多且復(fù)雜難辨,玩家的興趣就難以保證了。這是在軟件開發(fā)過程中將測試列為五個基本項目的主要原因之一。

      1.2 軟件測試的流程

      軟件測試的流程包括六個基本步驟,即擬定測試計劃、挑選測試用例、啟動測試計劃、提交缺陷問題、設(shè)計優(yōu)化調(diào)整、提交測試成果。軟件測試過程中也應(yīng)進行管理,主要包括軟件測試的過程、評價方法、參數(shù)選取,進行配置管理和測試風險分析、控制測試成本,等等。

      測試計劃是軟件測試的第一步,要求針對不同對象目標分別擬定,如測試對象為數(shù)據(jù),要了解數(shù)據(jù)在軟件中是否能夠被讀取、執(zhí)行,是否滿足系統(tǒng)上下限,等等。在軟件測試過程中,尤其是大型軟件,需要了解的項目較多,難以一一測試,因此會選擇較具代表性的軟件作為用例,要求其覆蓋到關(guān)鍵性的測試需求,如主程序、核心參數(shù)等。測試活動開始前,需對選定對象進行分析,判斷其是否滿足“啟動準則”(EntryCriteria),如果分析結(jié)果理想,則啟動測試,反之則繼續(xù)重復(fù)“挑選測試用例”環(huán)節(jié)。測試工作中,要將測試結(jié)果與標準參數(shù)比對,了解其中差異,明確問題以及缺陷,進行提交、設(shè)法消除。完成消除后,還要進行二次測試甚至三次、四次測試,直到選定的目標對象在參數(shù)、性能上達到或高于設(shè)計標準,滿足“完成準則”(ExitCriteria),結(jié)束主體測試工作,撰寫并提交測試報告,記錄核心參數(shù)用于實際工作。軟件測試工作的流程如圖1所示。

      圖1 軟件測試工作的流程

      2 軟件測試在需求分析階段的應(yīng)用

      在需求分析階段,軟件測試的主要工作內(nèi)容是記錄客戶需求,根據(jù)客戶的要求提煉各類核心信息,并與開發(fā)項目負責人進行溝通,了解各項工作的進度安排,擬定測試計劃。如客戶需求設(shè)計一款智能軟件,用于掃地機器人的性能改善,根據(jù)客戶需求,軟件核心參數(shù)應(yīng)該是設(shè)備對作用力的感知、障礙物的感知、工作目標(垃圾)的處理以及與之對應(yīng)的集成技術(shù)、傳感技術(shù)等。由于集成技術(shù)和傳感技術(shù)屬于通用技術(shù),不必額外進行技術(shù)測試,因此選定“對作用力的感知、障礙物的感知、工作目標(垃圾)的處理”作為測試對象。計劃擬定后,了解整體軟件開發(fā)計劃,假定開發(fā)活動預(yù)期為90天,則將第一輪測試活動定在第51個工作日,以保證調(diào)整優(yōu)化的時間充沛[1]。

      3 軟件測試在設(shè)計過程中的應(yīng)用

      進入設(shè)計階段后,軟件開發(fā)已經(jīng)處于實質(zhì)工作中,這一階段的測試工作包括兩項基本內(nèi)容,一是不斷根據(jù)實際工作情況調(diào)整原定測試計劃,二是根據(jù)階段設(shè)計結(jié)果進行必要的分項目測試。通常來說,軟件開發(fā)過程會存在一些未知變數(shù),比如客戶需求的變化,此前客戶需要軟件辨識5種語言,隨著業(yè)務(wù)變更,客戶又要求軟件辨識至少7種語言,這意味著測試時必須在語言相關(guān)環(huán)節(jié)增加兩項內(nèi)容,以滿足客戶的實際需要[2]。分項目測試在大型軟件設(shè)計過程中十分常見,如電子競技類游戲,涉及到很多程序,每完成一個階段工作后,需要進行一次小范圍測試,了解包括參數(shù)設(shè)定、人物動作、游戲背景等軟件的情況。

      在對人物動作進行測試時,一般應(yīng)用骨骼動作法或者有限元分析法,以虛擬軟件操作人物的動作,了解動作協(xié)調(diào)性、變形幅度等,再按標準參數(shù)進行微調(diào),直至漸趨完善。

      4 軟件測試在代碼編寫階段的應(yīng)用

      代碼編寫是指技術(shù)人員應(yīng)用各類程序進行軟件設(shè)計、制作,該階段的測試內(nèi)容包括單元測試、測試用例編寫、接受代碼完成報告,等等,核心工作是編寫測試用例。在軟件設(shè)計開發(fā)的過程中,很多環(huán)節(jié)需要單獨進行測試,單元測試可由設(shè)計人員自己負責,而較為復(fù)雜的多參數(shù)測試則需要人員提供測試用例、測試腳本等,供項目小組審閱、共同進行測試[3]。

      如一款指紋密碼鎖軟件的開發(fā),在代碼編寫階段,要求重視按壓強度、手指紋理之間的細微差別,這種差別難以通過一個模型完全涵蓋,設(shè)計人員完成小單元的簡單測試后,根據(jù)設(shè)計要求出具測試用例,供項目組進行有效性分析[4]。在編寫用例的過程中,要求嚴格應(yīng)用代碼語言,避免出現(xiàn)代碼輸入錯誤、產(chǎn)生程序BUG等情況。代碼是程序員用開發(fā)工具所支持的語言寫出來的源文件,是一組由字符、符號或信號碼元以離散形式表示信息的明確的規(guī)則體系。在軟件開發(fā)過程中,不同軟件制作所使用的代碼存在差別,編寫過程中,也要求注意書寫的準確性。圖3中,代碼出現(xiàn)錯誤,將其應(yīng)用于測試用例編寫,必然影響測試成果,正確的編寫如圖4所示。

      圖3 測試用例編寫中出現(xiàn)的錯誤代碼

      圖4 測試用例編寫的正確代碼

      5 軟件測試在初步完成階段的應(yīng)用

      軟件測試一般被看做是軟件開發(fā)工作的組成部分之一,相關(guān)工作服從于項目整體安排,大型軟件系統(tǒng)的設(shè)計開發(fā)被分成多個階段,每一個階段都是相對獨立的,軟件測試工作也因此需要在初步完成階段進行,以便及時發(fā)現(xiàn)、處理問題。初步完成階段測試工作的內(nèi)容包括更新測試用例、追蹤處理缺陷、出具階段測試報告三個方面,完成后進入下一輪測試循環(huán)[5]。

      在上一輪代碼編寫階段,出具了覆蓋核心技術(shù)的測試用例,初步完成階段需要針對該用例進行測試,包括集成測試、確認測試、性能測試等,一般采用應(yīng)用模擬、應(yīng)用實踐兩種方式進行測試,應(yīng)用模擬主要通過參數(shù)代入法在計算機環(huán)境下直接進行,由于工作狀態(tài)為理想狀態(tài),因此不考慮誤差影響,對所獲數(shù)據(jù)進行記錄,與標準參數(shù)(客戶需求)進行對比,了解誤差值和問題。應(yīng)用實踐是指將設(shè)計完成的測試用例應(yīng)用于具體工作中,根據(jù)工作情況判斷軟件的性能,記錄數(shù)據(jù),與標準參數(shù)(客戶需求)進行對比,了解設(shè)計上的問題和誤差等。

      6 軟件測試在運行維護過程中的應(yīng)用

      在軟件投入運行后,測試工作并不能立即停止,由于很多軟件問題在測試階段并不會完全暴露,如果投入運行后聽之任之,很可能導(dǎo)致問題集中出現(xiàn),客戶的滿意度、軟件開發(fā)的成效也就無從談起了。較為典型的問題比如軟件漏洞,部分軟件在測試時環(huán)境相對理想,但在應(yīng)用中則面臨來自系統(tǒng)兼容性、木馬攻擊等方面的威脅,一旦出現(xiàn)漏洞、造成木馬侵入,軟件開發(fā)的價值會大大降低。在運行維護階段,要求軟件開發(fā)方積極與客戶進行聯(lián)絡(luò),根據(jù)用戶反映進行運維測試。

      7 結(jié)語

      通過分析軟件測試在軟件開發(fā)中的應(yīng)用,了解了相關(guān)理論內(nèi)容。軟件測試的目標與流程一般是固定的,主要目的是降低風險、修復(fù)問題、消除軟件缺陷,利用擬好的規(guī)劃、針對固定的目標進行測試和優(yōu)化。從應(yīng)用上看,軟件測試涵蓋需求分析階段、設(shè)計過程、代碼編寫階段、初步完成階段以及運行維護階段,要求工作人員在進行軟件開發(fā)的過程中嚴格遵照標準進行測試,保證軟件功能。

      猜你喜歡
      測試用例軟件測試代碼
      基于SmartUnit的安全通信系統(tǒng)單元測試用例自動生成
      基于OBE的軟件測試課程教學改革探索
      計算機教育(2020年5期)2020-07-24 08:53:20
      創(chuàng)世代碼
      動漫星空(2018年11期)2018-10-26 02:24:02
      創(chuàng)世代碼
      動漫星空(2018年2期)2018-10-26 02:11:00
      創(chuàng)世代碼
      動漫星空(2018年9期)2018-10-26 01:16:48
      創(chuàng)世代碼
      動漫星空(2018年5期)2018-10-26 01:15:02
      EXCEL和VBA實現(xiàn)軟件測試記錄管理
      電子制作(2018年16期)2018-09-26 03:27:18
      基于混合遺傳算法的回歸測試用例集最小化研究
      關(guān)于軟件測試技術(shù)應(yīng)用與發(fā)展趨勢研究
      電子測試(2017年15期)2017-12-18 07:19:20
      軟件測試工程化模型及應(yīng)用研究
      邯郸市| 哈密市| 景德镇市| 蒙自县| 神农架林区| 晋州市| 泽普县| 肥城市| 九台市| 日喀则市| 沧州市| 徐汇区| 海原县| 吉安县| 兴城市| 大埔县| 长岛县| 同德县| 湖北省| 萨迦县| 宜城市| 盘锦市| 维西| 来安县| 海南省| 南宫市| 滦平县| 壶关县| 太原市| 牟定县| 关岭| 板桥市| 靖边县| 岑溪市| 秦安县| 红桥区| 德保县| 仁寿县| 威远县| 武山县| 铁岭县|