Ⅰ 現在常用的C/C++單元測試工具有那些
現在比較常用的有cppunit,visualunit,c++test.cppunit是開源軟體,C++test是parasoft公司的,試用麻煩,而且價錢比較貴,沒用過。visualunit是國產的C/C++單元測試工具,我用過覺得很不錯,該公司的技術支持也很到位,在使用過程中遇到問題都能及時幫用戶解決。
Visual unit最新的版本是2.1。
部分功能清單如下:
具有完善的樁功能,從開始編碼到升級維護的各個階段,均可對任意層次、范圍的代碼實施分割測試;
自動生成測試代碼和用例框架;
可視化編輯測試用例,用簡單語法判斷各種輸出,還可自動判斷中間變數;
可在用例中隨意模擬、控制子函數的行為,包括設定返回值、輸出參數、成員變數、全局變數的值,多次調用同一子函數可以設置不同的行為;
自動統計語句、條件、分支、路徑覆蓋;
顯示參數、成員變數、返回值等輸入輸出數據;
顯示每個用例所執行的代碼;
自動畫出邏輯結構圖,顯示每個用例的執行路徑;
顯示邏輯結構圖中任一語句塊、分支、分支結構、路徑的代碼;
邏輯結構圖可自由裁剪,語句塊、分支、分支結構、路徑均可刪除/恢復;
用例設計器可輕松找出遺漏用例,實現100%的語句、條件、分支、路徑覆蓋;
自動描述程序行為,幫助整理、驗證編程思路提高編程效率,快速排除程序錯誤;
增強調試器功能,自動支持後退、重復、可視化選擇輸入、調試中切換輸入;
自動生成HTML格式的測試報告。
詳細的資料,樓主可以上http://www.kailesoft.cn查找.
Ⅱ 能做單元測試的工具有哪些比較好
asp無法組織有效的單元測試。如果你的項目需要單元測試,那應該是比較正規,規模不算很小的那種了。
建議更換開發環境和開發語言,比如用vs2008
Ⅲ 有什麼好用的單元測試工具和集成測試工具
廣州凱樂軟體技術有限公司研發的VISUAL UNIT 4.5,是一款自動化表格驅動的單元及集成測試工具。不需要測試代碼,測試工作=填表格,方便太多太多了。最重要是可以很快的完成MC/DC全覆蓋。
Ⅳ 單元測試的測試工具
現在開始介紹單元測試工具,分別按編程語言進行分組介紹。 CppUnit
首先是CppUnit,這是C++單元測試工具的鼻祖,免費的開源的單元測試框架。由於已有一眾高人寫了不少關於CppUnit的很好的文章,老納就不現丑了,想了解CppUnit的朋友,建議讀一下Cpluser 所作的《CppUnit測試框架入門》,。該文也提供了CppUnit的下載地址。
C++Test
然後介紹C++Test,這是Parasoft公司的產品。[C++Test是一個功能強大的自動化C/C++單元級測試工具,可以自動測試任何C/C++函數、類,自動生成測試用例、測試驅動函數或樁函數,在自動化的環境下極其容易快速的將單元級的測試覆蓋率達到100%]。[]內的文字引自,這是華唐公司的網頁。老納想寫些介紹C++Test的文字,但發現無法超越華唐公司的網頁上的介紹,所以也就省點事了,想了解C++Test的朋友,建議訪問該公司的網站。華唐公司代理C++Test,想要購買或索取報價、試用版都可以找他們。
Visual Unit
最後介紹Visual Unit,簡稱VU,這是國產的單元測試工具,據說申請了多項專利,擁有一批創新的技術,不過老納只關心是不是有用和好用。[自動生成測試代碼 快速建立功能測試用常式序行為一目瞭然 極高的測試完整性 高效完成白盒覆蓋 快速排錯 高效調試 詳盡的測試報告]。[]內的文字是VU開發商的網頁上摘錄的,。前面所述測試要求:完成功能測試,完成語句覆蓋、條件覆蓋、分支覆蓋、路徑覆蓋,用VU可以輕松實現,還有一點值得一提:使用VU還能提高編碼的效率,總體來說,在完成單元測試的同時,編碼調試的時間還能大幅度縮短。算了,不想再講了,老納顯擺理論、介紹經驗還是有興趣的,因為可以滿足老納好為人師的虛榮心,但介紹工具就覺得索然無味了,畢竟工具好不好用,合不合用,要試過才知道,還是自己去開發商的網站看吧,可以下載演示版,還有演示課件。
gtest
gtest測試框架是在不同平台上(Linux,Mac OS X,Windows,Cygwin,Windows CE和Symbian)為編寫C++測試而生成的。它是基於xUnit架構的測試框架,支持自動發現測試,豐富的斷言集,用戶定義的斷言,death測試,致命與非致命的失敗,類型參數化測試,各類運行測試的選項和XML的測試報告。需要詳細了解的朋友可以參閱《玩轉Google單元測試框架gtest系列》該篇文章。 JUnit
JUnit 是 Java 社區中知名度最高的單元測試工具。它誕生於 1997 年,由 Erich Gamma 和 Kent Beck 共同開發完成。其中 Erich Gamma 是經典著作《設計模式:可復用面向對象軟體的基礎》一書的作者之一,並在 Eclipse 中有很大的貢獻;Kent Beck 則是一位極限編程(XP)方面的專家和先驅。JUnit 設計的非常小巧,但是功能卻非常強大。JUnit ——是一個開發源代碼的Java測試框架,用於編寫和運行可重復的測試。他是用於單元測試框架體系xUnit的一個實例(用於java語言)。主要用於白盒測試,回歸測試。
JUnit的好處和JUnit單元測試編寫原則:
好處:可以使測試代碼與產品代碼分開;針對某一個類的測試代碼通過較少的改動便可以應用於另一個類的測試;易於集成到測試人員的構建過程中,JUnit和Ant的結合可以實施增量開發;JUnit是公開源代碼的,可以進行二次開發;可以方便地對JUnit進行擴展;
編寫原則:是簡化測試的編寫,這種簡化包括測試框架的學習和實際測試單元的編寫;是使測試單元保持持久性;是可以利用既有的測試來編寫相關的測試;
JUnit使用幫助
1、junit3.x版本,我們通常使用junit 3.8
(1)、使用junit3.x版本進行單元測試時,測試類必須要繼承於TestCase父類;
(2)、測試方法需要遵循的原則:
A、public的
B、void的
C、無方法參數
D、方法名稱必須以test開頭
(3)、不同的Test Case之間一定要保持完全的獨立性,不能有任何的關聯。
(4)、我們要掌握好測試方法的順序,不能依賴於測試方法自己的執行順序。
dome:
public class TestMyNumber extends TestCase {
private MyNumber myNumber;
public TestMyNumber(String name) {
super(name);
}
// 在每個測試方法執行 [之前] 都會被調用
@Override
public void setUp() throws Exception {
// System.out.println(歡迎使用Junit進行單元測試…);
myNumber = new MyNumber();
}
// 在每個測試方法執行 [之後] 都會被調用
@Override
public void tearDown() throws Exception {
// System.out.println(Junit單元測試結束…);
}
public void testDivideByZero() {
Throwable te = null;
try {
myNumber.divide(6, 0);
Assert.fail(測試失敗);
} catch (Exception e) {
e.printStackTrace();
te = e;
}
Assert.assertEquals(Exception.class, te.getClass());
Assert.assertEquals(除數不能為 0 , te.getMessage());
}
}
2、junit4.x版本
(1)、使用junit4.x版本進行單元測試時,不用測試類繼承TestCase父類,因為,junit4.x全面引入了Annotation來執行我們編寫的測試。
(2)、junit4.x版本,引用了註解的方式,進行單元測試;
(3)、junit4.x版本我們常用的註解:
A、@Before 註解:與junit3.x中的setUp()方法功能一樣,在每個測試方法之前執行;
B、@After 註解:與junit3.x中的tearDown()方法功能一樣,在每個測試方法之後執行;
C、@BeforeClass 註解:在所有方法執行之前執行;
D、@AfterClass 註解:在所有方法執行之後執行;
E、@Test(timeout = xxx) 註解:設置當前測試方法在一定時間內運行完,否則返回錯誤;
F、@Test(expected = Exception.class) 註解:設置被測試的方法是否有異常拋出。拋出異常類型為:Exception.class;
G、@Ignore 註解:注釋掉一個測試方法或一個類,被注釋的方法或類,不會被執行。
dome:
package com.an.junit;
import static org.junit.Assert.*;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
public class TestMyNumber {
private MyNumber myNumber;
@BeforeClass
// 在所有方法執行之前執行
public static void globalInit() {
System.out.println(init all method...);
}
@AfterClass
// 在所有方法執行之後執行
public static void globalDestory() {
System.out.println(destory all method...);
}
@Before
// 在每個測試方法之前執行
public void setUp() {
System.out.println(start setUp method);
myNumber = new MyNumber();
}
@After
// 在每個測試方法之後執行
public void tearDown() {
System.out.println(end tearDown method);
}
@Test(timeout=600)// 設置限定測試方法的運行時間 如果超出則返回錯誤
public void testAdd() {
System.out.println(testAdd method);
int result = myNumber.add(2, 3);
assertEquals(5, result);
}
@Test
public void testSubtract() {
System.out.println(testSubtract method);
int result = myNumber.subtract(1, 2);
assertEquals(-1, result);
}
@Test
public void testMultiply() {
System.out.println(testMultiply method);
int result = myNumber.multiply(2, 3);
assertEquals(6, result);
}
@Test
public void testDivide() {
System.out.println(testDivide method);
int result = 0;
try {
result = myNumber.divide(6, 2);
} catch (Exception e) {
fail();
}
assertEquals(3, result);
}
@Test(expected = Exception.class)
public void testDivide2() throws Exception {
System.out.println(testDivide2 method);
myNumber.divide(6, 0);
fail(test Error);
}
public static void main(String[] args) {
}
}
有興趣的朋友可以下下來仔細研究下,也可以到安安DIY創作室博客一起討論一下。
JUnit-addons
對JUnit的一些補充,比如設置、獲取被測試對象的私有屬性的值,調用被測試對象的私有方法等。
常用類:junitx.util.PrivateAccessor
Spring 測試框架
可以測試基於Spring的應用,通過配置文件和註解自動組裝需要的單元測試對象。
提供了一些常用的J2EE Mock對象,比如HttpSession的Mock類等。
可以支持資料庫自動回滾,以防止對資料庫的單元測試(插入,刪除等)不可重復執行,防止修改資料庫狀態等。
DJUnit
通過代碼自動產生Mock對象,省去了自己手動編寫N多的Mock類。
此外,它的Eclipse插件還可以做到測試覆蓋率、分支統計。
EasyMock
功能同DJUnit,也是通過編程自動Mock掉與測試對象無關的類,方法。
Ⅳ javascript的單元測試工具有哪些
Jasmine官方稱其為行為驅動開發測試框架(behavior-)。主要的功能有:
1、基本的測試函數(expect)
2、將測試函數組成集合進行描述(describe),允許對集合中的測試函數3、進行同一的操作(Setup,Teardown)
4、內置豐富的匹配器(Matcher),同時支持自定義匹配器
5、提供對於函數狀態(包括參數,調用,返回情況)的考察(Spy)
6、提供計時工具(Jasmine.Clock)
7、支持非同步測試
8、平台無關,可以測試前台頁面的Javascript代碼和Nodejs代碼
Ⅵ 一般用於C語言C++的單元測試工具有哪些
美國的有:RTRT和C++Text
中國的有:VISUAL UNIT 4
推薦使用:VISUAL UNIT 4,因為這款工具測試不需要寫代碼,點點滑鼠,填填表格就可以。可以搜索他們官網試用:廣州凱樂軟體技術有限公司
Ⅶ 目前流行的單元測試工具有哪些,注意是單元測試工具哦,求教。加分
在一種傳統的結構化編程語言中,比如C,要進行測試的單元一般是函數或子過程。在象C++這樣的面向對象的語言中, 要進行測試的基本單元是類。對Ada語言來說,開發人員可以選擇是在獨立的過程和函數,還是在Ada包的級別上進行單元測試。單元測試的原則同樣被擴展到第四代語言(4GL)的開發中,在這里基本單元被典型地劃分為一個菜單或顯示界面。
單元測試不僅僅是作為無錯編碼一種輔助手段在一次性的開發過程中使用,單元測試必須是可重復的,無論是在軟體修改,或是移植到新的運行環境的過程中。因此,所有的測試都必須在整個軟體系統的生命周期中進行維護。
經常與單元測試聯系起來的另外一些開發活動包括代碼走讀(Code review),靜態分析(Static analysis)和動態分析(Dynamic analysis)。靜態分析就是對軟體的源代碼進行研讀,查找錯誤或收集一些度量數據,並不需要對代碼進行編譯和執行。動態分析就是通過觀察軟體運行時的動作,來提供執行跟蹤,時間分析,以及測試覆蓋度方面的信息。
Ⅷ 自動化單元測試工具目前常用的有哪些
QTP
完整名稱是:Quick Test Professional。初學者可以通過錄制電腦屏幕上的所有操作,來自動生成一些回歸測試用例 。也可以用編程語言自定義控制。
Selenium
Selenium可以用來測試Web應用程序,通過編寫測試腳本來模擬用戶對瀏覽器 的操作,更接近用戶測試。但真正實行起自動化測試腳本來,需要維護的成本很高。
soapUI
soapUI屬於開源工具,使用范圍較廣,且輕量級,也要以集成IDE工具中,並且支持所有的標准協議。用來做小型項目的回歸測試非常合適 。
Silktest
一般用於測試企業級產品,對於企業級產品的功能測試非常高效,同時內置的各種功能齊全,完全支持跨平台及跨瀏覽器的技術功能測試。
Squish
Squish是一款免費的GUI測試工具,安裝包可以直接從官網下載,安裝過程十分簡單,可以通過引導中的新建測試計劃,新建用例集來跟蹤學習,上手非常快。需要注冊後申請 。