北京軟件開發(fā)公司軟件實驗室自動測試代技術(shù)的發(fā)展,以限制過度的測試工作,并加強對敏捷開發(fā)的效率 - 一個漸進的方法來開發(fā)軟件,逐步增加了小規(guī)模的函數(shù),然后一個接一個,讓他們使用。自動測試代技術(shù)分析源代碼,并生成新的測試用例來測試詳盡的軟件。
然而,在一個敏捷開發(fā)方法,經(jīng)常,反復(fù)的修改的源代碼中有大量的結(jié)果測試用例和過度測試工作。實驗室現(xiàn)在已經(jīng)開發(fā)了自動測試生成技術(shù),可以有效地搜索源代碼中的變量的影響,其中添加了新的軟件功能的代碼段,并在本地修改,并在變量層面加入到測試的部分。在這種應(yīng)用這些技術(shù)的修訂版試用開源軟件有大約五千行源代碼,實驗室證實它是可以大幅縮短測試代碼到以前的水平的1/24日的增加。這將通過自動化測試,這是以前很難適用于敏捷開發(fā)能夠在開發(fā)效率。它也將大大減少所造成的短暫的期間反復(fù)增加的功能,從而縮短整體的開發(fā)時間的測試時間的增加。
開發(fā)背景
敏捷開發(fā)正在推進作為軟件開發(fā)方法,可以通過添加到在要求的變化和規(guī)格迅速和靈活地應(yīng)對,在很短的時間,小規(guī)模的函數(shù),然后使它們經(jīng)過另一個可用之一。實驗室正在開創(chuàng)自動測試生成技術(shù),敏捷開發(fā),它通過分析源代碼自動測試詳盡軟件的開發(fā)。
問題
當源代碼增強制成,與傳統(tǒng)的自動測試代技術(shù),可能存在先前可用的測試情況下是不能用于測試增強的情況。在這種情況下,有必要產(chǎn)生并添加一個新的測試情況。這意味著,在敏捷開發(fā),這里的修改是頻繁,加入測試用例的數(shù)量變得過多,和任務(wù),如處理測試的情況下,檢查測試結(jié)果,以及測試用例維護成為問題(圖1)。
新開發(fā)的技術(shù)
現(xiàn)在,通過有效地分析輸入變量和源代碼的訂正部分之間的關(guān)??系,從而使測試代碼可以在輸入變量電平被重用,實驗室已經(jīng)開發(fā)出自動測試代技術(shù)限制在測試的數(shù)量的增加由于源代碼的修改情況。新開發(fā)的技術(shù),具有以下特點:
1.技術(shù),在輸入變量級重用的測試代碼
通過修改只對相關(guān)的源代碼的改變的部分的輸入變量的測試代碼,實驗室已經(jīng)開發(fā)測試碼再生技術(shù),可以限制在測試用例的增加(圖2)。與以前的技術(shù)中,響應(yīng)于源代碼修改,每個測試用例不得不重新用作是,本來要加入一個新的再生試驗的情況下,或原已被替換,而所有這樣的選擇必須在要進行測試案例的水平。用這種新開發(fā)的技術(shù),作為供試碼在單個輸入變量電平改寫,所以可以有效地再生測試用例。
2.技術(shù)來有效地找到有關(guān)線的源代碼的輸入變量
識別與源代碼訂正段輸入變量需要大量的存儲器(圖3)。實驗室開發(fā)的技術(shù),可以找到相關(guān)的源代碼行,同時大大降低的存儲器使用量,通過表示相關(guān)的代碼行中的曲線路徑的輸入變量和部分地與其它線路共享這些路徑的輸入變量的源代碼。
在施加這種技術(shù)的大約5千行開源軟件修訂一個試驗中,它被示出,以減少在測試代碼到以前的水平的1/24日的增加。有了這項技術(shù),就可以使用自動測試 -generation技術(shù),敏捷開發(fā),縮短開發(fā)時間。