自動化測試嵌入式軟件的方法
【專利摘要】本發(fā)明提出一種自動化測試嵌入式軟件的方法,旨在提供一種設(shè)計與執(zhí)行不再分離,能有效提高嵌入式軟件測試效率和質(zhì)量的方法。本發(fā)明通過下述技術(shù)方案予以實現(xiàn):運用軟件工程化將接口設(shè)計、測試策劃、測試設(shè)計、測試執(zhí)行、缺陷管理和回歸測試集成到一個統(tǒng)一平臺進行管理。根據(jù)項目不同,配置數(shù)據(jù)元和數(shù)據(jù)塊之間的級數(shù),設(shè)計接口控制文件;建立測試交聯(lián)環(huán)境圖,制定測試類型,設(shè)計測試項或測試子項,測試用例名稱以及測試用例描述;設(shè)計獨立測試用例,并將獨立測試用例通過流程圖聯(lián)系在一起組成場景/業(yè)務(wù)流測試用例,測試設(shè)計的數(shù)據(jù)存入到數(shù)據(jù)庫里;測試執(zhí)行結(jié)合測試環(huán)境圖、測試用例和接口路由,共同組成測試平臺;測試結(jié)果由系統(tǒng)自動記錄。
【專利說明】自動化測試嵌入式軟件的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及嵌入式軟件測試技術(shù),尤其是涉及一種嵌入式軟件的自動化測試及管理方法。
【背景技術(shù)】
[0002]隨著嵌入式技術(shù)的普及和發(fā)展,嵌入式應(yīng)用日益走向縱深,嵌入式軟件的開發(fā)規(guī)模也日益擴大,與之對應(yīng)的嵌入式軟件復(fù)雜程度也越來越高。由于嵌入式軟件往往直接或間接控制一些硬件,與硬件設(shè)備組成一個系統(tǒng),在實際環(huán)境下如果嵌入式軟件出現(xiàn)錯誤,可能使其控制的硬件設(shè)備處于異常狀態(tài),如果軟件控制的是安全關(guān)鍵設(shè)備,其軟件故障將對整個系統(tǒng)造成無法彌補的損失,甚至危及人生和財產(chǎn)安全。嵌入式系統(tǒng)的特殊性決定了運行在其上的系統(tǒng)和應(yīng)用軟件必須精簡高效,穩(wěn)定可靠,使得軟件的開發(fā)在整個嵌入式系統(tǒng)開發(fā)中的比重越來越高,軟件的質(zhì)量對整個產(chǎn)品的質(zhì)量起到了決定性的作用。
[0003]軟件測試是根據(jù)軟件開發(fā)階段的規(guī)格說明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計一批測試用例(Test Case,即輸入數(shù)據(jù)和預(yù)期的輸出結(jié)果),并利用這些測試用例去運行程序,以發(fā)現(xiàn)錯誤的過程。軟件測試是軟件質(zhì)量保證的關(guān)鍵步驟,是軟件生命周期的重要環(huán)節(jié),是軟件工程研究領(lǐng)域的重要內(nèi)容。軟件測試的有效開展對于提高軟件質(zhì)量至關(guān)重要。隨著嵌入式系統(tǒng)復(fù)雜程度越來越高,嵌入式軟件的測試正面臨前所未有的挑戰(zhàn)。大多數(shù)軟件測試方法和工具都可以直接或間接地用于嵌入式軟件的測試,但是由于嵌入式系統(tǒng)的自身特點,如實時性、內(nèi)存不豐富、I/O通道少、開發(fā)工具昂貴、與硬件緊密相關(guān)、CPU種類繁多等等,嵌入式軟件的開發(fā)和測試策略也就與一般商用軟件的開發(fā)和測試策略有了很大的不同。嵌入式軟件與其他軟件相比,它具有專用性,它只能在需求所指定的硬件平臺上運行。并且嵌入式軟件的開發(fā)環(huán)境和運行環(huán)境是不一致的,因此即使宿主機環(huán)境下測試再充分,也不能說明在目標(biāo)機環(huán)境下運行該軟件就不出問題。因而,嵌入式軟件還面臨著目標(biāo)環(huán)境的測試。這不僅增加了測試的代價,而且還帶來了嵌入式軟件的測試策略問題。
[0004]對于嵌入式軟件的配置項測試和系統(tǒng)測試,其被測軟件運行在真實的目標(biāo)環(huán)境下,交聯(lián)的配測設(shè)備是實物或仿真環(huán)境,通過輸入真實或模擬的激勵,測試軟件在目標(biāo)環(huán)境下的響應(yīng),對于了解軟件的真實運行,對于提高軟件的質(zhì)量至關(guān)重要。目前,嵌入式軟件配置項測試和系統(tǒng)測試,測試手段大多是手工編寫測試用例,手動執(zhí)行測試用例,再人工記錄測試結(jié)果。被測軟件的測試輸入,往往依賴于開發(fā)設(shè)計的配測模擬器,而在項目時間緊張沒有配測模擬器時,只能使用串口調(diào)試助手等調(diào)試工具模擬輸入報文,如此需要對照ICD設(shè)計二進制或十六進制的測試輸入數(shù)據(jù),很不直觀,接收到的輸出數(shù)據(jù)也是二進制或十六進制的報文,還需對照ICD去逐個手動解析,不便于觀察。對于交聯(lián)環(huán)境復(fù)雜的軟件測試,還需要針對不同模塊不同接口,在不同的主機之間來回切換,不便于操作。當(dāng)軟件中所含缺陷被發(fā)現(xiàn)時,如果缺陷跟蹤與管理系統(tǒng)不夠完善,就可能會遺漏對這些缺陷的修改;而開發(fā)者對缺陷的理解不夠透徹,也可能導(dǎo)致所做的修改只修正了缺陷的外在表現(xiàn),而沒有修復(fù)缺陷本身,從而造成修改失敗。修改還有可能產(chǎn)生副作用,從而導(dǎo)致軟件未被修改的部分產(chǎn)生新的問題,使本來工作正常的功能產(chǎn)生錯誤。同樣,在有新代碼加入軟件的時候,除了新加入的代碼中有可能含有缺陷外,新代碼還有可能對原有的代碼帶來影響。因此,每當(dāng)軟件發(fā)生變化時,就必須重新測試現(xiàn)有的功能,以便確定修改是否達到了預(yù)期的目的,檢查修改是否損害了原有的正常功能。同時,還需要補充新的測試用例來測試新的或被修改了的功能。這就是軟件的回歸測試Regress1n Test?;貧w測試作為軟件生命周期的一個組成部分,在整個軟件測試過程中占有很大的工作量比重。對于接口較為復(fù)雜的軟件,構(gòu)造測試輸入數(shù)據(jù)在執(zhí)行測試過程中需要花費很多時間,而這些測試數(shù)據(jù)在手動測試中難以保存,在進行回歸測試時,需要重新編輯、輸入、執(zhí)行,費時費力。隨著嵌入式系統(tǒng)的規(guī)模和復(fù)雜度急劇增加,開發(fā)周期和成本也越來越高。在軟件的開發(fā)過程中,依靠人力進行分析測試效率太低,而且不能保證軟件質(zhì)量。對于測試成果,也難以繼承和積累下來。自動化測試是使用一種自動化測試工具來驗證各種軟件測試的需求,它包括測試活動的管理與實施。自動化測試作為一種重要的軟件測試技術(shù),如果將其引入嵌入式軟件的配置項測試和系統(tǒng)測試流程中,將會對軟件的質(zhì)量、成本和周期帶來顯著的效果。
[0005]作為嵌入式軟件開發(fā)關(guān)鍵環(huán)節(jié)的測試自動化技術(shù),在研究與發(fā)展同嵌入式軟件開發(fā)的其他環(huán)節(jié)相比尤為滯后,“手工作坊式”的嵌入式軟件測試的現(xiàn)象還沒有徹底改變,不僅無法保障嵌入式軟件的質(zhì)量,而且嚴重制約了嵌入式軟件產(chǎn)業(yè)的整體發(fā)展。嵌入式軟件系統(tǒng)的復(fù)雜性也給嵌入式軟件的測試帶來了很多的困難。目前的自動化測試解決方案幾乎都是采用“錄制.回放"的技術(shù),側(cè)重對界面的測試。所謂“錄制.回放”技術(shù),就是先由手工完成一遍需要測試的流程,同時計算機記錄下這個流程,并形成特定的腳本程序。腳本是一組測試工具執(zhí)行的指令集合,也是計算機程序的一種形式。腳本可以通過錄制測試的操作產(chǎn)生,然后再做修改,但這種簡單的錄制/回放,由工具錄制并記錄操作的過程和數(shù)據(jù)形成腳本,通過回放來重復(fù)人工操作的過程。在這種模式下數(shù)據(jù)和腳本混在一起,幾乎一個測試用例對應(yīng)一個腳本,維護成本很高。而且即使界面的簡單變化也需要重新錄制,腳本可重復(fù)使用的效率低。而嵌入式的軟件界面較為簡單,甚至很多嵌入式軟件根本沒有界面。對于嵌入式軟件測試,關(guān)注更多的是不同模塊之間的數(shù)據(jù)交互、控制,以及響應(yīng)。同時,隨著嵌入式軟件應(yīng)用得越來越廣泛,嵌入式軟件之間的交互變得越來越復(fù)雜,即交聯(lián)關(guān)系更為復(fù)雜。當(dāng)前測試工具基本都是針對單機執(zhí)行設(shè)計的,很難建立多個模塊之間交互過程的業(yè)務(wù)流用例測試,而這方面的測試,卻往往是一個軟件的核心功能測試。
[0006]同時,對于嵌入式軟件測試,不管是進行二方還是三方的測試,都需要生成格式嚴謹?shù)臏y試計劃、測試說明、測試記錄和測試報告。目前通常的做法都是編寫好測試計劃、測試說明后,手動執(zhí)行測試用例,記錄測試結(jié)果,再編寫測試報告?,F(xiàn)有的測試管理工具如KTFLOW、QC可以輔助測試過程管理,但與測試執(zhí)行是分離的,即測試記錄需要手動記入,測試的效率和結(jié)果的真實性都有待提聞。
[0007]另外,目前的測試工具都沒有考慮軟件工程化的問題,在測試過程中,軟件需求和接口文檔變更后,測試人員不能在第一時間獲取到變更信息,導(dǎo)致測試工作的變更滯后,響應(yīng)較差,影響整個項目的進度。
[0008]對于嵌入式軟件,自動化測試一直沒有找到一種行之有效的方法,從而嚴重影響了軟件質(zhì)量和開發(fā)效率。整個測試過程就是耗費大量時間的重復(fù)體力操作。而且測試過程中,每次測試用例的結(jié)果都是人為作判斷的,測試用例數(shù)量往往非常多,整個測試過程下來,測試結(jié)果也會有很大的偏差,效率很低。
【發(fā)明內(nèi)容】
[0009]為了解決上述技術(shù)問題,本發(fā)明的目的是提供一種能夠快速執(zhí)行、更好地利用資源、高效地執(zhí)行測試腳本、提高測試準確度并提供規(guī)范化的測試重用性的嵌入式軟件自動化測試和測試管理的方法,該方法設(shè)計與執(zhí)行不再分離,能有效提高嵌入式軟件測試的效率和質(zhì)量。
[0010]本發(fā)明的上述目的可以通過以下措施來達到,一種自動化測試嵌入式軟件的方法,具有如下技術(shù)特征:運用軟件工程化將接口設(shè)計、測試策劃、測試設(shè)計、測試執(zhí)行、測試結(jié)果記錄、缺陷管理和回歸測試集成到一個統(tǒng)一平臺進行管理,具體包括以下步驟:
步驟1,接口設(shè)計,把接口設(shè)計的元素分為數(shù)據(jù)元、數(shù)據(jù)塊、數(shù)據(jù)組、邏輯塊、接口消息模塊幾部分,根據(jù)項目不同,配置數(shù)據(jù)元和數(shù)據(jù)塊之間的級數(shù),將設(shè)計好的接口控制文件ICD存儲在數(shù)據(jù)庫里,后臺生成標(biāo)準的XML格式文件,以供測試數(shù)據(jù)自動生成、測試數(shù)據(jù)解析和接口文檔自動生成使用;
步驟2,測試策劃,建立測試交聯(lián)環(huán)境圖,制定測試類型,設(shè)計測試項或測試子項,測試用例名稱以及測試用例描述,每個測試用例為一個測試點,并設(shè)定自動化測試系統(tǒng)支持根據(jù)不同格式的模板生成測試計劃,即測試需求分析的內(nèi)容;
步驟3,測試設(shè)計,測試設(shè)計分為三步,第一步根據(jù)ICD元素,結(jié)合邏輯關(guān)系自動生成測試數(shù)據(jù);第二步設(shè)計獨立測試用例,將本用例涉及到的ICD拖入到設(shè)計界面建立本用例的交聯(lián)框圖,并為每條ICD選取/設(shè)計對應(yīng)的測試數(shù)據(jù)和數(shù)據(jù)屬性;第三步設(shè)計關(guān)聯(lián)測試用例,測試人員可以使用場景分析法,基于場景/業(yè)務(wù)流,模仿用戶在實際使用過程中的操作,將不同的測試用例通過流程圖的方式聯(lián)系在一起,設(shè)計場景或業(yè)務(wù)流測試用例,或?qū)Σ煌臓顟B(tài)轉(zhuǎn)換進行測試。在界面設(shè)計好測試數(shù)據(jù)及數(shù)據(jù)屬性后,自動化測試系統(tǒng)自動生成測試腳本和測試步驟,步驟的描述圍繞數(shù)據(jù)的發(fā)送、接收展開,以數(shù)據(jù)為中心,格式統(tǒng)一,測試設(shè)計的數(shù)據(jù)存入到數(shù)據(jù)庫里,同時支持根據(jù)不同格式的模板生成測試說明,測試用例的描述在測試策劃時由測試人員設(shè)計,測試步驟由自動化測試系統(tǒng)自動生成;
步驟4,測試執(zhí)行,測試執(zhí)行結(jié)合測試環(huán)境圖、測試用例、接口路由,共同組成測試平臺,測試執(zhí)行分為三步,第一步為數(shù)據(jù)分發(fā),由接口路由總控端根據(jù)界面設(shè)計的測試交聯(lián)環(huán)境圖和測試用例,將測試激勵/輸入數(shù)據(jù)分發(fā)給對應(yīng)的代理端;第二步為代理端驅(qū)動接口通信模塊,將對應(yīng)的測試數(shù)據(jù)發(fā)送給被測軟件;第三步為代理端監(jiān)控被測軟件的響應(yīng),將與被測軟件交互的模塊之間的通信報文轉(zhuǎn)發(fā)給總控端進行統(tǒng)一處理;
步驟5,測試結(jié)果記錄,總控端收到代理端傳回的數(shù)據(jù)后,進行顯示并解析,同時與測試用例的預(yù)期結(jié)果報文進行比較,如果相同則判用例通過,顯示用例執(zhí)行成功Pass,如果不相同則判該用例不通過,顯示用例執(zhí)行失敗Fail,測試結(jié)果由自動化測試系統(tǒng)自動記錄,自動化測試系統(tǒng)支持根據(jù)不同格式的模板生成測試記錄;
步驟6,缺陷管理和回歸測試,對于執(zhí)行失敗Fail的測試用例,確認是被測軟件缺陷的,在對應(yīng)的測試用例后提交缺陷跟蹤單,開發(fā)人員進行缺陷修復(fù)后進行回歸測試,關(guān)閉已修改的缺陷;在回歸測試中,如果ICD沒有變更,回歸時可以復(fù)用前期設(shè)計的測試用例,并自動進行回歸測試執(zhí)行;如果ICD的數(shù)據(jù)元素發(fā)生了變化,自動化測試系統(tǒng)自動標(biāo)識出受影響的測試用例,提示測試人員對用例進行修改后再執(zhí)行回歸測試;測試用例在不同測試階段所做的修改,自動化測試系統(tǒng)會將其標(biāo)識為不同的版本存入數(shù)據(jù)庫,以追溯數(shù)據(jù)修改過程和版本管理;自動化測試系統(tǒng)支持根據(jù)不同格式的模板生成缺陷報告單;
步驟7,知識庫建立,測試結(jié)束后對測試過程進行總結(jié),將設(shè)計精巧的測試用例納入典型測試用例庫里,將發(fā)現(xiàn)的有價值的缺陷納入典型缺陷庫里,以便于后期在做類似項目的測試工作時,進行借鑒,以持續(xù)提高。
[0011]本發(fā)明的優(yōu)點和積極效果在于:
提高了工作效率。本發(fā)明利用工程化的思想,將軟件接口設(shè)計、軟件測試和缺陷管理集成在一起,資源共享,當(dāng)接口變更時,測試人員可以在第一時間了解到這些變化,從而進行測試設(shè)計修改;同時,測試人員提交缺陷跟蹤單后,開發(fā)人員也能在第一時間獲取到軟件缺陷信息,并進行修復(fù)工作,提高了工作效率。
[0012]提高了測試效率。本發(fā)明將接口設(shè)計、測試策劃、測試設(shè)計、測試執(zhí)行、測試結(jié)果記錄、缺陷管理和回歸測試集成到一個統(tǒng)一平臺進行管理,提高軟件測試的效率和質(zhì)量。在開發(fā)人員設(shè)計好接口后,可自動生成部分測試數(shù)據(jù);測試人員在界面設(shè)計好測試用例的測試數(shù)據(jù)及屬性后,自動化測試系統(tǒng)自動生成測試腳本和測試步驟;測試執(zhí)行時支持批量測試用例的執(zhí)行,可以實現(xiàn)人休息而設(shè)備不休息,白天進行測試設(shè)計晚上自動執(zhí)行測試等;對于回歸測試,只要接口數(shù)據(jù)沒有變更,就可以重用前期設(shè)計好的用例,直接自動執(zhí)行即可,解決了當(dāng)前嵌入式軟件測試的難題,使得測試人員從回歸測試的繁重工作中解脫出來。本發(fā)明將自動化技術(shù)應(yīng)用于嵌入式軟件測試中,自動生成測試數(shù)據(jù)和測試腳本,自動收集和監(jiān)控測試過程數(shù)據(jù),并自動記錄測試結(jié)果數(shù)據(jù),實現(xiàn)了一個具備過程管理、信息發(fā)布、缺陷跟蹤等功能的高效的一體化測試,減輕了手工測試的工作量,使得測試人員可以將精力集中到測試設(shè)計上,節(jié)約了資源(包括人力、物力等),保證了軟件質(zhì)量,縮短了測試周期。
[0013]設(shè)計與執(zhí)行不再分離。本發(fā)明將測試用例的設(shè)計與測試執(zhí)行結(jié)合起來,設(shè)計與執(zhí)行不再分離,自動化測試系統(tǒng)根據(jù)界面設(shè)計的用例自動生成測試腳本,可消除手寫腳本的錯誤,保持代碼質(zhì)量的一致性,通過一鍵點擊重生成代碼,更加可信與高效。
[0014]簡化了測試人員的工作。本發(fā)明集成業(yè)界主流的測試管理,執(zhí)行及分析軟件,對測試過程中的各個方面加以管理,通過技術(shù)手段將他們整合起來。調(diào)用平臺各個集成組成部分的外部接口,自動驅(qū)動各個組成,共同來完成自動測試需求以及通過代理端轉(zhuǎn)發(fā)軟件交互模塊之間的通信報文給總控端進行統(tǒng)一處理,不需要測試人員在不同的主機上進行測試操作,簡化了測試人員的工作,減少了人力物力和時間的投入。
[0015]提高了測試質(zhì)量。本發(fā)明將測試設(shè)計分為三步,不但支持獨立測試用例的設(shè)計,還支持關(guān)聯(lián)測試用例的設(shè)計,如利用場景分析技術(shù),通過流程圖的方式復(fù)用獨立測試用例,設(shè)計場景測試用例,使得設(shè)計的用例更加全面、充分。在回歸測試中,如果ICD的數(shù)據(jù)元素發(fā)生了變化,自動化測試系統(tǒng)自動標(biāo)識出受影響的測試用例,提示測試人員對用例進行修改后再執(zhí)行回歸測試,即對ICD數(shù)據(jù)的變更進行了自動化的影響域分析,保證了回歸測試的質(zhì)量。本發(fā)明支持文檔自動生成,包括接口文檔、測試計劃、測試說明、測試記錄和缺陷報告單,并提供測試報告所需的統(tǒng)計數(shù)據(jù)。測試過程中,測試意圖和測試數(shù)據(jù)由測試人員設(shè)計,測試用例的步驟由自動化測試系統(tǒng)自動生成,測試記錄由自動化測試系統(tǒng)自動記錄,最終的文檔由自動化測試系統(tǒng)自動生成,這樣的設(shè)計減少了測試文檔編輯的工作量,降低了測試工作的復(fù)雜性,解放了測試人員,節(jié)約了大量的人力。與以往的測試過程相比較,整個測試過程得到了有效的管理,分析測試結(jié)果方便、快捷,查找問題高效。并且,測試的每一個環(huán)節(jié)都具有可追溯性,在這些過程中,不易出現(xiàn)人為的一些失誤,提高了測試質(zhì)量。知識庫的建立可以將測試的成果積累起來,以持續(xù)改進,提高軟件測試質(zhì)量。
[0016]本發(fā)明采用集成化技術(shù),通過大量的功能模塊程序,將單個獨立的三方軟件結(jié)合起來,形成了一條無縫的測試流水線,通過測試腳本自動生成測試程序、自動測試、自動生成測試文檔;突出特點:自動生成測試腳本,極大地提高了測試的效率。將單個功能點模塊化組件化,使測試過程設(shè)計更加簡便快捷,提高了平臺的重用性和復(fù)用性。
【專利附圖】
【附圖說明】
[0017]圖1是本發(fā)明自動化測試嵌入式軟件的流程示意圖。
[0018]圖2是圖1的接口設(shè)計示意圖。
[0019]圖3是圖1的測試策劃創(chuàng)建測試交聯(lián)環(huán)境的原理示意圖。
[0020]圖4是圖1的測試設(shè)計技術(shù)方案示意圖。
[0021 ] 圖5是圖1的測試執(zhí)行流程示意圖。
【具體實施方式】
[0022]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,同時也為了便于本領(lǐng)域普通技術(shù)人員理解和實施本發(fā)明,下面結(jié)合附圖對本發(fā)明作進一步詳細、深入的描述。應(yīng)當(dāng)理解,此處所描述的實施僅用作說明和解釋本發(fā)明,并不用于限定本發(fā)明。
[0023]本發(fā)明的核心思想是:運用軟件工程化的思想將接口設(shè)計、測試策劃、測試設(shè)計、測試執(zhí)行、測試結(jié)果記錄、缺陷管理和回歸測試集成到一個統(tǒng)一平臺進行管理,提高軟件測試的效率和質(zhì)量。
[0024]參閱圖1。在以下描述的實施例中,自動化測試嵌入式軟件的方法實施例包括: 步驟101、接口設(shè)計,開發(fā)人員使用接口設(shè)計模塊進行ICD設(shè)計,基于模塊化和復(fù)用方面的考慮,接口設(shè)計的元素分為數(shù)據(jù)元、數(shù)據(jù)塊、數(shù)據(jù)組、邏輯塊和接口消息模塊幾部分,數(shù)據(jù)元為最小的數(shù)據(jù)單元,數(shù)據(jù)塊由多個數(shù)據(jù)元組成,代表一個有意義的字段,數(shù)據(jù)組由多個數(shù)據(jù)塊或數(shù)據(jù)元組成,代表一個更大的含義,一條接口消息模塊就是一條完整的ICD,由多個數(shù)據(jù)組、數(shù)據(jù)塊或數(shù)據(jù)元組成;邏輯塊用來進行特殊邏輯設(shè)計,限定不同元素之間的特殊關(guān)系,如變長設(shè)計、有效性設(shè)計等;根據(jù)項目不同,數(shù)據(jù)元和數(shù)據(jù)塊之間的級數(shù)可以配置,以方便開發(fā)人員根據(jù)項目情況進行擴展設(shè)計。設(shè)計好的ICD存儲在數(shù)據(jù)庫里,后臺生成標(biāo)準的XML格式文件,以供測試數(shù)據(jù)自動生成、測試數(shù)據(jù)解析和接口文檔自動生成使用。自動化測試系統(tǒng)支持多個開發(fā)人員同時進行接口設(shè)計工作,也支持從三方的接口設(shè)計軟件導(dǎo)入已經(jīng)設(shè)計好的I⑶數(shù)據(jù)。
[0025]在圖2中,具體的接口設(shè)計包括數(shù)據(jù)元I和數(shù)據(jù)元2相連組成數(shù)據(jù)塊1,數(shù)據(jù)元2和數(shù)據(jù)元3相連組成數(shù)據(jù)塊2,數(shù)據(jù)塊I和數(shù)據(jù)塊2并聯(lián)數(shù)據(jù)元3組成數(shù)據(jù)組1,數(shù)據(jù)元4和數(shù)據(jù)元5相連組成數(shù)據(jù)塊3,數(shù)據(jù)塊3中包含一個邏輯塊1,邏輯塊I限定數(shù)據(jù)塊中的邏輯關(guān)系為變長,即數(shù)據(jù)塊中數(shù)據(jù)元5重復(fù)的個數(shù)由數(shù)據(jù)元4的內(nèi)容決定,若數(shù)據(jù)元4里的內(nèi)容為3,則數(shù)據(jù)塊3中包含I個數(shù)據(jù)元4和3個數(shù)據(jù)元5。接口消息模塊I由數(shù)據(jù)組I并聯(lián)數(shù)據(jù)塊3和數(shù)據(jù)元6組成。接口消息模塊I則是一條完整的I⑶。
[0026]在接口設(shè)計時,使用界面式設(shè)計,數(shù)據(jù)元設(shè)計好后,在新建數(shù)據(jù)塊時,可以直接將需要的數(shù)據(jù)元拖拽到數(shù)據(jù)塊界面;數(shù)據(jù)塊設(shè)計好后,在新建數(shù)據(jù)組的界面可以看到所有的數(shù)據(jù)塊和數(shù)據(jù)元,只需將需要的數(shù)據(jù)元素拖拽過來即可,以此類推。根據(jù)項目不同,數(shù)據(jù)元和數(shù)據(jù)塊之間的級數(shù)可以配置,以方便開發(fā)人員進行設(shè)計。每條ICD都要包括數(shù)據(jù)的源ID和目的ID。設(shè)計好的ICD存儲在數(shù)據(jù)庫里,后臺生成標(biāo)準的XML格式文件,以供測試解析、測試數(shù)據(jù)自動生成和測試用例設(shè)計使用。設(shè)計好的ICD可以通過自動化測試系統(tǒng)導(dǎo)出,自動生成標(biāo)準格式的接口文檔。對于文檔導(dǎo)出功能的實現(xiàn),同現(xiàn)有系統(tǒng)方法,故在此不再贅述。
[0027]接口設(shè)計模塊分為服務(wù)器和客戶端兩部分,多個客戶端分布在不同的電腦上,與服務(wù)器通過以太網(wǎng)連接,支持多個開發(fā)人員同時進行接口設(shè)計工作,提高工作效率。
[0028]步驟102、測試策劃,測試人員根據(jù)開發(fā)設(shè)計的ICD、軟件研制任務(wù)書、軟件需求規(guī)格說明書、用戶手冊等相關(guān)資料,進行測試策劃。測試策劃包括建立測試交聯(lián)環(huán)境圖,制定測試類型,設(shè)計測試項或測試子項,測試用例名稱以及測試用例描述。測試子項的描述為其包含的多個測試用例的描述合并在一起,每個測試用例就是一個測試點。自動化測試系統(tǒng)支持根據(jù)不同格式的模板生成測試計劃中測試需求分析的內(nèi)容。
[0029]參閱圖3。在本發(fā)明中,測試人員的主要工作集中在測試策劃和測試設(shè)計上。在測試策劃中,首先建立測試交聯(lián)環(huán)境圖,設(shè)置被測軟件模塊之間的接口類型,并為每一個軟件模塊設(shè)置一個與ICD對應(yīng)的ID號。如圖3所示,被測軟件模塊為B,與之交聯(lián)的配測軟件模塊有兩個,分別是配測軟件模塊A和配測軟件模塊C。配測軟件模塊A、被測軟件模塊B之間的接口類型為以太網(wǎng),被測軟件模塊B、配測軟件模塊C之間的接口類型為串口。
[0030]建立環(huán)境圖后,測試人員根據(jù)需求規(guī)格說明等被測軟件的依據(jù)文檔,進行功能分解和測試分析,提取測試需求,設(shè)計測試項和測試子項。測試類型包括功能測試、性能測試、接口測試、強度測試等,測試類型下面是不同的測試項,測試項下面是各測試子項,一個測試子項包含多個測試用例,上述內(nèi)容在界面用樹狀形式表示。測試項和測試子項之間的級數(shù)是可配置的,測試人員根據(jù)被測項目情況可自由設(shè)計。測試用例在測試策劃時要填寫測試用例名稱和測試意圖,即測試用例描述。如此,測試子項的測試描述就為其下多個測試用例的描述合在一起,每個測試用例就是一個測試點。在編制測試計劃時,測試分析的內(nèi)容就可以從自動化測試系統(tǒng)中直接導(dǎo)出。具體導(dǎo)出方法同現(xiàn)有系統(tǒng)方法,故在此不再贅述。
[0031]步驟103、測試設(shè)計,測試人員對測試策劃中的測試用例進行具體的測試輸入輸出的設(shè)計。對于嵌入式軟件來說,大部分的測試輸入和輸出都是一系列的測試數(shù)據(jù)。因此測試設(shè)計的主要內(nèi)容就是給每個用例設(shè)計不同的輸入輸出數(shù)據(jù)。在本發(fā)明中,進行用例設(shè)計之前,需先設(shè)置用例的屬性,用例屬性包括獨立用例和關(guān)聯(lián)用例。新建的測試用例默認為獨立用例,如果設(shè)計的測試用例是進行場景或業(yè)務(wù)流測試,則需將其屬性設(shè)置為關(guān)聯(lián)用例。
[0032]測試設(shè)計分為三步,第一步為測試數(shù)據(jù)自動生成,自動化測試系統(tǒng)根據(jù)ICD中的數(shù)據(jù)元素,如枚舉值、范圍值、分段枚舉等,結(jié)合特殊的邏輯關(guān)系自動生成測試數(shù)據(jù),測試數(shù)據(jù)生成策略包括等價類劃分法、邊界值分析法、正交法等,生成的測試數(shù)據(jù)包括枚舉值的所有值,范圍值的上下邊界值、中間值和邊界外的異常值,以及所有的特殊關(guān)系,對于沒有特殊關(guān)系的多個數(shù)據(jù)元素可使用正交法生成測試數(shù)據(jù)。
[0033]第二步為獨立測試用例設(shè)計,測試人員將本用例涉及到的ICD拖入到測試設(shè)計界面,界面根據(jù)ICD的源和目的ID,建立本用例的交聯(lián)運行圖,雙擊圖上的連線即可設(shè)計測試數(shù)據(jù),也可以選取自動化測試系統(tǒng)自動生成的測試數(shù)據(jù),同時可以設(shè)置每條測試數(shù)據(jù)的屬性和延時,數(shù)據(jù)屬性包括事件觸發(fā)、周期觸發(fā)、消息觸發(fā)、數(shù)據(jù)監(jiān)聽等,數(shù)據(jù)屬性可以添加和配置。自動生成的測試數(shù)據(jù)主要針對枚舉值、邊界范圍值等,其他異常值或故障注入的數(shù)據(jù)需要測試人員單獨進行設(shè)計。測試數(shù)據(jù)設(shè)計時,雙擊連線后界面顯示ICD里所有的數(shù)據(jù)元素,并含有默認值或上一次設(shè)計的元素值,測試人員只需根據(jù)本用例的設(shè)計意圖修改對應(yīng)的數(shù)據(jù)元素即可,直觀方便。
[0034]第三步為關(guān)聯(lián)測試用例設(shè)計,測試人員可以使用場景分析法,基于場景或業(yè)務(wù)流,將不同的測試用例通過流程圖的方式聯(lián)系在一起,設(shè)計場景或業(yè)務(wù)流測試用例,也可以對不同的狀態(tài)轉(zhuǎn)換進行測試。獨立測試用例主要針對單個的功能點進行測試,關(guān)聯(lián)測試用例將不同功能點的用例連在一起,可以模仿用戶在實際使用過程中的場景,進行場景或業(yè)務(wù)流的測試。在關(guān)聯(lián)測試用例設(shè)計界面上,可以看到所有的獨立測試用例,測試人員設(shè)計好流程框圖后,將需要的獨立測試用例拖入到對應(yīng)的框圖中即可,直觀方便。
[0035]參閱圖4。在具體的測試設(shè)計中,根據(jù)接口消息模塊I生成了測試數(shù)據(jù)1,接口消息模塊2生成了測試數(shù)據(jù)2和測試數(shù)據(jù)4,接口消息模塊3生成了測試數(shù)據(jù)3,接口消息模塊4生成了測試數(shù)據(jù)5。測試數(shù)據(jù)1、測試數(shù)據(jù)2對應(yīng)測試用例1,測試用例I為參數(shù)控制測試,模擬配測軟件模塊A發(fā)送測試數(shù)據(jù)I給被測軟件模塊B,被測軟件模塊B收到測試數(shù)據(jù)I后反饋測試數(shù)據(jù)2給配測軟件模塊A。測試數(shù)據(jù)3、測試數(shù)據(jù)4和測試數(shù)據(jù)5對應(yīng)測試用例2。測試用例2為數(shù)據(jù)發(fā)送測試,模擬配測軟件模塊A發(fā)送測試數(shù)據(jù)3給被測軟件模塊B,被測軟件模塊B反饋測試數(shù)據(jù)4給配測軟件模塊A,同時將測試數(shù)據(jù)5發(fā)送給配測軟件模塊C。測試用例I和測試用例2為獨立測試數(shù)據(jù)。測試用例I和測試用例2對應(yīng)關(guān)聯(lián)測試數(shù)據(jù)的場景用例I。場景用例I為發(fā)送參數(shù)控制后,進行數(shù)據(jù)內(nèi)容發(fā)送,即測試用例I執(zhí)行后接著執(zhí)行測試用例2。
[0036]在界面設(shè)計好測試數(shù)據(jù)及屬性后,自動化測試系統(tǒng)自動生成測試腳本和測試步驟,步驟的描述圍繞數(shù)據(jù)的發(fā)送、接收展開,以數(shù)據(jù)為中心,格式統(tǒng)一。測試設(shè)計支持多個測試人員同時開展工作,測試設(shè)計的數(shù)據(jù)存入到數(shù)據(jù)庫里,自動化測試系統(tǒng)支持根據(jù)不同格式的模板生成不同形式的測試說明文檔,具體方法同現(xiàn)有系統(tǒng)方法,故在此不再贅述。
[0037]步驟104、測試執(zhí)行,測試執(zhí)行分為三步,第一步為數(shù)據(jù)分發(fā),測試人員設(shè)置執(zhí)行某個測試用例后,由接口路由總控端根據(jù)設(shè)計的交聯(lián)環(huán)境圖和測試用例,包括測試用例涉及到的模塊和接口總線類型,初始化涉及到的代理端,同時將輸入的激勵/輸入測試數(shù)據(jù)分發(fā)給對應(yīng)的代理端;第二步為代理端驅(qū)動接口通信模塊,代理端根據(jù)交聯(lián)環(huán)境圖,將從總控端收到的輸入測試數(shù)據(jù)發(fā)給數(shù)據(jù)接口驅(qū)動模塊,由接口驅(qū)動模塊將輸入測試數(shù)據(jù)發(fā)送給被測軟件;第三步為代理端監(jiān)控被測軟件的響應(yīng),并將響應(yīng)的報文,即輸出的測試數(shù)據(jù)回傳給總控端。如果與被測軟件交聯(lián)的模塊數(shù)有多個,則代理端也需要多個。測試執(zhí)行支持單個測試用例的執(zhí)行和多個測試用例的順序執(zhí)行。
[0038]一個總控端可以控制多個代理端,代理端的個數(shù)與交聯(lián)環(huán)境圖中交互的模塊數(shù)有關(guān),一個代理端監(jiān)控一個點對點的數(shù)據(jù)傳輸,如圖3中與被測軟件交聯(lián)的模塊為2,則代理端就需要2個,分別監(jiān)控模塊A、B,以及模塊B、C之間的數(shù)據(jù)交互。
[0039]參閱圖5。在具體的測試執(zhí)行中,設(shè)定配測軟件模塊A、被測軟件模塊B之間是代理端1,被測軟件模塊B、配測軟件模塊C之間是代理端2。在執(zhí)行測試用例2時,總控端將測試數(shù)據(jù)3發(fā)送給代理端1,再由代理端I將輸入數(shù)據(jù)發(fā)送給數(shù)據(jù)接口驅(qū)動模塊1,通過數(shù)據(jù)接口驅(qū)動模塊I將輸入數(shù)據(jù)發(fā)送給被測軟件模塊B,而后數(shù)據(jù)接口驅(qū)動模塊I接收到被測軟件模塊B返回的測試數(shù)據(jù)4,數(shù)據(jù)接口驅(qū)動模塊2接收到被測軟件模塊B發(fā)送給配測軟件模塊C的測試數(shù)據(jù)5,即代理端I和代理端2分別接收到測試數(shù)據(jù)4和測試數(shù)據(jù)5,再由2個代理端上報給總控端,進行測試結(jié)果判斷。
[0040]測試用例的執(zhí)行支持單個測試用例的執(zhí)行和多個測試用例的順序執(zhí)行。對于較為耗時的測試用例執(zhí)行工作,可以設(shè)置在下班時間自動運行,由測試人員上班后再進行測試結(jié)果的確認,進而節(jié)約時間,提高工作效率。測試管理環(huán)境管理被測對象,測試驅(qū)動,測試用例,測試集,測試記錄及測試缺陷跟蹤。用戶可以在環(huán)境中規(guī)劃測試用例和由其組成的測試集,然后,通過腳本自動的執(zhí)行測試用例或測試集。腳本自動按規(guī)劃選擇測試對象,生成測試驅(qū)動,并且自動執(zhí)行測試,最后將測試記錄存儲到數(shù)據(jù)庫中。具體的技術(shù)方法是腳本調(diào)用平臺各個集成組成部分的外部接口,自動地驅(qū)動各個組成來完成相應(yīng)的工作。測試腳本可以是類C或Python腳本編寫的。在測試集執(zhí)行時,包含在其中的測試用例腳本被調(diào)度執(zhí)行。
步驟105、測試結(jié)果記錄,總控端收到代理端傳回的數(shù)據(jù)后,進行顯示,并根據(jù)ICD進行自動解析,同時與測試用例中預(yù)期的測試數(shù)據(jù)報文進行比較,如果相同則顯示用例步驟通過Pass,如果不相同則顯示該步驟失敗Fail。任意步驟Fail則判該用例Fail。自動化測試系統(tǒng)支持根據(jù)不同格式的模板生成測試記錄。
[0041]測試結(jié)果界面顯示所有的交互數(shù)據(jù),雙擊選中的數(shù)據(jù)后,可以看到數(shù)據(jù)的解析,直觀地讓測試人員了解測試的執(zhí)行情況,同時支持對顯示的數(shù)據(jù)進行過濾,以便于觀察。對于所有的測試結(jié)果數(shù)據(jù),自動化測試系統(tǒng)自動記錄到數(shù)據(jù)庫里,一是測試確認用,另一方面就是生成測試記錄所需的數(shù)據(jù)。自動化測試系統(tǒng)支持根據(jù)不同格式的模板生成不同形式的測試記錄文檔,具體生成方法同現(xiàn)有系統(tǒng)方法,故在此不再贅述。
[0042]步驟106、缺陷管理與回歸測試,測試人員對測試結(jié)果要進行確認,特別是批量執(zhí)行的測試用例,對每個Fail的測試用例,需要對Fail的步驟進行確認,以便排除非被測軟件的故障。確認是被測軟件缺陷的,在對應(yīng)的測試用例后提交缺陷跟蹤單。提交缺陷跟蹤單后,軟件項目經(jīng)理查看到缺陷信息,進行缺陷分配,對應(yīng)的開發(fā)人員可以參考關(guān)聯(lián)的測試用例進行問題復(fù)現(xiàn),并修改缺陷,修改后的缺陷狀態(tài)標(biāo)識為已修改,測試人員對已修改的缺陷進行回歸驗證。缺陷管理模塊支持與三方的工具如BugFree或Bugzilla等集成。
[0043]在回歸測試中,如果ICD沒有變更,回歸時可以復(fù)用前期設(shè)計的測試用例,并自動進行回歸測試執(zhí)行;如果ICD的數(shù)據(jù)元素發(fā)生了變化,自動化測試系統(tǒng)自動標(biāo)識出受影響的測試用例,提示測試人員對用例進行修改后再執(zhí)行回歸測試。測試用例在不同測試階段所做的修改,自動化測試系統(tǒng)會將其標(biāo)識為不同的版本存入數(shù)據(jù)庫,以追溯數(shù)據(jù)修改過程和版本管理?;貧w測試通過后關(guān)閉已修改的缺陷。對于回歸中仍未修改到位的缺陷,rebound給開發(fā),開發(fā)進行再次修改,后測試人員再次進行回歸。整個項目回歸完成后,缺陷標(biāo)識的狀態(tài)有三類:已修改、撤回和遺留,撤回和遺留的問題是需要軟件項目經(jīng)理確認的。自動化測試系統(tǒng)支持根據(jù)不同格式的模板導(dǎo)出缺陷報告單,以放到測試報告里。具體的缺陷管理流程同現(xiàn)有流程,文檔生成方法同現(xiàn)有系統(tǒng)方法,故在此不再贅述。
[0044]步驟107、知識庫建立,測試結(jié)束后對測試過程進行總結(jié),將設(shè)計精巧的測試用例納入典型測試用例庫里,將發(fā)現(xiàn)的有價值的缺陷納入典型缺陷庫里。納入的方式可以是選中用例或缺陷后,右鍵點擊標(biāo)識為典型,這樣在知識庫里就能看到所有的典型用例和典型缺陷,如此對測試成果進行沉淀和積累,以便于后期在做類似項目的測試工作時,進行借鑒,以持續(xù)提聞。
[0045]如此,整個軟件測試過程都包含在本發(fā)明里,軟件測試人員的主要工作集中在測試策劃和測試設(shè)計上,測試用例設(shè)計好后,自動化測試系統(tǒng)自動進行測試執(zhí)行和測試結(jié)果記錄,并可以根據(jù)模板導(dǎo)出相應(yīng)的測試文檔,提高測試工作的效率和質(zhì)量。
[0046]以上實施方式僅用于說明本發(fā)明,而并非對本發(fā)明的限制,有關(guān)【技術(shù)領(lǐng)域】的普通技術(shù)人員,在不脫離本發(fā)明的精神和原則下,所作的任何修改、等同替換、改進等,均包含在本發(fā)明的保護范圍之內(nèi)。
【權(quán)利要求】
1.一種自動化測試嵌入式軟件的方法,具有如下技術(shù)特征:運用軟件工程化將接口設(shè)計、測試策劃、測試設(shè)計、測試執(zhí)行、測試結(jié)果記錄、缺陷管理和回歸測試集成到一個統(tǒng)一平臺進行管理,具體包括以下步驟: 步驟1,接口設(shè)計,把接口設(shè)計的元素分為數(shù)據(jù)元、數(shù)據(jù)塊、數(shù)據(jù)組、邏輯塊、接口消息模塊,根據(jù)項目不同,配置數(shù)據(jù)元和數(shù)據(jù)塊之間的級數(shù),將設(shè)計好的接口控制文件ICD存儲在數(shù)據(jù)庫里,后臺生成標(biāo)準的XML格式文件,以供測試數(shù)據(jù)自動生成、測試數(shù)據(jù)解析和接口文檔自動生成使用; 步驟2,測試策劃,建立測試交聯(lián)環(huán)境圖,制定測試類型,設(shè)計測試項或測試子項,測試用例名稱以及測試用例描述,每個測試用例為一個測試點,并設(shè)定自動化測試系統(tǒng)支持根據(jù)不同格式的模板生成測試計劃,即測試需求分析的內(nèi)容; 步驟3,測試設(shè)計,測試設(shè)計分為三步,第一步根據(jù)ICD元素,結(jié)合邏輯關(guān)系自動生成測試數(shù)據(jù);第二步設(shè)計獨立測試用例,將本用例涉及到的ICD拖入到設(shè)計界面建立本用例的交聯(lián)框圖,并為每條ICD選取/設(shè)計對應(yīng)的測試數(shù)據(jù)和數(shù)據(jù)屬性;第三步設(shè)計關(guān)聯(lián)測試用例,基于場景/業(yè)務(wù)流,模仿用戶在實際使用過程中的操作,將不同的測試用例通過流程圖的方式聯(lián)系在一起,設(shè)計場景或業(yè)務(wù)流測試用例,或?qū)Σ煌臓顟B(tài)轉(zhuǎn)換進行測試;在界面設(shè)計好測試數(shù)據(jù)及屬性后,自動化測試系統(tǒng)自動生成測試腳本和測試步驟,步驟的描述圍繞數(shù)據(jù)的發(fā)送、接收展開,以數(shù)據(jù)為中心,格式統(tǒng)一,測試設(shè)計的數(shù)據(jù)存入到數(shù)據(jù)庫里,同時支持根據(jù)不同格式的模板生成測試說明,測試用例的描述在測試策劃時由測試人員設(shè)計,測試步驟由自動化測試系統(tǒng)自動生成; 步驟4,測試執(zhí)行,測試執(zhí)行結(jié)合測試環(huán)境圖、測試用例、接口路由,共同組成測試平臺,測試執(zhí)行分為三步,第一步為數(shù)據(jù)分發(fā),由接口路由總控端根據(jù)界面設(shè)計的測試交聯(lián)環(huán)境圖和測試用例,將測試激勵/輸入數(shù)據(jù)分發(fā)給對應(yīng)的代理端;第二步為代理端驅(qū)動接口通信模塊,將對應(yīng)的測試數(shù)據(jù)發(fā)送給被測軟件;第三步為代理端監(jiān)控被測軟件的響應(yīng),將與被測軟件交互的模塊之間的通信報文轉(zhuǎn)發(fā)給總控端進行統(tǒng)一處理; 步驟5,測試結(jié)果顯示,總控端收到代理端傳回的數(shù)據(jù)后,進行顯示并解析,同時與測試用例的預(yù)期結(jié)果報文進行比較,如果相同則判用例通過,顯示用例執(zhí)行成功Pass,如果不相同則判該用例不通過,顯示用例執(zhí)行失敗Fail,測試結(jié)果由自動化測試系統(tǒng)自動記錄,自動化測試系統(tǒng)支持根據(jù)不同格式的模板生成測試記錄。
2.如權(quán)利要求1所述的自動化測試嵌入式軟件的方法,其特征在于:在缺陷管理中,對于執(zhí)行失敗Fail的測試用例,確認是被測軟件缺陷的,在對應(yīng)的測試用例后提交缺陷跟蹤單,開發(fā)人員進行缺陷修復(fù)后進行回歸測試,關(guān)閉已修改的缺陷;自動化測試系統(tǒng)支持根據(jù)不同格式的模板生成缺陷報告單。
3.如權(quán)利要求1所述的自動化測試嵌入式軟件的方法,其特征在于:在回歸測試中,如果ICD沒有變更,回歸時復(fù)用前期設(shè)計的測試用例,并自動進行回歸測試執(zhí)行;如果ICD的數(shù)據(jù)元素發(fā)生了變化,自動化測試系統(tǒng)自動標(biāo)識出受影響的測試用例,提示對用例進行修改后再執(zhí)行回歸測試;測試用例在不同測試階段所做的修改,自動化測試系統(tǒng)會將其標(biāo)識為不同的版本存入數(shù)據(jù)庫,以追溯數(shù)據(jù)修改過程和版本管理。
4.如權(quán)利要求1所述的自動化測試嵌入式軟件的方法,其特征在于:接口設(shè)計的元素分為數(shù)據(jù)元、數(shù)據(jù)塊、數(shù)據(jù)組、邏輯塊和接口消息模塊,其中,數(shù)據(jù)元為最小的數(shù)據(jù)單元,數(shù)據(jù)塊由多個數(shù)據(jù)元組成,代表一個有意義的字段,數(shù)據(jù)組由多個數(shù)據(jù)塊或數(shù)據(jù)元組成,代表一個更大的含義,接口消息模塊由多個數(shù)據(jù)組、數(shù)據(jù)塊或數(shù)據(jù)元組成,是一條完整的I⑶。
5.如權(quán)利要求1所述的自動化測試嵌入式軟件的方法,其特征在于:測試策劃包括建立測試交聯(lián)環(huán)境圖,制定測試類型,設(shè)計測試項或測試子項,測試用例名稱以及測試用例描述;測試子項的描述包含多個測試用例的描述合并在一起,每個測試用例就是一個測試點。
6.如權(quán)利要求1所述的自動化測試嵌入式軟件的方法,其特征在于:在測試策劃中,首先建立測試交聯(lián)環(huán)境圖,設(shè)置被測軟件模塊之間的接口類型,并為每一個軟件模塊設(shè)置一個與ICD對應(yīng)的ID號。
7.如權(quán)利要求1所述的自動化測試嵌入式軟件的方法,其特征在于:新建的測試用例默認為獨立用例,如果設(shè)計的測試用例是進行場景或業(yè)務(wù)流測試,則將其屬性設(shè)置為關(guān)聯(lián)用例。
8.如權(quán)利要求1所述的自動化測試嵌入式軟件的方法,其特征在于:自動化測試系統(tǒng)根據(jù)ICD中的數(shù)據(jù)元素和邏輯關(guān)系自動生成測試數(shù)據(jù),測試數(shù)據(jù)生成策略:等價類劃分法、邊界值分析法、正交法,生成的測試數(shù)據(jù)包括枚舉值的所有值,范圍值的上下邊界值、中間值和邊界外的異常值,以及所有的特殊關(guān)系,對于沒有特殊關(guān)系的多個數(shù)據(jù)元素使用正交法生成測試數(shù)據(jù)。
9.如權(quán)利要求1所述的自動化測試嵌入式軟件的方法,其特征在于:在具體的測試設(shè)計中,根據(jù)接口消息模塊1生成測試數(shù)據(jù)1,接口消息模塊2生成測試數(shù)據(jù)2和測試數(shù)據(jù)4,接口消息模塊3生成測試數(shù)據(jù)3,接口消息模塊4生成測試數(shù)據(jù)5 ;測試用例1為參數(shù)控制測試,配測軟件模塊A發(fā)送測試數(shù)據(jù)1給被測軟件模塊B,被測軟件模塊B收到測試數(shù)據(jù)1后反饋測試數(shù)據(jù)2給配測軟件模塊A ;測試用例2為數(shù)據(jù)發(fā)送測試,配測軟件模塊A發(fā)送測試數(shù)據(jù)3給被測軟件模塊B,被測軟件模塊B反饋測試數(shù)據(jù)4給模塊A,同時將測試數(shù)據(jù)5發(fā)送給配測軟件模塊C。
10.如權(quán)利要求1所述的自動化測試嵌入式軟件的方法,其特征在于:在具體的測試執(zhí)行中,設(shè)定配測軟件模塊A、被測軟件模塊B之間是代理端1,被測軟件模塊B、配測軟件模塊C之間是代理端2,在執(zhí)行測試用例2時,總控端將測試數(shù)據(jù)3發(fā)送給代理端1,再由代理端1將輸入數(shù)據(jù)發(fā)送給數(shù)據(jù)接口驅(qū)動模塊1,通過數(shù)據(jù)接口驅(qū)動模塊1將輸入數(shù)據(jù)發(fā)送給被測軟件模塊B,而后數(shù)據(jù)接口驅(qū)動模塊1接收到被測軟件模塊B返回的測試數(shù)據(jù)4,數(shù)據(jù)接口驅(qū)動模塊2接收到被測軟件模塊B發(fā)送給配測軟件模塊C的測試數(shù)據(jù)5,即代理端1和代理端2分別接收到測試數(shù)據(jù)4和測試數(shù)據(jù)5,再由2個代理端上報給總控端,進行測試結(jié)果判斷。
【文檔編號】G06F11/36GK104407971SQ201410655457
【公開日】2015年3月11日 申請日期:2014年11月18日 優(yōu)先權(quán)日:2014年11月18日
【發(fā)明者】陽長永, 孫肖, 孫云, 楊靜 申請人:中國電子科技集團公司第十研究所