[發(fā)明專利]一種單元測試方法和裝置有效
| 申請?zhí)枺?/td> | 200910080654.9 | 申請日: | 2009-03-23 |
| 公開(公告)號: | CN101847117A | 公開(公告)日: | 2010-09-29 |
| 發(fā)明(設(shè)計)人: | 朱懷云;邱靜 | 申請(專利權(quán))人: | 中興通訊股份有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京派特恩知識產(chǎn)權(quán)代理事務(wù)所(普通合伙) 11270 | 代理人: | 蔣雅潔;王黎延 |
| 地址: | 518057 廣東省深圳市南山*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 單元測試 方法 裝置 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及軟件測試技術(shù),尤其提出了一種單元測試方法和裝置。
背景技術(shù)
所謂單元測試就是在構(gòu)造的與軟件的其它部分相隔離的環(huán)境中對軟件的獨立單元進行測試的過程,具體實現(xiàn)為:通過分析被測軟件單元的特性,設(shè)計包括測試用例數(shù)據(jù)、測試函數(shù)、以及測試運行環(huán)境的測試用例,通過測試用例的實施檢驗被測軟件單元的功能是否正確。而目前,對被測軟件單元特性的分析大多從被測軟件單元整體考慮,需要考慮的邏輯關(guān)系較復(fù)雜,使得分析過程復(fù)雜繁瑣,且需要耗費精力為每條測試用例數(shù)據(jù)編寫對應(yīng)測試函數(shù)、以及構(gòu)建對應(yīng)的測試運行環(huán)境,使得測試效率太低。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種單元測試方法和裝置,能夠使得測試用例的設(shè)計思路簡單清晰。
為達到上述目的,本發(fā)明的技術(shù)方案是這樣實現(xiàn)的:
一種單元測試方法,該方法包括:
將軟件單元的邏輯結(jié)構(gòu)表述為一個或多個行為;分別根據(jù)各行為設(shè)計所述軟件單元的測試用例數(shù)據(jù);編寫所述軟件單元的測試函數(shù);
根據(jù)所述測試用例數(shù)據(jù)和測試函數(shù)對軟件單元進行測試。
進一步地,所述將軟件單元的邏輯結(jié)構(gòu)表述為一個或多個行為為:
分析軟件單元的邏輯結(jié)構(gòu),得出該軟件單元的邏輯結(jié)構(gòu)所包括的動作/結(jié)果,以及執(zhí)行該動作或得出該結(jié)果的條件,并將得出的動作/結(jié)果和執(zhí)行該動作或得出該結(jié)果的條件對應(yīng)添加在預(yù)先配置給該軟件單元的規(guī)則決策表中。
進一步地,所述分別根據(jù)各行為設(shè)計所述軟件單元的測試用例數(shù)據(jù)為:根據(jù)各行為設(shè)計軟件單元的測試用例數(shù)據(jù),并將各測試用例數(shù)據(jù)添加在預(yù)先為該軟件單元配置的數(shù)據(jù)決策表中。
進一步地,所述根據(jù)所述測試用例數(shù)據(jù)和測試函數(shù)對軟件單元進行測試前,該方法還包括:
將各軟件單元的單元號、測試用例數(shù)據(jù)和測試函數(shù)對應(yīng)存儲。
進一步地,所述根據(jù)所述測試用例數(shù)據(jù)和測試函數(shù)對軟件單元進行測試具體為:
a、將需要測試的軟件單元作為被測軟件單元,輸入被測軟件單元的單元號;
b、查詢所存儲的與輸入的單元號對應(yīng)的測試用例數(shù)據(jù)和測試函數(shù)的存儲地址;
c、將查詢到的測試用例數(shù)據(jù)的存儲地址加載到內(nèi)存中的用例數(shù)據(jù)鏈表;
d、根據(jù)查詢到的測試函數(shù)的存儲地址,調(diào)用所查詢到的測試函數(shù),執(zhí)行對被測軟件單元的測試,并記錄測試結(jié)果;
e、如果還需要測試所述待測軟件外的其它軟件單元,返回步驟a;否則,結(jié)束本次測試。
進一步地,所述執(zhí)行對被測軟件單元的測試包括:
d1、根據(jù)用例數(shù)據(jù)鏈表中的測試用例數(shù)據(jù)的存儲地址,獲取一組測試用例數(shù)據(jù),并將該測試用例數(shù)據(jù)各元素轉(zhuǎn)換為被測軟件單元各變量賦值的格式;
d2、根據(jù)所獲取測試用例數(shù)據(jù)的屬性為樁控制表的元素和轉(zhuǎn)換后的屬性為依賴環(huán)境輸入的元素,構(gòu)建被測軟件單元的樁運行環(huán)境,并根據(jù)轉(zhuǎn)換后的所獲取測試用例數(shù)據(jù)的屬性為輸入?yún)?shù)的元素,為被測軟件單元的輸入?yún)?shù)賦值;
d3、運行被測軟件單元,得到包括輸出參數(shù)、返回值、依賴環(huán)境輸出的實際運行結(jié)果;比較實際運行結(jié)果與期望結(jié)果,存儲并顯示比較結(jié)果;
d4、卸載被測軟件單元的樁運行環(huán)境和輸入?yún)?shù)賦值,將被測軟件單元恢復(fù)到初始狀態(tài),結(jié)束本測試用例的實施;
d5、返回步驟d1,獲取下一組測試用例數(shù)據(jù),進行下一個測試用例的實施,直到被測軟件單元對應(yīng)的測試用例數(shù)據(jù)均已獲取完,結(jié)束對該被測軟件單元的測試。
本發(fā)明還提供一種單元測試裝置,該裝置包括:第一輸入模塊、測試模塊;其中,
第一輸入模塊,用于輸入根據(jù)軟件單元的邏輯結(jié)構(gòu)所包括的行為設(shè)計出的軟件單元的測試用例數(shù)據(jù);并用于輸入軟件單元的測試函數(shù);
測試模塊,用于根據(jù)所述測試用例數(shù)據(jù)和測試函數(shù)對軟件單元進行測試。
進一步地,該裝置還包括:
存儲模塊,用于對應(yīng)存儲各軟件單元的單元號、測試用例數(shù)據(jù)和測試函數(shù)。
進一步地,所述測試模塊包括:第二輸入模塊、查詢模塊、加載模塊、執(zhí)行模塊;其中,
第二輸入模塊,用于輸入被測軟件單元的單元號;
查詢模塊,用于查詢所存儲的與輸入的單元號對應(yīng)的測試用例數(shù)據(jù)和測試函數(shù)的存儲地址;
加載模塊,用于將查詢到的測試用例數(shù)據(jù)的存儲地址加載到內(nèi)存中的用例數(shù)據(jù)鏈表;
執(zhí)行模塊,用于根據(jù)查詢到的測試函數(shù)的存儲地址,調(diào)用所查詢到的測試函數(shù),執(zhí)行被測軟件單元的測試;
測試結(jié)果記錄模塊,用于記錄被測軟件單元的測試結(jié)果。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中興通訊股份有限公司,未經(jīng)中興通訊股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910080654.9/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:一種工作流程審批方法
- 下一篇:天然混合物外墻干粉涂料及其制備方法





