• 
    

    
    

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

      軟件測試與提升產(chǎn)品質(zhì)量的思考

      2018-07-17 09:28:12馮濟舟劉洪喜
      航天標(biāo)準(zhǔn)化 2018年2期
      關(guān)鍵詞:正確性軟件測試代碼

      馮濟舟 劉洪喜

      (1中國電子科技集團公司第三十八研究所;2空裝駐安徽地區(qū)軍代表室,安徽合肥,230088)

      隨著軟件規(guī)模和復(fù)雜程度的不斷提高,軟件測試技術(shù)也在不斷發(fā)展,軟件在各個領(lǐng)域的應(yīng)用比重不斷加大的情況下,對于保障軟件質(zhì)量的軟件測試也提出了更高的要求。目前,國內(nèi)的軟件測評能力建設(shè)經(jīng)歷了CMMI(能力成熟度模型集成)體系認(rèn)證、國家實驗室 (CNAS)認(rèn)證和國防科技工業(yè)實驗室認(rèn)可 (DILAC)。測評實驗室已發(fā)展成為具有規(guī)范過程管理、具備一定測試能力及測試資質(zhì)的軟件質(zhì)量保障機構(gòu)。如何發(fā)揮軟件測評的優(yōu)勢,將軟件測評與產(chǎn)品的軟件研發(fā)過程緊密結(jié)合起來,提升產(chǎn)品質(zhì)量,筆者就這方面的內(nèi)容談?wù)効捶ā?/p>

      1 軟件測試與產(chǎn)品質(zhì)量保障

      軟件系統(tǒng)的組成結(jié)構(gòu)如圖1所示。語句是系統(tǒng)組成的最基本單元,多個語句集成完成特定目標(biāo)的函數(shù),多個函數(shù)集成完成指定功能的部件,多個部件集成完成具有獨立配置管理一組功能的軟件配置項,而多個軟件配置項組成功能完整的系統(tǒng)。代碼審查、靜態(tài)分析的檢測可以消除編碼不規(guī)范、變量未定義即使用、內(nèi)存泄漏、數(shù)組越界、未初始化等可能造成系統(tǒng)運行不穩(wěn)定的缺陷;單元測試、集成測試可以消除所設(shè)計的軟件不滿足設(shè)計需求的缺陷;人工代碼走查可以消除軟件設(shè)計的邏輯缺陷;軟件配置項測試可以消除軟件不滿足軟件配置項需求的缺陷;系統(tǒng)測試可以消除軟件不滿足系統(tǒng)/子系統(tǒng)需求的缺陷。

      因此,在軟件系統(tǒng)的不同階段,代碼審查和靜態(tài)分析保障了軟件最基本單元語句級別編寫的正確性和一致性;單元測試保障了由多條語句組成的軟件函數(shù)級別編寫的正確性和一致性;集成測試保障了由多個函數(shù)組成的軟件部件級別編寫的正確性和一致性;軟件配置項測試保障了由多個部件組成的軟件配置項級別編寫的正確性和一致性;軟件系統(tǒng)測試保障了所有軟件配置項組成的軟件系統(tǒng)編寫的正確性和一致性。以此自底向上逐層驗收、確認(rèn),從而確保了整個系統(tǒng)的質(zhì)量。

      以軟件開發(fā)過程為對象,建立軟件測試對軟件開發(fā)過程各階段工作的質(zhì)量保障。其過程及對應(yīng)關(guān)系如圖2所示。

      圖1 軟件系統(tǒng)組成結(jié)構(gòu)模型圖

      圖2 U型軟件測試過程模型圖

      圖1從軟件產(chǎn)品構(gòu)成的角度,通過建立軟件系統(tǒng)的構(gòu)成樹,來闡述軟件測試對于保障軟件系統(tǒng)構(gòu)成樹中各節(jié)點驗證與確認(rèn)的手段與方法,以說明軟件測試對于構(gòu)成軟件系統(tǒng)各個組成要素的保障。圖2從軟件開發(fā)過程的角度,通過建立與軟件開發(fā)各過程活動對應(yīng)的各軟件測試活動模型,闡述軟件測試對于軟件開發(fā)過程各活動的驗證與確認(rèn),以說明軟件測試對于軟件開發(fā)過程各活動的質(zhì)量保障。其中軟件開發(fā)過程由系統(tǒng)/子系統(tǒng)需求分析為開始,以編碼實現(xiàn)為終止。而編碼活動的結(jié)束即完成了對圖1軟件系統(tǒng)的構(gòu)建,代碼審查和靜態(tài)分析對圖2中編碼結(jié)果即圖1中語句級別與編碼規(guī)范的一致性進行驗證;單元測試按照圖2中詳細設(shè)計結(jié)果即詳細設(shè)計文檔,驗證圖1中函數(shù)與詳細設(shè)計文檔的一致性;集成測試按照圖2中概要設(shè)計結(jié)果即概要設(shè)計文檔,驗證圖1中部件與概要設(shè)計文檔的一致性;軟件配置項測試按照圖2中軟件配置項需求結(jié)果即軟件需求規(guī)格說明,驗證圖1中軟件配置項與軟件需求規(guī)格說明文檔的一致性;系統(tǒng)測試按照圖2中系統(tǒng)/子系統(tǒng)需求結(jié)果即系統(tǒng)子系統(tǒng)規(guī)格說明,驗證圖1中系統(tǒng)與系統(tǒng)/子系統(tǒng)規(guī)格說明文檔的一致性。

      2 軟件測試過程中的薄弱環(huán)節(jié)

      然而經(jīng)過這么細致的驗證與確認(rèn),軟件在交付使用后仍然會暴露出很多問題,有的甚至可以導(dǎo)致軟件崩潰。根據(jù)實踐經(jīng)驗,軟件測試過程中仍然存在著以下幾個薄弱環(huán)節(jié)。

      a)軟件測試工作不到位。由于缺乏有效的手段對軟件測試工作進行監(jiān)控與評價,導(dǎo)致軟件測試工作有時只是走走過場,很難著實有效地開展工作。

      b)軟件開發(fā)文檔編寫不到位。軟件開發(fā)文檔由需求到設(shè)計層層遞進,并可以上下追溯。而現(xiàn)在編寫的軟件開發(fā)文檔,都是人工填寫的追溯信息,缺少必然的邏輯關(guān)系,勢必會造成軟件設(shè)計或者需求的冗余、缺失甚至不合理。

      c)編碼質(zhì)量分析的不到位。編碼質(zhì)量的分析直接影響到軟件系統(tǒng)的可靠性和穩(wěn)定性,然而這些問題的暴露無法通過任何一種動態(tài)測試方法捕獲。比如就內(nèi)存泄漏來說,會造成系統(tǒng)運行很長一段時間后崩潰,但這又無法定位到任何動態(tài)問題上來。

      d)軟件一致性檢查不到位。對于軟件一致性檢查,即文檔與編碼實現(xiàn)的一致性,只是比對文檔中提到的內(nèi)容,在軟件中是否實現(xiàn)了。但是沒有對所有代碼都查明是否有確切的文檔出處和要求,造成測試事項的遺漏,導(dǎo)致測試未覆蓋代碼的不可控。

      e)測試方法不到位。軟件測試按照標(biāo)準(zhǔn)的要求 (如能力成熟度模型集成體系認(rèn)證、國家實驗室認(rèn)證和國防科技工業(yè)實驗室認(rèn)可關(guān)于測試管理和測試能力)只是站在用戶角度對軟件代碼與文檔的一致性檢查,缺乏站在開發(fā)人員角度對系統(tǒng)的正確性、穩(wěn)定性、可靠性和效果給予必要的驗證與確認(rèn)。

      3 發(fā)揮軟件測試對提升產(chǎn)品質(zhì)量的作用

      標(biāo)準(zhǔn)只是對測評工作的基本要求,然而以標(biāo)準(zhǔn)為基礎(chǔ)又可以賦予我們豐富的想像空間,除了做到以上標(biāo)準(zhǔn) (CMMI體系認(rèn)證、CNAS和DILAC關(guān)于測試管理和測試能力)提出的基本要求之外,軟件測試還需加強以下9個方面工作。

      a)加強軟件各測試驗收階段的評審工作,以確保測試工作的有效性。

      b)加強軟件文檔審查分析能力。采用逆向工程的方法,將下一層次文檔的功能描述進行整合,觀察是否可以還原上一層次文檔的需求,從而可以判斷出功能分解中是否有冗余的、缺少的或者不合理的,以提高軟件的設(shè)計質(zhì)量。

      c)熟悉靜態(tài)分析、代碼審查工具的特性,熟練掌握測試工具的使用方法。從而可以在有限的時間內(nèi)更好、更多、更準(zhǔn)確地發(fā)現(xiàn)軟件代碼的規(guī)范問題,排除動態(tài)測試無法發(fā)現(xiàn)的可能給系統(tǒng)帶來不穩(wěn)定因素的軟件隱患。

      d)加強軟件源代碼與軟件設(shè)計文檔的一致性檢查。杜絕設(shè)計的功能未實現(xiàn),實現(xiàn)的功能未設(shè)計,達到文實一致,每段代碼的實現(xiàn)都有證據(jù)可依??梢栽鰪娷浖_發(fā)的規(guī)范性,也減少軟件蔓延或鍍金給系統(tǒng)帶來的不穩(wěn)定因素。

      e)打破常規(guī)的測試思想。不僅要按需求逐條進行驗證,也要根據(jù)經(jīng)驗采用猜錯的方法驗證軟件是否實現(xiàn)了需求沒有要求的功能,往往這些額外的功能輕則影響系統(tǒng)的處理性能和帶寬,重則可能導(dǎo)致系統(tǒng)的崩潰。

      f)注重軟件故障樹的建立。軟件問題往往具有蝴蝶效應(yīng),一個小小語句的失誤就有可能造成重大的損失。建立軟件故障樹,通過展示小缺陷可能導(dǎo)致的重大危害,可以提高人們對細小問題的認(rèn)識,對軟件問題的及時排除具有極大意義。

      g)注重仿真數(shù)據(jù)及實裝數(shù)據(jù)的積累。通過使用積累的仿真數(shù)據(jù)和實裝數(shù)據(jù),不僅可以模擬特殊環(huán)境下驗證軟件的處理能力,而且有助于通過這些已知的數(shù)據(jù)來判斷軟件處理結(jié)果的正確性,提升在專業(yè)領(lǐng)域測試的權(quán)威性。

      h)建立具有專業(yè)領(lǐng)域測試特征的軟件配置項測試工具和系統(tǒng)測試工具。對于目前行業(yè)的動態(tài)測試工具來說,由于其考慮了不同領(lǐng)域行業(yè)使用的兼容性,導(dǎo)致測試具體領(lǐng)域軟件項目的不便,不僅配置復(fù)雜,而且具有具體行業(yè)測試特征所亟需的功能并未提供。針對此種現(xiàn)象可以結(jié)合企業(yè)軟件測試的特點,自己編寫測試工具用于實現(xiàn)軟件自動化測試執(zhí)行、文檔生成、測試數(shù)據(jù)生成,提高測試的執(zhí)行效率和有效性。

      i)加強對軟件算法時間復(fù)雜度和空間復(fù)雜度評價。計算軟件算法的時間復(fù)雜度和空間復(fù)雜度,不僅有助于了解軟件算法實現(xiàn)的正誤,更可以優(yōu)化軟件算法,提升算法執(zhí)行效率,從而大大提升系統(tǒng)的穩(wěn)定性和可靠性。

      猜你喜歡
      正確性軟件測試代碼
      基于OBE的軟件測試課程教學(xué)改革探索
      計算機教育(2020年5期)2020-07-24 08:53:20
      一種基于系統(tǒng)穩(wěn)定性和正確性的定位導(dǎo)航方法研究
      創(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
      淺談如何提高水質(zhì)檢測結(jié)果準(zhǔn)確性
      軟件測試工程化模型及應(yīng)用研究
      迁西县| 千阳县| 贺兰县| 永城市| 开鲁县| 汶川县| 杭州市| 获嘉县| 互助| 延安市| 行唐县| 金门县| 苍南县| 礼泉县| 济阳县| 阳曲县| 宁武县| 乐安县| 建湖县| 惠州市| 太康县| 庄河市| 多伦县| 库伦旗| 赫章县| 卢湾区| 德昌县| 玉林市| 开远市| 青河县| 灵寿县| 富宁县| 锡林郭勒盟| 九江市| 武夷山市| 东兴市| 化德县| 海阳市| 密山市| 恩施市| 公安县|