一、三種運(yùn)行方式的區(qū)別
在這張圖中,我們可以看到三種主要運(yùn)行方式分別是”Test UUTs”、”Single Pass”、”Run MainSequence”。大家不妨先嘗試一下看看同一個(gè)序列文件用三種運(yùn)行方式運(yùn)行有什么可以直接看出的區(qū)別。
最顯著的區(qū)別,使用Test UUTs時(shí)連續(xù)測(cè)試不同的UUT并且在測(cè)試結(jié)束時(shí)會(huì)彈出測(cè)試結(jié)果彈窗如下圖所示。
這不同于Single Pass,Single Pass沒(méi)有序列號(hào)彈窗和測(cè)試結(jié)果彈窗,它只會(huì)將整個(gè)序列文件完整執(zhí)行一遍并生成測(cè)試報(bào)告。兩者都會(huì)將序列文件完整的執(zhí)行一遍并生成測(cè)試報(bào)表來(lái)顯示測(cè)試結(jié)果,而與兩者不同的是Run MainSequence,這種運(yùn)行方式只會(huì)運(yùn)行序列文件中的主序列并且不會(huì)生成報(bào)表。 需要知道內(nèi)在的區(qū)別并探究TestStand開(kāi)放式架構(gòu)我們需要引入三個(gè)概念:過(guò)程模型、執(zhí)行入口點(diǎn)以及回調(diào)序列。
二、過(guò)程模型
作為標(biāo)準(zhǔn)自動(dòng)化測(cè)試系統(tǒng)的最上層,測(cè)試管理軟件需要提供模塊化的測(cè)試框架,而在TestStand中,這個(gè)測(cè)試框架被稱為過(guò)程模型,而采用過(guò)程模型的序列文件被稱為客戶端序列文件。回顧一下我們?cè)谏弦黄v到的自動(dòng)化測(cè)試組成,測(cè)試軟件分為測(cè)試程序和測(cè)試框架。在過(guò)程模型中會(huì)有很多的通用操作,我們可以理解為過(guò)程模型將框架定義好,并預(yù)留位置給客戶端序列,對(duì)于開(kāi)發(fā)人員而言只需要寫這一部分即可。
在使用過(guò)程模型之后,在啟動(dòng)測(cè)試后,TestStand就能夠按照過(guò)程模型定義好的順序來(lái)執(zhí)行序列文件TestStand將很多通用操作直接提供給開(kāi)發(fā)人員,如序列號(hào)追蹤、流程控制、報(bào)表生成、數(shù)據(jù)存儲(chǔ)等等。也就是說(shuō)TestStand已經(jīng)幫助我們將這些通用操作已經(jīng)準(zhǔn)備好了,不需要我們?nèi)プ约涸偃プ鲞@些功能的步驟。我們只需要完成測(cè)試系統(tǒng)需要的額外的步驟比如需要的各種測(cè)試項(xiàng),可以使用在第一章中講到的一些測(cè)試步驟完成。這些我們自定義的步驟組成了客戶端序列MainSequence。過(guò)程模型其實(shí)很簡(jiǎn)單,它的根本還是一個(gè)序列文件,它將各種通用操作和自定義操作以可自定義的順序組合在一起。TestStand提供了三種過(guò)程模型:順序過(guò)程模型、并行過(guò)程模型、批量過(guò)程模型。其中后兩種具有并行測(cè)試的作用,并行測(cè)試在后續(xù)的章節(jié)中我們會(huì)講到.
如果想要對(duì)過(guò)程模型進(jìn)行自定義,可以打開(kāi)TestStand后在菜單欄中選擇Edit->Sequence File Properties打開(kāi)序列文件屬性窗口,在”Advance”中設(shè)置類型為Model就創(chuàng)建了新的過(guò)程模型如下圖所示。
提示:如果序列文件使用的是順序過(guò)程模型,在TestStand的最下方狀態(tài)欄中會(huì)顯示Model:SequentialModel.seq,雙擊即可打開(kāi)順序過(guò)程模型文件,其他兩種過(guò)程模型也是類似的。
三、執(zhí)行入口點(diǎn)
執(zhí)行入口點(diǎn)為用戶提供了一種方式,可運(yùn)用過(guò)程模型執(zhí)行其測(cè)試代碼。默認(rèn)的TestStand過(guò)程模型提供兩個(gè)執(zhí)行入口點(diǎn),即Test UUTs和Single Pass。每個(gè)入口點(diǎn)都在過(guò)程模型序列文件的序列中實(shí)現(xiàn)。在序列編輯器中,當(dāng)活動(dòng)窗口包含使用過(guò)程模型的序列文件時(shí),“執(zhí)行”(Execute)菜單將列出執(zhí)行入口點(diǎn)。過(guò)程模型定義了測(cè)試框架和常用操作。
在實(shí)際應(yīng)用中,不同的項(xiàng)目中包含的通用操作以及通用操作之間的執(zhí)行順序都有不同的要求,因此每次都要修改過(guò)程模型,或者創(chuàng)建新的流程模型,隨著時(shí)間的推移,過(guò)程模型會(huì)越來(lái)越多。為了避免這個(gè)問(wèn)題,TestStand引入了執(zhí)行入口點(diǎn)的概念。
觀察上圖,我們發(fā)現(xiàn)執(zhí)行入口點(diǎn)A和執(zhí)行入口點(diǎn)B兩者的區(qū)別就是通用操作2和客戶端序列MainSequence執(zhí)行的順序不同。而執(zhí)行入口A和執(zhí)行入口C兩者區(qū)別在于執(zhí)行入口C將通用操作1和客戶端序列MainSequence自定義形成了一個(gè)循環(huán)。因此選擇不同的執(zhí)行入口點(diǎn)并不會(huì)改變操作,而只將它們按不同應(yīng)用程序的需求的順序重新排列。
現(xiàn)在回想Single Pass和Test UUTs就明白了它們其實(shí)就是同一個(gè)過(guò)程模型的兩種不同執(zhí)行入口點(diǎn),Test UUTs其實(shí)將需要的通用操作和特定操作形成了一個(gè)循環(huán),所以會(huì)連續(xù)測(cè)試不同的UUT,而Single Pass只按順序完整運(yùn)行一遍,就是這個(gè)道理。
四、回調(diào)序列
執(zhí)行入口點(diǎn)允許我們定義自己的序列執(zhí)行風(fēng)格,但是執(zhí)行入口點(diǎn)中包含的一般操作是預(yù)定義的,可能需要我們更改默認(rèn)功能。以Test UUT為例,我們需要先輸入測(cè)試序列號(hào),但在實(shí)際生產(chǎn)線上可能會(huì)被條碼槍直接掃描,不需要人工輸入,這就需要修改或重寫序列號(hào)輸入這個(gè)通用操作。我們能想到的最直接的方法是直接在入口點(diǎn)修改通用操作,但如果產(chǎn)品升級(jí)或完全更新,這些通用操作需要不斷更改以適應(yīng)新產(chǎn)品,越改越多,系統(tǒng)維護(hù)就變得特別困難。為了避免這種情況,TestStand引入了回調(diào)序列。
TestStand將經(jīng)常被修改的通用操作改為回調(diào)序列。每個(gè)回調(diào)序列都有一個(gè)定義的默認(rèn)函數(shù),但可以被客戶端序列文件覆蓋。如下圖所示,在執(zhí)行入口點(diǎn)中定義了三個(gè)回調(diào)序列,在客戶端序列MainSequence中回調(diào)序列1和3在序列文件中被覆蓋。
當(dāng)TestStand執(zhí)行過(guò)程模型框架中的每個(gè)回調(diào)序列時(shí),它檢查回調(diào)序列是否已被客戶端序列文件覆蓋。如果是,則執(zhí)行客戶端序列文件中的定義,否則執(zhí)行默認(rèn)操作。這允許自定義常見(jiàn)操作,并且大部分工作也放在客戶端序列文件中,從而減少了修改流程模型和執(zhí)行入口點(diǎn)的需要。
五、內(nèi)容總結(jié)
從一開(kāi)始的三種主要運(yùn)行方式到過(guò)程模型、執(zhí)行入口點(diǎn)以及回調(diào)序列,通過(guò)這三個(gè)不同層次的接口,TestStand就這樣將其開(kāi)放式架構(gòu)一步步展現(xiàn)出來(lái)。
在這一章節(jié),我們從三種主要運(yùn)行方式出發(fā),以較為理論的視角通過(guò)過(guò)程模型、執(zhí)行入口點(diǎn)以及回調(diào)序列逐步了解了TestStand的系統(tǒng)與架構(gòu)。簡(jiǎn)單總結(jié)一下,過(guò)程模型同樣由TestStand引擎支撐,序列文件也由TestStand引擎支撐,但是如果不使用過(guò)程模型,那么只會(huì)執(zhí)行該序列文件包含的步驟,如果使用了過(guò)程模型,則會(huì)按照過(guò)程模型設(shè)定的方式進(jìn)行序列文件的執(zhí)行,并包含一系列通用操作,如生成報(bào)告、結(jié)果分析等,方便我們更好地使用TestStand。
審核編輯:劉清
-
數(shù)據(jù)存儲(chǔ)
+關(guān)注
關(guān)注
5文章
950瀏覽量
50811 -
UUT
+關(guān)注
關(guān)注
0文章
7瀏覽量
19067 -
TestStand
+關(guān)注
關(guān)注
4文章
7瀏覽量
11077
原文標(biāo)題:知識(shí)分享 | 通過(guò)TestStand三種主要運(yùn)行方式探究TestStand開(kāi)放式架構(gòu)
文章出處:【微信號(hào):華穗科技,微信公眾號(hào):華穗科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論