短時(shí)間教您玩轉(zhuǎn)C++Test
C++Test可以自動(dòng)建立一個(gè)測(cè)試驅(qū)動(dòng)程序,由于C++Test能夠自動(dòng)生成樁函數(shù),C++Test然后自動(dòng)執(zhí)行所有的測(cè)試用例,C++Test還可以將自動(dòng)建立測(cè)試驅(qū)動(dòng)程序,覺得C++Test還是很有用的。
另外,如果被測(cè)的方法需要調(diào)用當(dāng)時(shí)還不存在或無(wú)法訪問(wèn)的函數(shù),C++Test能夠自動(dòng)生成樁函數(shù);這樣能夠測(cè)試與外部資源操作的交互作用和不包含任何隱藏的弱點(diǎn)。C++Test不是實(shí)際調(diào)用這些函數(shù),而是調(diào)用樁函數(shù)并返回樁函數(shù)提供的值。
如果你需要控制使用的返回值,你可以建立一個(gè)樁調(diào)用表,生命輸入/輸出的關(guān)系。 你還能加入用戶定義的樁函數(shù)。例如,如果你要使用原始的函數(shù),且該函數(shù)定義在不同的文件中;或者你想要仿真原始函數(shù)的行為,而用一個(gè)簡(jiǎn)單的函數(shù)替代它自動(dòng)生成C/C++類的測(cè)試驅(qū)動(dòng)程序和樁函數(shù)的能力是C++Test所獨(dú)有的;
只有C++Test能夠自動(dòng)測(cè)試C/C++類(一當(dāng)它能夠編譯時(shí)),而不需要用戶的任何干預(yù)。使得你能夠盡快地自動(dòng)檢測(cè)代碼錯(cuò)誤,以最容易、最省錢和最快速的方法找到和修正它們。如果沒有這樣的自動(dòng)化工具,大量的時(shí)間和資源消耗將失去單元測(cè)試的潛在好處和現(xiàn)實(shí)意義。
靜態(tài)測(cè)試
C++Test內(nèi)嵌了業(yè)界最出名的Effective C++(epcc)、More Effective C++(mepcc)、meyer-klaus(mk)以及Universal Code Standard(ucs)等超過(guò)700條的C/C++規(guī)范,用戶自己還能自定義規(guī)范。
同時(shí),它也集成了由parasoft累積出來(lái)的一些規(guī)范。靜態(tài)測(cè)試中,C++Test會(huì)對(duì)代碼進(jìn)行詳盡的掃描,驗(yàn)證代碼中是否存在和這些規(guī)范相沖突的地方,盡快的發(fā)現(xiàn)一些簡(jiǎn)單或低級(jí)錯(cuò)誤,避免由它們帶來(lái)的集成擴(kuò)散。
白盒測(cè)試
C++Test提供了一種有效并且高效的方法執(zhí)行白盒測(cè)試。C++Test完全自動(dòng)執(zhí)行所有的白盒測(cè)試過(guò)程,自動(dòng)生成和執(zhí)行精心設(shè)計(jì)的測(cè)試用例。自動(dòng)標(biāo)記任何運(yùn)行失敗,并以一種簡(jiǎn)單的圖示化結(jié)構(gòu)顯示。然后自動(dòng)保存這些測(cè)試用例,能夠方便地用于以后的回歸測(cè)試。
由于C++Test能夠自動(dòng)生成樁函數(shù),或允許你加入自己的樁函數(shù),因此它能夠測(cè)試引用外部對(duì)象的類。換句話說(shuō),C++Test能夠運(yùn)行任何一個(gè)或一組類,并自動(dòng)生成和執(zhí)行一組測(cè)試用例,它們被設(shè)計(jì)成能夠發(fā)現(xiàn)盡可能多的錯(cuò)誤。 C++Test允許你定制白盒測(cè)試用例的生成,和在什么層次上(項(xiàng)目、文件、類或方法)執(zhí)行測(cè)試。
黑盒測(cè)試
C++Test通過(guò)自動(dòng)化黑盒測(cè)試的大部分操作,減輕了這類測(cè)試的負(fù)擔(dān)。特別是以兩種方法自動(dòng)化黑盒測(cè)試的***階段--建立測(cè)試用例:·幫助你設(shè)置每個(gè)測(cè)試用例的結(jié)果。
你可以簡(jiǎn)單地輸入測(cè)試用例輸入,然后讓C++Test運(yùn)行測(cè)試用例并自動(dòng)確定實(shí)際的輸出結(jié)果。如果結(jié)果正確,不需要其它動(dòng)作。如果結(jié)果不正確,你可以輸入預(yù)期的輸出結(jié)果。這樣比手工輸入每個(gè)測(cè)試用例的結(jié)果更快更容易。自動(dòng)生成測(cè)試用例的核心集合。
C++Test自動(dòng)設(shè)計(jì)了一組廣譜的白盒測(cè)試用例。當(dāng)使用這些測(cè)試用例在黑盒測(cè)試時(shí),你只需簡(jiǎn)單地觀察實(shí)際的輸出結(jié)果,然后對(duì)任何不正確的結(jié)果輸入預(yù)期的值。
當(dāng)你需要輸入或修改測(cè)試用例時(shí)。
你可以在C++Test自動(dòng)生成的測(cè)試用例框架種簡(jiǎn)單地鍵入相應(yīng)的值。這將顯著地加快建立測(cè)試用例的過(guò)程。 在自動(dòng)化建立黑盒測(cè)試用例的大多數(shù)步驟之外,C++Test完全自動(dòng)化余下的黑盒測(cè)試步驟。按一個(gè)鍵,你能夠?qū)?xiàng)目、文件、類或方法運(yùn)行一個(gè)或一組。C++Test然后自動(dòng)執(zhí)行所有的測(cè)試用例,報(bào)告所有的輸入/輸出關(guān)系,并標(biāo)記任何實(shí)際輸出與預(yù)期不一致或?qū)е鲁绦虮罎⒌臏y(cè)試用例。
回歸測(cè)試
C++Test完全自動(dòng)化與回歸測(cè)試有關(guān)的所有步驟。C++Test***測(cè)試某個(gè)類時(shí),自動(dòng)保存其測(cè)試和測(cè)試參數(shù)。當(dāng)需要執(zhí)行回歸測(cè)試時(shí),你可以打開合適的項(xiàng)目和文件,運(yùn)行所有原來(lái)的白盒和黑盒測(cè)試用例;C++Test會(huì)自動(dòng)運(yùn)行完全相同的測(cè)試用例和測(cè)試參數(shù),并告之發(fā)現(xiàn)的任何問(wèn)題。這意味著你能夠立即知道修改是否引入了任何錯(cuò)誤。
監(jiān)視測(cè)試覆蓋性
為了幫助你測(cè)量當(dāng)前使用的測(cè)試用例集合的有效性,并且給你提供達(dá)到盡可能高的覆蓋性的信息,C++Test自動(dòng)監(jiān)視測(cè)試覆蓋性。 C++Test實(shí)時(shí)跟試覆蓋性,然后建立一個(gè)綜合測(cè)試覆蓋性報(bào)告。
覆蓋性窗口圖示化地說(shuō)明了當(dāng)前正在被執(zhí)行的代碼行,已執(zhí)行過(guò)的行和每行的執(zhí)行次數(shù)。因此,它不僅指出了一個(gè)代碼行是否被測(cè)試過(guò),而且說(shuō)明了被測(cè)試的有多徹底。這些信息對(duì)于確定那些代碼需要追加測(cè)試是非常有幫助的。