CANTATA HYBRID的主要特點(diǎn):
?通過(guò)ISO 26262, DO-178C/DO-330, IEC 61508等安全標(biāo)準(zhǔn)認(rèn)證
?不需要重寫測(cè)試或?qū)W習(xí)新的工具
?測(cè)試在主機(jī)/目標(biāo)上運(yùn)行,覆蓋范圍高達(dá)MC/DC級(jí)別
?經(jīng)濟(jì)高效的替代昂貴工具認(rèn)證方案
?與其他 QA-Systems 認(rèn)證的靜態(tài)和動(dòng)態(tài)測(cè)試工具集成
CANTATA HYBRID彌合了開源測(cè)試和安全關(guān)鍵軟件開發(fā)之間的鴻溝,使您能夠?qū)崿F(xiàn)與現(xiàn)有Google測(cè)試的功能安全遵從性。
Cantata Hybrid谷歌測(cè)試的認(rèn)證引擎:獨(dú)特的安全標(biāo)準(zhǔn)符合Google Test套件
從現(xiàn)有的google test生成經(jīng)過(guò)認(rèn)證的Cantata測(cè)試結(jié)果CANTATA HYBRID通過(guò)使用非CANTATA測(cè)試套件(如GoogleTest?和GoogleMock?)作為輸入源來(lái)執(zhí)行測(cè)試。該功能允許生成Cantata測(cè)試結(jié)果證據(jù),與從認(rèn)證單元測(cè)試工具獲得的代碼覆蓋率數(shù)據(jù)無(wú)縫結(jié)合,以符合所有主要的安全關(guān)鍵標(biāo)準(zhǔn)。
安全標(biāo)準(zhǔn)符合性用于谷歌測(cè)試套件
CANTATA HYBRID是CANTATA?的一個(gè)專門子集,使測(cè)試能夠使用非CANTATA測(cè)試套件(即GoogleTest? 和GoogleMock?)作為輸入運(yùn)行,以生成CANTATA測(cè)試結(jié)果證據(jù),并結(jié)合來(lái)自經(jīng)過(guò)認(rèn)證的 單元測(cè)試工具的代碼覆蓋。

認(rèn)證的Cantata測(cè)試結(jié)果
對(duì)于每個(gè)GTest?,每個(gè)GTest?-包括在ASCII和HTML格式實(shí)現(xiàn)的總代碼覆蓋率
CANTATA核心產(chǎn)品,包括CANTATA HYBRID產(chǎn)品,已被SGS-TüV GmbH獨(dú)立認(rèn)證,適用于所有主要軟件功能安全標(biāo)準(zhǔn)的最高安全完整性水平。
這種CANTATA和谷歌測(cè)試的混合體為谷歌測(cè)試提供了一個(gè)全自動(dòng)的認(rèn)證引擎。
CANTATA HYBRID工具不需要用戶學(xué)習(xí)CANTATA HYBRID工具,或修改他們現(xiàn)有的GTest套件或模擬對(duì)象, 以及它們是如何構(gòu)建和運(yùn)行的。

