• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    單元測試作業指導系列講座之一

    發布: 2007-6-18 21:22 | 作者: samlet  | 來源: CSDN  | 查看: 94次 | 進入軟件測試論壇討論

    領測軟件測試網

    下一頁 1 2 

       
      這是我以前任項目經理時,編寫的關于單元測試方面的作業指導書,針對多種開發環境敘述怎么進行單元測試以及環境配置,現在整理了一下。應該對大家有所幫助。

      這是第一部分,主要針對C和C++項目的(包括了Windows環境和Linux環境),下部分將針對Java及J2EE項目。

      1. 目的

      為了減少代碼中的錯誤數量, 減少調試所花的時間和精力, 改善軟件質量, 減少開發和維護的時間和成本。

      2. 適用范圍

      適用于C及C++的所有產品。

      3. 適用內容

      3.1 C++標準

      3.1.1測試環境使用Visual C++,Windows窗口應用程序

      3.1.1.1前題:使用CppUnit1.6.2版,解壓后,路徑為x:\\cppunit-1.6.2;

      在工程文件中配置測試框架使用環境:加入執行頭文件的路徑x:\\cppunit-1.6.2\include,加入導入庫文件的路徑x:\\cppunit-1.6.2\lib;

      配置DEBUG(測試)版環境:

      加入需要鏈接的靜態測試框模塊testrunnercd.lib(運行測試用例的選擇對話框)和cppunitcd.lib(測試框架);

      加入測試Add-ins,庫名為x:\\cppunit-1.6.2\lib\TestRunnerDSPlugInD.dll;

      在Project Settings/C++/C++ Language中啟用RTTI;

      3.1.1.2建立測試用例:

      1、以類名加前輟“Test”命名測試單元文件名,比如“CMabString”類的類文件名為MabString.cpp,則測試單元文件命名為TestMabString.cpp;

      2、加入測試框架頭文件以及要測試的單元頭文件,以TestMabString為例:

      頭文件:testmabstring.h

    #ifndef CPP_UNIT_TestNode_H
    #define CPP_UNIT_TestNode_H
    //包含測試框架的頭文件
    #include <cppunit/TestCase.h>
    #include <cppunit/extensions/HelperMacros.h>
    //包含被測試單元的頭文件
    #include "mabstring.h"
    //派生測試框架的測試用例類
    class TestMabString : public CppUnit::TestCase
    {
     //定義測試用例列表,此列表將出現在運行測試用例的選擇對話框中
     CPPUNIT_TEST_SUITE( TestMabString );
     CPPUNIT_TEST( FindByName );
     CPPUNIT_TEST_SUITE_END();

     protected:
     //
     CMabString m_MabStr;
     public:
      //用例初始化,可作為樁函數
      void setUp ();
      //用例析構
      void tearDown();
     protected:
      //測試用例
      void FindByName (void);
    };

    #endif

    類文件:testmabstring.cpp

    #include "TestMabString.h"
    #include "iostream.h"
    #include "strstrea.h"

    //注冊本測試單元

    CPPUNIT_TEST_SUITE_REGISTRATION( TestMabString );

    //定義測試用例

    void TestMabString::FindByName ()
    {
     //功能性測試,屬黑盒測試
     //normal test
     //條件及錯誤測試,屬白盒測試
     //extra test,
     //例外測試,屬白盒測試
     //exception test,

     bool bRet=false;
     try{
      //put the exception code here...
     }
     //catch(CXXX& e)
     catch(...)
     {
      bRet=true;
     }
     CPPUNIT_ASSERT(bRet);
     //由于并不能夠執行所有單元測試應該執行的路徑,比如CMabString是從CString
     //類中派生出來的,而可能CMabString中的Find只簡單調用了CString中的Find方法,//所以并不需要測試;
     //在此處說明所有不用測試的路徑;
     //other test, see the ...
    }

    void TestMabString::setUp ()
    {
     //開始測試前的初始代碼
     m_pNode=new Node();
    }

    void TestMabString::tearDown()
    {
     //測試結束代碼
     if(m_pNode)
      delete m_pNode;
    }

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>