• 
    

    
    

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

      ?

      模糊控制在軟件測試上的應用研究

      2019-11-19 06:24:36劉夢琪彭輝水黃旺中車株洲電力機車研究所有限公司
      數碼世界 2019年11期
      關鍵詞:測試工具測試數據軟件測試

      劉夢琪 彭輝水 黃旺 中車株洲電力機車研究所有限公司

      1 模糊控制算法

      1.1 模糊控制算法的基本原理

      模糊控制的特點是適用范圍廣且對時變負載具有一定的魯棒性,它不依賴于被控對象的數學模型,適用于非線性系統(tǒng)的控制中。

      模糊控制基本原理主要包括如下四部分:

      (1)模糊化。簡單來說就是將清晰量轉化為模糊集,根據一定的轉換規(guī)則,將選定的模糊控制輸入轉換為系統(tǒng)能夠識別的模糊量,具體包括以下三步:

      第一,對輸入進行處理,使其滿足模糊控制的要求;

      第二,將第一步處理后的輸入進行尺度變換;

      第三,確定各輸入的模糊語言取值及對應隸屬度函數。

      (2)規(guī)則庫。模糊規(guī)則庫的作用是存放全部控制規(guī)則,為下一步的模糊推理提供語言控制規(guī)則。這些規(guī)則通過專家知識和使用人員經驗總結得出,是一種根據人的直覺推理的語言表達形式。

      (3)模糊推理。主要實現基于模糊規(guī)則和推理合成規(guī)則,從輸入到輸出模糊集的映射,這是模糊邏輯控制器的核心,它將基于模糊概念和推理模糊控制作用,應用模糊關系和推理規(guī)則模仿人類做出決定。

      (4)解模糊。主要是將推理得到的控制量轉化為最終的輸出。

      2 模糊控制算法在軟件測試領域中的應用

      2.1 模糊測試研究現狀

      模糊測試是一種自動化或半自動化的漏洞挖掘技術,多用于安全性測試,通過將非預期的數據插入目標軟件程序的輸入中,并監(jiān)測目標程序的異常以識別未知的軟件漏洞。模糊測試方法通常分為3 種:白盒,用于測試源代碼或反匯編代碼;黑盒,則無需審查源代碼;以及灰盒,與黑盒相近,但將先前得到的結果數據作為反饋。模糊測試可以通過事先對目標程序進行研究,將得到的經驗和知識轉化為更高效的模糊器(Fuzzer)。它充分利用了機器隨機生成和發(fā)送數據的能力,同時試圖引入使用人員的相關經驗。

      模糊測試會根據各種因素如目標系統(tǒng)、需要測試的數據格式等的不同而使用不同的方法,但模糊測試的過程基本由以下幾個步驟組成:

      (1)確定測試對象和輸入向量

      不確定目標程序則無法決定決定具體的模糊測試工具或方法。從安全角度考慮,被利用的漏洞幾乎都是由于應用程序接收未過濾非法數據或校驗確認的用戶輸入所引起的。無法定位輸入源將對模糊測試產生嚴重影響,因此確定輸入向量集對模糊測試而言至關重要。目標程序能夠接收的數據都屬于輸入向量,包括文件、環(huán)境變量和命令行參數等,這些都是可能的模糊測試變量。

      (2)生成模糊測試數據。確定輸入向量后,可以生成模糊測試數據。在實際測試中,會根據目標程序的不同,選擇對應的測試數據生成方式,可以采用對數據樣本進行變異或根據協議動態(tài)生成等方式,自動化生成大量的模糊測試數據。

      (3)執(zhí)行模糊測試數據。這一步與上一步生成模糊測試數據同時進行,也需要使用自動化的工具來執(zhí)行,執(zhí)行過程一般包括啟動目標程序、發(fā)送測試數據到目標程序等。

      圖2 典型的模糊測試流程

      (4)監(jiān)測異常。在模糊測試過程中,如果失去了對異常的監(jiān)測,最終即使確定出現異常,也無法判斷異常產生的原因,追蹤引發(fā)目標程序異常的源測試數據。監(jiān)測方式不必依賴目標應用程序和模糊測試方法。

      (5)確定可利用性。雖然該步驟不屬于模糊測試的必要流程,但根據軟件測試的最終目的,監(jiān)測到異常后,需要確定所發(fā)現的異常能否被進一步利用。不管采用什么類型的模糊測試,該步驟一般由具備豐富的安全領域專業(yè)知識和相關的經驗的人員手動完成。

      除了確定可利用性外,在模糊測試中,都應該考慮到上述其他階段。各階段的順序和側重點會根據測試人員的最終目標而不同。盡管模糊測試功能強大,但不說明它能發(fā)現目標軟件中所有的錯誤。

      一個典型的模糊測試的流程如圖1 所示:

      模糊測試的執(zhí)行過程可以簡單描述為:通過隨機或半隨機的方式生成輸入數據;將數據輸入目標程序;檢測被測系統(tǒng)的狀態(tài)是否正常;監(jiān)控目標程序的狀態(tài)判斷是否存在漏洞。

      3 模糊控制算法在測試領域的發(fā)展展望

      (1) 模糊測試與云計算

      9 年前一篇研究文章中提出了“云端模糊測試將徹底改變安全測試”,模糊測試軟件可利用大量可用基礎設施并行執(zhí)行不同測試,因此模糊測試十分適用于云計算,將安全測試托管在云端,簡化了從每個應用收集信息、推送更新、驅動未來開發(fā)改進的過程,也減少了人力物力的投入,甚至可以依靠自動向代碼提交不良輸入來發(fā)現軟件漏洞。

      (2)模糊測試與神經網絡

      因為人工智能的不斷發(fā)展,神經網絡可以令模糊測試工具變得更加高效。模糊測試工具可以通過持續(xù)的模糊測試訓練,學習模糊測試變異的類型或要應用的策略等。為了具備足夠的訓練數據,產生足夠的模式,運用大量的輸入-輸出樣本矢量對對模糊測試工具進行訓練。在發(fā)現漏洞之后,通過神經網絡確認漏洞是否值得利用,以及是否會被利用。模糊測試本身采用傳統(tǒng)自動化方法加人工監(jiān)督的方式進行。

      (3)模糊控制用于自動化測試判據

      伴隨著模糊控制技術的發(fā)展和完善,模糊測試在測試用例的需求被不斷滿足,但從軟件測試的流程來看,測試用例僅僅只測試流程的一部分,還有一個重要的項點是測試結果。一般而言,可以根據需求中給定的范圍判斷測試結果是否通過。但在一些情況下,尤其是處于邊界情況時,更多的需要測試人員與設計人員進行溝通,人為確定結論。同時,當結果有特殊波動,但總體或平均值仍在允許范圍內時,也存在判斷失誤的可能性。在測試結論上如果能帶入模糊控制理論,配合神經網絡算法模型,能更好地改善因邊界點等問題所造成的測試判據有誤的情況。

      (4)模糊測試結合其他安全方法

      模糊測試技術在未來有可能會結合其他多種軟件漏洞發(fā)掘分析方法。例如當模糊測試無法確保足夠的代碼覆蓋時,可以考慮將代碼審查同模糊測試相結合,把代碼覆蓋作為一種度量手段來確定模糊測試的完成程度。還可以考慮另一種混合分析的方法。首先對源代碼進行自動化評審,這種典型的白盒測試通常會發(fā)現大量的潛在的漏洞,但是可能產生誤報,因為它在運行時不能確認結果的最終形式。這時可以利用靜態(tài)掃描的結果來幫助生成模糊測試用例,協助在動態(tài)模糊測試階段中證明或反駁那些潛在的漏洞。

      4 結語

      本文對模糊控制的發(fā)展歷程進行了簡要的介紹,并在此基礎上分析了模糊測試的研究現狀與典型應用,同時展望了未來模糊控制在測試上的發(fā)展方向。模糊測試概念的提出已經有些年頭了,也得到了一定的重視與發(fā)展。但其執(zhí)行相當困難,很難擁有合適的資源,對一般的公司企業(yè)沒有太大吸引力。人工智能(AI)或神經網絡逐步進入傳統(tǒng)模糊測試技術,造就了查找目標程序或系統(tǒng)漏洞的強大工具,企業(yè)和軟件供應商可以通過模糊測試更容易地找出系統(tǒng)中的潛在可利用漏洞。通過深入研究,模糊測試技術極有可能成為未來混合型軟件測試中一個重要的組成部分。

      猜你喜歡
      測試工具測試數據軟件測試
      邊緣智力兒童及其智力測試工具的研究進展
      基于OBE的軟件測試課程教學改革探索
      計算機教育(2020年5期)2020-07-24 08:53:20
      測試數據管理系統(tǒng)設計與實現
      Http并發(fā)連接測試工具
      EXCEL和VBA實現軟件測試記錄管理
      電子制作(2018年16期)2018-09-26 03:27:18
      關于軟件測試技術應用與發(fā)展趨勢研究
      電子測試(2017年15期)2017-12-18 07:19:20
      基于自適應粒子群優(yōu)化算法的測試數據擴增方法
      計算機應用(2016年9期)2016-11-01 17:57:12
      軟件測試工程化模型及應用研究
      空間co-location挖掘模式在學生體能測試數據中的應用
      體育科技(2016年2期)2016-02-28 17:06:21
      福祿克推出先進的連接式測試工具系統(tǒng)
      冀州市| 合肥市| 葵青区| 渑池县| 内乡县| 新安县| 东源县| 尼玛县| 磴口县| 日土县| 明溪县| 错那县| 镇江市| 财经| 赣榆县| 师宗县| 吉林市| 恩施市| 朝阳市| 临澧县| 扬州市| 桐城市| 怀集县| 宿迁市| 介休市| 丽水市| 新邵县| 巴南区| 平利县| 阿坝| 静乐县| 乌拉特后旗| 抚远县| 卢湾区| 苏州市| 宝应县| 竹北市| 吉木乃县| 玛沁县| 渭源县| 广汉市|