CANTATA HYBRID是如何工作的
在命令行上調(diào)用CANTATA HYBRID以執(zhí)行scriptedbatch。它利用經(jīng)過(guò)認(rèn)證的Core ComponentCantata編譯驅(qū)動(dòng)程序和工具(CPPCCD)來(lái)設(shè)置cantata指令和選項(xiàng),包括代碼覆蓋率,以便從aGoogleTest套件中定義的輸入構(gòu)建測(cè)試可執(zhí)行文件。
針對(duì)目標(biāo)環(huán)境的CANTATA庫(kù)的部署與源代碼和GooqleTest套件相鏈接。當(dāng)這個(gè)混合測(cè)試exe運(yùn)行時(shí),它執(zhí)行GooqleTest套件中的所有GooqleTest和gooqlemock宏,并與它們等效的Cantata測(cè)試框架指令并行,收集每個(gè)測(cè)試實(shí)現(xiàn)的CANTATA代碼覆蓋率。
CANTATA HYBRID同時(shí)運(yùn)行標(biāo)準(zhǔn)的Google測(cè)試和等價(jià)的Cantata測(cè)試,生成每個(gè)測(cè)試的結(jié)果,以及所有測(cè)試套件的詳細(xì)和匯總代碼覆蓋率結(jié)果。覆蓋率報(bào)告是使用Cantata實(shí)用程序(CPPGETCOV)以驗(yàn)證的格式生成的。
在主機(jī)或目標(biāo)平臺(tái)上運(yùn)行測(cè)試
在CANTATA HYBRID下的Google測(cè)試可以在任何目標(biāo)平臺(tái)上運(yùn)行,其中已經(jīng)為Cantata提供了針對(duì)特定目標(biāo)的部署(模擬器、模擬器或物理目標(biāo)板)。當(dāng)測(cè)試exe在目標(biāo)上運(yùn)行時(shí),功能和代碼覆蓋率測(cè)試結(jié)果被定向回主機(jī)以生成報(bào)告。
在測(cè)試中,源代碼的副本將使用CANTATA測(cè)試指令和代碼覆蓋率,以確保產(chǎn)品代碼永遠(yuǎn)不會(huì)為測(cè)試而修改。

為什么要為Google test使用認(rèn)證引擎?
安全標(biāo)準(zhǔn)要求使用經(jīng)過(guò)認(rèn)證的工具
所有主要的安全相關(guān)標(biāo)準(zhǔn)都要求所有的測(cè)試工具都被證明適合于驗(yàn)證安全關(guān)鍵的應(yīng)用軟件。這可以通過(guò)工具鑒定或使用預(yù)先認(rèn)證的工具來(lái)實(shí)現(xiàn),具體取決于標(biāo)準(zhǔn)。
GoogleTest和GoogleMock是未經(jīng)認(rèn)證的開源xUnit風(fēng)格工具。 Google?不在安全關(guān)鍵軟件市場(chǎng)運(yùn)營(yíng),因此不提供工具資格套件或工具認(rèn)證套件。 大多數(shù)商業(yè)單元測(cè)試供應(yīng)商,包括QA systems已經(jīng)為他們的工具獲得了獨(dú)立的認(rèn)證(例如Cantata),或者他們?cè)诒匾臅r(shí)候支持用戶對(duì)他們的工具進(jìn)行認(rèn)證(例如。為 DO-178C)
GTest工具鑒定是昂貴的
像GoogleTest和GoogleMock這樣的開源工具可以通過(guò)最終用戶的認(rèn)證。然而,與這種做法相關(guān)的成本可能非常昂貴和耗時(shí),因?yàn)樗婕?
€ 定義所使用的所有工具特性的需求
€ 進(jìn)行測(cè)試,以證明所有功能符合工具操作環(huán)境的要求
€ 維護(hù)每個(gè)工具版本和工具使用環(huán)境的資質(zhì)數(shù)據(jù)
€ 支付獨(dú)立的第三方機(jī)構(gòu)為您執(zhí)行上述任務(wù)
由于這些原因,大多數(shù)安全關(guān)鍵軟件的開發(fā)人員沒(méi)有資格GoogleTest和GoogleMock,而是選擇像CANTATA這樣的認(rèn)證測(cè)試工具。
GTest 工具資質(zhì)替代方案
一種選擇是使用預(yù)認(rèn)證或可認(rèn)證的單元測(cè)試工具(例如CANTATA)重寫現(xiàn)有的 GTests。然而,根據(jù)現(xiàn)有的 GTests 數(shù)量,這可能是一種昂貴的測(cè)試遷移選項(xiàng)。
CANTATA HYBRID充當(dāng)了 Google tests的自動(dòng)認(rèn)證引擎,為昂貴的 GTest 和 GMock 工具的昂貴工具資格提供了一種更具成本效益的替代方案。
CANTATA HYBRID是認(rèn)證CANTATA工具的一個(gè)專門子集,它提供了一種獨(dú)特的方法來(lái)執(zhí)行現(xiàn)有的Google tests,而無(wú)需在認(rèn)證Cantata工具中進(jìn)行任何修改。它產(chǎn)生所有必要的認(rèn)證測(cè)試和代碼覆蓋結(jié)果,以符合安全標(biāo)準(zhǔn)。
主要優(yōu)勢(shì)
- 比GoogleTest工具認(rèn)證便宜:CANTATA HYBRID的價(jià)格明顯低于符合安全標(biāo)準(zhǔn)的GoogleTest和GoogleMock認(rèn)證的成本。請(qǐng)參閱最后一頁(yè)以了解許可證的詳細(xì)信息。
- 無(wú)需遷移或修改Google Tests:CANTATA HYBRID使用不變的Google測(cè)試套件,因此團(tuán)隊(duì)可以維護(hù)現(xiàn)有的Google測(cè)試并開發(fā)新的Google測(cè)試。
- 無(wú)需學(xué)習(xí)新的測(cè)試工具:使用CANTATA HYBRID從CLI運(yùn)行Google測(cè)試非常簡(jiǎn)單。經(jīng)過(guò)認(rèn)證的測(cè)試和代碼覆蓋率結(jié)果會(huì)自動(dòng)生成。
- 不需要經(jīng)過(guò)認(rèn)證的代碼覆蓋工具:gcov (GNU覆蓋工具)也不是經(jīng)過(guò)認(rèn)證的代碼覆蓋工具。CANTATA HYBRID覆蓋率經(jīng)過(guò)認(rèn)證,并根據(jù)所有標(biāo)準(zhǔn)指標(biāo)檢查100%的代碼覆蓋率,直至MC/DC。
- 使用標(biāo)準(zhǔn)Cantata進(jìn)行擴(kuò)展:當(dāng)現(xiàn)有的Google測(cè)試沒(méi)有達(dá)到100%的代碼發(fā)現(xiàn)覆蓋率時(shí),標(biāo)準(zhǔn)CANTATA(包括AutoTest)可以用與CANTATA HYBRID相同的格式報(bào)告來(lái)填補(bǔ)這些覆蓋率缺口。
- 可用于多個(gè)平臺(tái):CANTATA HYBRID沒(méi)有平臺(tái)許可限制,并支持以下內(nèi)容:
- Windows或Linux上的GoogleTest v1.13以上版本
- g++ v13.2和Visual Studio到2019
- 任何可用于aCANTATA目標(biāo)部署的嵌入式目標(biāo)環(huán)境(為模擬器、仿真器、物理硬件交叉編譯)
- Visual Studio代碼與CANTATA CTR VSCode擴(kuò)展
經(jīng)過(guò)認(rèn)證的測(cè)試和代碼覆蓋率結(jié)果
CANTATA HYBRID作為Cantata的一部分,已獲得 SGS TüV的獨(dú)立認(rèn)證,適用于所有主要功能安全標(biāo)準(zhǔn)的最高安全完整性級(jí)別。

覆蓋指標(biāo):
>入口點(diǎn)( Entry Points)
>調(diào)用返回(Call Returns)
>語(yǔ)句(Statements)
>基本塊(Basic Blocks)
>決策(分支)(Decisions (Branches))
>條件(Conditions)
>MC/DC
>循環(huán)(Loops)
>關(guān)系運(yùn)算符(Relational Operators)
QA Systems驗(yàn)證中心工具
QA Systems靜態(tài)分析和動(dòng)態(tài)軟件測(cè)試工具支持以下軟件開發(fā)線性流程中的驗(yàn)證。JNH官網(wǎng)建議對(duì)這些驗(yàn)證階段應(yīng)用順序方法,并針對(duì)每個(gè)目的使用工具。
