您的位置:軟件測(cè)試 > 開源軟件測(cè)試 > 開源單元測(cè)試工具 > cppUnit
用CPPUnit做單元測(cè)試
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/3/4 16:11:41 ] 推薦標(biāo)簽:

CPPUnit是基于C++的單元測(cè)試框架,可以有效提高開發(fā)的系統(tǒng)質(zhì)量。
引言:
QA過程常采用兩種測(cè)試方法:
1、單元測(cè)試(acceptance測(cè)試):為軟件系統(tǒng)中的每一個(gè)邏輯單元制定的一系列驗(yàn)證方法。僅測(cè)試單元的功能,而不考慮各個(gè)單元之間的協(xié)作關(guān)系。
2、系統(tǒng)測(cè)試(集成測(cè)試):測(cè)試系統(tǒng)的功能,尤其是各單元模塊之間的協(xié)作關(guān)系。
下面要講的是如何采用CPPUnit對(duì)C/C++工程進(jìn)行單元測(cè)試。
文章假設(shè)讀者熟悉單元測(cè)試的概念及其重要性。
單元測(cè)試設(shè)計(jì):
想一下開發(fā)團(tuán)隊(duì)中常常出現(xiàn)的一種場(chǎng)景:程序員正在使用Debugger工具測(cè)試代碼。采用Debugger工具可以可以隨時(shí)隨地檢查每個(gè)變量。步步跟蹤,檢查變量的值是否異常。Debugger是一種強(qiáng)有力的調(diào)試工具,但是調(diào)試速度相當(dāng)慢,并且包含不少錯(cuò)誤。在這種情況下調(diào)試是讓人崩潰的。這些復(fù)雜有大量重復(fù)的驗(yàn)證方法是可以通過自動(dòng)化的手段完成的,需要做的是選擇合適的工具并編寫少量代碼。
下面要介紹的工具叫做“單元測(cè)試框架”,借助這種工具,可以通過編寫一些小的模塊來(lái)完成模塊(可以是類、函數(shù)和庫(kù))的單元測(cè)試。
下面來(lái)看一個(gè)例子:編寫一個(gè)小的模塊,主要功能是求兩數(shù)之和。其C語(yǔ)言代碼如下:
BOOL addition(int a, int b)
{
    return (a + b);
}
測(cè)試單元編寫成另外一個(gè)模塊(C函數(shù))。該模塊測(cè)試所有可能的求兩數(shù)之和的組合,通過返回True或False來(lái)判斷被測(cè)模塊是否通過了測(cè)試。代碼如下:
BOOL additionTest()
{
    if ( addition(1, 2) != 3)
    {
        return (FALSE);
    }

    if ( addition(0, 0) != 0)
    {
        return (FALSE);
    }

    if ( addition(10, 0) != 10)
    {
        return (FALSE);
    }

    if ( addition(-8, 0) != -8)
    {
        return (FALSE);
    }

    if ( addition(5, -5) != 0)
    {
        return (FALSE);
    }

    if ( addition(-5, 2) != -3)
    {
        return (FALSE);
    }

    if ( addition(-4, -1) != -5)
    {
        return (FALSE);
    }

    return (TRUE);
}
測(cè)試的情況包括:
正數(shù)+正數(shù)
0+0
正數(shù)+0
負(fù)數(shù)+0
正數(shù)+負(fù)數(shù)
負(fù)數(shù)+正數(shù)
負(fù)數(shù)+負(fù)數(shù)
每一次測(cè)試都是通過對(duì)比被測(cè)模塊的返回值和期望值,如果二者不同,返回FALSE。如果終返回TRUE,說(shuō)明模塊通過了所有的測(cè)試。
這個(gè)用以測(cè)試其他模塊的小模塊(函數(shù))被稱為Test Case, 其中包含了程序員需要對(duì)被測(cè)單元的一系列檢查。每一個(gè)確認(rèn)(對(duì)被測(cè)單元的一次調(diào)用)都必須和被測(cè)單元相對(duì)應(yīng)。在這個(gè)例子中,檢查了“求和操作”在操作數(shù)符號(hào)不同的情況下的運(yùn)行情況。當(dāng)然了,還需要另外寫一些Test Case來(lái)驗(yàn)證其他情況下的運(yùn)行情況。比如其他一些常見的加法組合。

上一頁(yè)1234下一頁(yè)
軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd