張濤 王燕歌
摘 要:軟件測試是一個需要通過軟件測試師編寫測試用例來檢測軟件是否存在漏洞和是否滿足用戶需求的過程。隨著時代的發(fā)展,越來越多的人工智能產品進入市場,大量的云計算技術應用增加了軟件測試技術的難度,傳統(tǒng)的測試已經不能滿足需求。因此將人工智能引入軟件測試技術中,能夠促進我國軟件測試技術領域的發(fā)展。
關鍵詞:航天軟件;軟件測試;測試用例
引言
航天軟件日益復雜、回歸程度不斷提高以及對指標的要求不斷增加,使得軟件測試的質量對于確保航天事業(yè)至關重要。本文結合自己的程序,對航空航天軟件的測試方法進行了分類,制定了航空航天軟件測試的四階段方法,解決了航空航天軟件測試方法中的典型問題。
1.人工智能軟件的特點
人工智能比傳統(tǒng)軟件更智能,對組織具有一定的學習和適應性。因此,人工智能比傳統(tǒng)軟件對環(huán)境的影響更大,尤其是在硬件環(huán)境中。良好的操作環(huán)境可確保人工智能更好地發(fā)揮其作用。雖然對操作環(huán)境的要求很高,但人工智能使用數(shù)據(jù)更合適,因為它協(xié)調了系統(tǒng)或組織之間的數(shù)據(jù)交互,并加快了信息處理速度。此外,人類互動的人工智能要容易得多。人工智能具有自身的學習能力,使您能夠收集和利用有關控制策略、環(huán)境和受控對象的知識。此外,人工智能在某些條件下特別具有容錯能力。此外,數(shù)據(jù)的收集、傳輸和轉發(fā)非常安全。人工智能的最后一個特點是易于維護,因為它的模塊化和重用使其更易于維護。
2.航天軟件測試方法的分類
由于航天軟件需要高度可靠、安全和實時運行,因此航天軟件必須比傳統(tǒng)軟件更加嚴格。航天試驗方法分為兩大類:靜態(tài)和動態(tài)試驗。靜態(tài)測試是一種無需運行源程序即可識別軟件錯誤和評估代碼的測試方法。靜態(tài)測試可以手動執(zhí)行,也可以使用工具執(zhí)行。依賴手動任務的靜態(tài)測試包括代碼檢查、代碼檢查和文檔監(jiān)視。基于工具的靜態(tài)測試也稱為靜態(tài)分析。它主要通過自動化工具(如ldratestbed、QAC、C++test)執(zhí)行靜態(tài)分析,以檢查軟件的程序規(guī)格、控制流、數(shù)據(jù)流和軟件度量。由于航空航天軟件的編程語言是針對C/C++的,因此主要參考C/C++編程語言的安全子集。動態(tài)測試以源代碼是否依賴為基礎,分為黑盒子測試和白盒子測試兩大類。黑盒測試被認為是未打開的黑盒,無論程序的內部結構如何。該軟件主要測試用戶界面和軟件功能,包括以下六種方法:等效分類、邊界價值分析、決策、因果關系鏈、情景和誤判。白盒子測試將要打開的軟件視為白色場,測試用例主要是根據(jù)程序的控制結構導出的,以驗證程序的每個通道是否按預期工作。電路板測試主要測量測試角和數(shù)據(jù)選擇。它可以分為語句復蓋、質量復蓋、條件替代、確定/條件替代、集/條件替代更正、條件組合替代和路徑替代。七種邏輯復蓋方法的復雜性不斷增加,相應的復蓋逐漸增加。通常,在測試空間方案時,必須達到語句的保險費率、確定和更改費率和條件保險費率時的保險費率或目標保險費率的100%。
3.航天軟件測試技術框架
3.1提高軟件測試的可靠性
傳統(tǒng)軟件測試往往會出現(xiàn)測試覆蓋不足的情況,特別是在功能越發(fā)復雜的情況下。功能越復雜所牽扯的數(shù)據(jù)就越多,而人工測試精力有限,很難察覺一些小漏洞,因此軟件上市后會存在很大的隱患,導致測試覆蓋率與實際覆蓋率之間的差距越來越大。人工智能的加入很好地解決了這個問題。因為人工智能有大量的測試數(shù)據(jù),并且具有自主學習的能力,結合云計算功能在短時間內就可以編寫和執(zhí)行大量的測試用例。
3.2測試數(shù)據(jù)
不一定要提取測試數(shù)據(jù)。整個軟件測試過程包括輸入準備的測試數(shù)據(jù)、執(zhí)行整個軟件過程、輸出數(shù)據(jù)以及通過輸出數(shù)據(jù)識別軟件性能。因此,需要輸入大量測試數(shù)據(jù)以滿足行業(yè)軟件測試要求,這是軟件測試的第一步,也是自動化軟件測試環(huán)境不會跳過的一步。但是,該平臺所需和查找的數(shù)據(jù)不是常規(guī)測試數(shù)據(jù),而是根據(jù)幾種不同的方案進行篩選,以復蓋所有I/o方案。這些是自動化軟件測試平臺所需的測試數(shù)據(jù),可以根據(jù)其在軟件中的功能對其進行排序,并針對未來的自動化軟件測試進行優(yōu)化。
3.3使用智能方法創(chuàng)建自動化云計算測試環(huán)境
近年來,大量數(shù)據(jù)的發(fā)展推動了信息技術的巨大進步,云計算和人工智能是兩項最突出的技術。同時,大量軟件操作系統(tǒng)的生成推動了軟件測試技術的發(fā)展。智能技術在軟件測試系統(tǒng)中的功能由兩個主要領域組成:它使數(shù)據(jù)檢測具有合法性和規(guī)范性。*全面審查數(shù)據(jù)輸出實例。眾所周知,大量數(shù)據(jù)的不斷擴散彌補了不同I/o流之間的差異,這不僅允許數(shù)據(jù)之間的變化,而且有助于軟件測試技術的快速增長。智能的基于云的技術為軟件測試創(chuàng)建了良好的測試環(huán)境,使測試人員既能提高效率,又能專注于軟件測試程序的編程。這將創(chuàng)建一個擴展和減少測試風險的環(huán)境,從而大大降低測試風險并提高測試效率。因此,當前的軟件測試技術主要用于性能分析和緊急處理,從而產生更準確、更高效的軟件測試數(shù)據(jù)。
3.4相關工具庫
與各種軟件測試工具不同,自動化軟件測試平臺擁有足以測試軟件的數(shù)據(jù)庫。數(shù)據(jù)流、行為參數(shù)和測試數(shù)據(jù)對于軟件測試的自動化至關重要。因此,通過全面測試和篩選,該平臺可以構建功能強大的數(shù)據(jù)庫、行為參數(shù)庫和測試數(shù)據(jù)庫,這些數(shù)據(jù)庫經過精心篩選,具有較高的代表性和價值。它們一起構成了一個強大的平臺庫。該平臺還可以連接到行業(yè)內的大型數(shù)據(jù)流,以使刀具庫保持最新狀態(tài),從而使“刀”能夠更快地磨碎。此外,以SQL語言為基礎的MySQL資料庫還提供開放原始碼性質,可提供高度穩(wěn)定性和輕松維護。
結束語
為了更好地保障航天軟件測試的質量,本文將理論和自身的測試經驗相結合,總結歸納了航天軟件的特點和測試要求,對測試方法進行分類,并提出了航天軟件測試的四步走方案,同時提出了航天軟件測試中的典型問題并給出了解決辦法,以服務航天,服務測試。
參考文獻:
[1]梁利亭.云計算的計算機軟件測試技術分析[J].現(xiàn)代信息科技,2019,3(23):69-70+73.
[2]丁志勇.探討大數(shù)據(jù)視域下軟件測試技術的發(fā)展[J].電子世界,2019(20):92-93.
[3]李倩.軟件測試技術探討[J].湖北農機化,2019(19):70.
(1.航天東方紅衛(wèi)星有限公司,北京 100094;2.中國科學院信息工程研究所,北京 100093)