《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 測(cè)試測(cè)量 > 業(yè)界動(dòng)態(tài) > PM機(jī)制在本地化軟件BV測(cè)試中的應(yīng)用

PM機(jī)制在本地化軟件BV測(cè)試中的應(yīng)用

2009-09-01
作者:梁惠平1,劉 琦2

  摘 要: 分析了當(dāng)前本地化版本驗(yàn)證測(cè)試BV中存在的問(wèn)題,提出了PM。相比當(dāng)前的BV測(cè)試,PM機(jī)制實(shí)現(xiàn)了所有測(cè)試結(jié)點(diǎn)、測(cè)試報(bào)告有機(jī)統(tǒng)一的管理。PM機(jī)制有助于提高整個(gè)BV測(cè)試系統(tǒng)的管理能力、擴(kuò)展能力和測(cè)試性能。
??? 關(guān)鍵詞: 版本驗(yàn)證;策略模型;配置匹配服務(wù)器,配置匹配客戶(hù)端

?

?? 隨著測(cè)試工具的不斷完善,使得企業(yè)追求最優(yōu)的質(zhì)量成本成為可能。目前在軟件開(kāi)發(fā)過(guò)程中,更多的會(huì)采用迭代式的開(kāi)發(fā)過(guò)程。在開(kāi)發(fā)過(guò)程中強(qiáng)調(diào)在較短的時(shí)間間隔中產(chǎn)生多個(gè)可執(zhí)行、可測(cè)試的軟件版本。軟件的本地化過(guò)程更是如此:會(huì)頻繁地生成多個(gè)所有要支持的語(yǔ)言版本。一般來(lái)說(shuō),公司會(huì)根據(jù)市場(chǎng)需求決定語(yǔ)言數(shù)量。但是軟件本地化是軟件重要的競(jìng)爭(zhēng)因素之一。所以為了將來(lái)占有更多的市場(chǎng),公司都會(huì)更大范圍地執(zhí)行軟件本地化。一些特殊的軟件,例如:微軟的Windows和Office軟件,需要支持幾百種語(yǔ)言。在多個(gè)語(yǔ)言版本的產(chǎn)生過(guò)程中,由于軟件設(shè)計(jì)的不全面或者更多其他原因,例如:軟件設(shè)計(jì)過(guò)程中沒(méi)有考慮雙字節(jié)字符的支持和字符長(zhǎng)度處理問(wèn)題或者軟件周期短,都不可避免地導(dǎo)致出現(xiàn)一些壞的語(yǔ)言版本。特別是一些重大的錯(cuò)誤存在于軟件的安裝、卸載過(guò)程中或者一些重要功能模塊的基本操作中。如果壞的語(yǔ)言版本比較多或者某個(gè)語(yǔ)言壞得版本太多,都會(huì)大大延誤測(cè)試進(jìn)度,測(cè)試成本提高。
??? 目前大多數(shù)公司都會(huì)在所有測(cè)試人員介入之前,對(duì)軟件作版本驗(yàn)證BV測(cè)試(Build Validation),保證版本的質(zhì)量,以便可以更好地控制測(cè)試進(jìn)度[4]。目前的BV測(cè)試存在的問(wèn)題:
??? (1)測(cè)試系統(tǒng)對(duì)測(cè)試結(jié)點(diǎn)不做任何管理。當(dāng)某個(gè)測(cè)試機(jī)發(fā)生故障,無(wú)法自動(dòng)察覺(jué)。
??? (2)測(cè)試系統(tǒng)對(duì)測(cè)試數(shù)據(jù)不做任何管理和分析。只簡(jiǎn)單保存,無(wú)法挖掘更有用的信息。
??? (3)測(cè)試系統(tǒng)總是選擇重要的語(yǔ)言進(jìn)行測(cè)試。某些語(yǔ)言長(zhǎng)期被疏忽,一些重大問(wèn)題無(wú)法及時(shí)發(fā)現(xiàn)。
??? (4)系統(tǒng)擴(kuò)展性、自動(dòng)性差。當(dāng)測(cè)試結(jié)點(diǎn)達(dá)到一定數(shù)量,需要更多的人工干預(yù)。
??? 下面將介紹目前本地化軟件BV測(cè)試的結(jié)構(gòu)存在的問(wèn)題以及引入PM機(jī)制后的BV測(cè)試。
1 本地化軟件的BV測(cè)試
??? 目前,大多數(shù)公司都要求寫(xiě)自動(dòng)化測(cè)試腳本,以便在新的版本生成后通過(guò)運(yùn)行腳本達(dá)到版本檢驗(yàn)的目的。軟件本地化過(guò)程中,對(duì)本地化版本的BV測(cè)試與英文的BV測(cè)試的區(qū)別在于需要運(yùn)行的語(yǔ)言平臺(tái)數(shù)量不同。 英文的BV測(cè)試只在英文平臺(tái)上運(yùn)行,而本地化的測(cè)試在理想狀態(tài)下需要在所有支持的語(yǔ)言平臺(tái)上運(yùn)行。由于產(chǎn)品市場(chǎng)的影響,對(duì)于所有要支持的語(yǔ)言的重要程度和優(yōu)先級(jí)別是不同的。同時(shí),受到測(cè)試周期和預(yù)算的限制,一般不會(huì)對(duì)所有的語(yǔ)言都進(jìn)行BV測(cè)試,而只選擇重要的語(yǔ)言。
??? 在目前的BV測(cè)試中,多個(gè)語(yǔ)言平臺(tái)的架構(gòu)可以是多個(gè)獨(dú)立的PC,也可以使用VMWare。如圖1所示。

??? 當(dāng)服務(wù)器接受到新版本生成信息,就向所有測(cè)試機(jī)發(fā)出“測(cè)試指令”, 每個(gè)語(yǔ)言測(cè)試平臺(tái)開(kāi)始獨(dú)立進(jìn)行測(cè)試,測(cè)試結(jié)束后產(chǎn)生測(cè)試報(bào)告并發(fā)送到服務(wù)器。服務(wù)器對(duì)各個(gè)語(yǔ)言平臺(tái)的測(cè)試機(jī)除了發(fā)送測(cè)試開(kāi)始指令外,不進(jìn)行任何其他管理。如果某個(gè)測(cè)試機(jī)出現(xiàn)故障,無(wú)法正常工作,服務(wù)器無(wú)法感知并通知管理人員。每個(gè)測(cè)試平臺(tái)直到測(cè)試結(jié)束后才向服務(wù)器發(fā)送測(cè)試報(bào)告。而且每個(gè)測(cè)試報(bào)告都是獨(dú)立的,不利于對(duì)測(cè)試結(jié)果進(jìn)行綜合分析,產(chǎn)生更加有意義的信息。所有這些都使得BV測(cè)試不夠完善。
2 策略模型PM(Policy Model)機(jī)制[1-3]
2.1 PM機(jī)制的結(jié)構(gòu)和流程

??? PM機(jī)制的具體實(shí)現(xiàn)、采用了PM機(jī)制后的BV測(cè)試架構(gòu),集中統(tǒng)一管理BV測(cè)試結(jié)構(gòu)中的所有測(cè)試結(jié)點(diǎn),把BV測(cè)試過(guò)程中的所有數(shù)據(jù)信息集中統(tǒng)一管理并生成內(nèi)容豐富的報(bào)表。
2.1.1 PM機(jī)制的結(jié)構(gòu)
??? 在PM機(jī)制中主要包括兩種對(duì)象:一個(gè)DMS(Deployment Map Server)和多個(gè)DMA(Deployment Map Agent)。
??? DMS是整個(gè)PM機(jī)制的核心,DMS在開(kāi)始測(cè)試前主動(dòng)地發(fā)現(xiàn)并收集每個(gè)測(cè)試結(jié)點(diǎn)信息。并保存最新的測(cè)試結(jié)構(gòu)信息和測(cè)試結(jié)構(gòu)中每個(gè)測(cè)試結(jié)點(diǎn)的策略信息和測(cè)試結(jié)果。其中測(cè)試結(jié)構(gòu)信息不僅包括了每個(gè)結(jié)點(diǎn)的硬件信息和軟件信息,還包括網(wǎng)絡(luò)連接狀態(tài)和層次結(jié)構(gòu)。
??? DMA是客戶(hù)端,會(huì)自動(dòng)向DMS發(fā)送結(jié)點(diǎn)的最新?tīng)顟B(tài),包括是否正常啟動(dòng)、層次結(jié)構(gòu)信息、測(cè)試的結(jié)果、策略狀態(tài)信息等等。當(dāng)結(jié)點(diǎn)有任何內(nèi)容更改,DMA會(huì)自動(dòng)通知DMS更新信息。當(dāng)DMS無(wú)法訪(fǎng)問(wèn)時(shí),DMA會(huì)暫時(shí)保存信息,并不斷嘗試訪(fǎng)問(wèn)DMS,直到把信息發(fā)送給DMS。所以只要在要測(cè)試的機(jī)器上安裝DMA,此結(jié)點(diǎn)的所有物理信息以及所有測(cè)試過(guò)程中的動(dòng)態(tài)信息會(huì)自動(dòng)發(fā)送到DMS,保證了DMS中信息的正確性和及時(shí)性。
??? 在PM機(jī)制中,要實(shí)現(xiàn)對(duì)所有測(cè)試結(jié)點(diǎn)和數(shù)據(jù)信息的集中統(tǒng)一管理。
??? (1)實(shí)現(xiàn)對(duì)所有測(cè)試結(jié)點(diǎn)的統(tǒng)一管理,PM機(jī)制主要通過(guò)由DMS向測(cè)試結(jié)構(gòu)中的所有結(jié)點(diǎn)配置同一測(cè)試策略來(lái)實(shí)現(xiàn)。策略主要分為以下3種:
??? 配置策略(Configuration Policy):實(shí)現(xiàn)所有測(cè)試結(jié)點(diǎn)的統(tǒng)一系統(tǒng)和軟件配置。
??? 任務(wù)策略(Job Policy):實(shí)現(xiàn)所有測(cè)試結(jié)點(diǎn)的統(tǒng)一操作和管理。
??? BV測(cè)試策略:實(shí)現(xiàn)所有測(cè)試結(jié)點(diǎn)正確實(shí)施BV測(cè)試。當(dāng)一個(gè)新的版本生成后,DMS自動(dòng)生成一個(gè)相應(yīng)的軟件測(cè)試包,并根據(jù)用戶(hù)定義生成一個(gè)對(duì)應(yīng)的測(cè)試策略。策略一經(jīng)生成,整個(gè)測(cè)試將完全按照策略定制的信息在整個(gè)測(cè)試結(jié)構(gòu)中的所有結(jié)點(diǎn)實(shí)施。
??? (2)實(shí)現(xiàn)數(shù)據(jù)信息的統(tǒng)一管理,PM機(jī)制主要通過(guò)DMS的主動(dòng)收集和DMA的自動(dòng)更新實(shí)現(xiàn)信息的自動(dòng)同步和管理。
2.1.2 PM機(jī)制的工作流程
??? PM機(jī)制的工作流程如圖2所示:

??? 通過(guò)PM機(jī)制,實(shí)現(xiàn)了對(duì)BV測(cè)試中所有測(cè)試結(jié)點(diǎn)以及所有測(cè)試結(jié)點(diǎn)的測(cè)試信息的集中統(tǒng)一管理。
2.2 PM機(jī)制中如何實(shí)現(xiàn)信息的自動(dòng)收集和同步[5]
??? PM機(jī)制中信息的自動(dòng)收集和同步是整個(gè)機(jī)制的核心功能。在PM機(jī)制中,整個(gè)測(cè)試結(jié)構(gòu)中的所有結(jié)點(diǎn)都是相通的,呈樹(shù)型結(jié)構(gòu)。除了根結(jié)點(diǎn)DMS外都有父結(jié)點(diǎn),除了葉子結(jié)點(diǎn)外都有子結(jié)點(diǎn)。這種父子關(guān)系是通過(guò)PARENT屬性定義的,PARENT關(guān)系網(wǎng)絡(luò)連結(jié)了測(cè)試結(jié)構(gòu)中所有的結(jié)點(diǎn),形成一個(gè)測(cè)試整體。
??? PM機(jī)制中任何一個(gè)DMS、DMA都有一個(gè)相應(yīng)的對(duì)象是PMDB(Policy Model Database)。PMDB的定義類(lèi)似數(shù)據(jù)庫(kù)包括可以訪(fǎng)問(wèn)的用戶(hù)、組、對(duì)象以及訪(fǎng)問(wèn)策略。 此外,還包含了一個(gè)SUBSCRIBER列表。SUBSCRIBER可以定義為任何一個(gè)PMDB。能夠更新某個(gè)SUBSCRIBER的PMDB稱(chēng)作該SUBSCRIBER的父親。子SUBSCRIBER的任何更新會(huì)自動(dòng)上傳到父SUBSCRIBER中。其中主機(jī)(Host)作為一個(gè)特殊對(duì)象,可以定義任何一個(gè)PMDB為其父SUBSCRIBER。
??? 一般來(lái)說(shuō),創(chuàng)建PMDB時(shí)需指定授權(quán)可訪(fǎng)問(wèn)的用戶(hù)/組、父結(jié)點(diǎn),還要指定可訪(fǎng)問(wèn)的終端對(duì)象,即SUBSCRIBER。整個(gè)測(cè)試結(jié)構(gòu)結(jié)點(diǎn)間的SUBSCRIBER關(guān)系實(shí)際上是結(jié)點(diǎn)中PMDB之間的SUBSCRIBER關(guān)系。
??? 圖3所示為PMDB的層次結(jié)構(gòu)一般定義。

??? 整個(gè)BV測(cè)試層次結(jié)構(gòu)的定義過(guò)程也就是PARENT關(guān)系網(wǎng)絡(luò)的定義過(guò)程,同時(shí)也是PMDB層次結(jié)構(gòu)的定義過(guò)程。而SUBSCRIBER關(guān)系網(wǎng)絡(luò)定義卻不同,SUBSCRIBER關(guān)系網(wǎng)絡(luò)可以和PARENT關(guān)系網(wǎng)絡(luò)保持一致,但有時(shí)為了提高可訪(fǎng)問(wèn)性,每個(gè)PMDB要建立多個(gè)SUBSCRIBER關(guān)系。主PMDB通過(guò)比較更新信息的時(shí)間戳來(lái)確定是否接受新的更新。
??? 在圖4所示PM機(jī)制的工作流程圖中可以看到2種信息流。一種是策略(POLICY);另一種是通知(NOTIFICATION)。“策略”是沿著測(cè)試結(jié)構(gòu)中結(jié)點(diǎn)的PARENT網(wǎng)絡(luò)流動(dòng)。而“通知”是沿著測(cè)試結(jié)構(gòu)中SUBSCRIBER網(wǎng)絡(luò)流動(dòng)。

?

??? 在PM機(jī)制中,通過(guò)定義結(jié)點(diǎn)間的PARENT和SUBSCRIBER兩種關(guān)系,使測(cè)試結(jié)構(gòu)中所有結(jié)點(diǎn)成為一個(gè)整體。通過(guò)POLICY和NOTIFICATION兩種信息流,實(shí)現(xiàn)了所有結(jié)點(diǎn)和結(jié)點(diǎn)信息的集中統(tǒng)一管理。
2.3 信息存儲(chǔ)及測(cè)試報(bào)告
2.3.1 信息存儲(chǔ)
??? 采用PM機(jī)制后,DMS結(jié)點(diǎn)存儲(chǔ)了大量的測(cè)試信息,占用很大的存儲(chǔ)空間。如何有效地存儲(chǔ)并管理這些數(shù)據(jù)是必須考慮的問(wèn)題。在PM機(jī)制中采用了按照時(shí)間合并數(shù)據(jù)的方法。PM機(jī)制會(huì)保留最近的5個(gè)工作日的單個(gè)測(cè)試詳細(xì)信息。用戶(hù)可以查看當(dāng)天或者過(guò)去4天詳細(xì)的所有語(yǔ)言平臺(tái)測(cè)試信息。當(dāng)測(cè)試信息早于5天前,PM 機(jī)制定期的合并信息形成每天、每星期、每月的數(shù)據(jù)。這個(gè)過(guò)程類(lèi)似數(shù)據(jù)庫(kù)Rollup。圖5所示為用戶(hù)可以根據(jù)具體項(xiàng)目測(cè)試信息定義數(shù)據(jù)合并過(guò)程的時(shí)間表,保留多少天的詳細(xì)數(shù)據(jù)和合并數(shù)據(jù)的規(guī)則。

2.3.2 測(cè)試報(bào)告
??? DMS結(jié)點(diǎn)存儲(chǔ)了所有的測(cè)試信息。從信息存儲(chǔ)策略可以看出PM 機(jī)制可以很容易地形成各種測(cè)試報(bào)告,并且可以通過(guò)對(duì)不同語(yǔ)言平臺(tái)測(cè)試信息的對(duì)比,挖掘出更加有意義的信息。例如:如果某個(gè)語(yǔ)言平臺(tái)測(cè)試結(jié)果總是正常,說(shuō)明本地化過(guò)程對(duì)此語(yǔ)言比較規(guī)范,就可以考慮更換其他語(yǔ)言。因?yàn)閷?duì)于某些重要的語(yǔ)言,設(shè)計(jì)人員和測(cè)試人員都會(huì)重視并提前考慮很多。相對(duì)來(lái)說(shuō),對(duì)于比較偏的語(yǔ)言會(huì)考慮的少一些。雖然首先需要保證重要語(yǔ)言平臺(tái)的正確性,但事實(shí)上比較偏的語(yǔ)言由于缺少重視出錯(cuò)的機(jī)率更大。
??? 對(duì)大量歷史數(shù)據(jù)分析的測(cè)試報(bào)告可以對(duì)此產(chǎn)品的開(kāi)發(fā)設(shè)計(jì)有一定指導(dǎo)性的意義。
2.4 實(shí)驗(yàn)數(shù)據(jù)和性能比較
??? 采用PM模型前和采用之后的對(duì)比如表1所示。隨著結(jié)點(diǎn)的增加,測(cè)試系統(tǒng)性能對(duì)比會(huì)非常明顯。

?

3 PM機(jī)制的優(yōu)化
??? 目前, 在PM機(jī)制的設(shè)計(jì)中DMA的層次結(jié)果可以給出很靈活的定義,但是整個(gè)PM機(jī)制只能有一個(gè)DMS結(jié)點(diǎn)。目前的PM機(jī)制不適合測(cè)試結(jié)點(diǎn)分布比較廣的BV測(cè)試。并且整個(gè)測(cè)試架構(gòu)中只有一個(gè)DMS結(jié)點(diǎn)對(duì)測(cè)試的高訪(fǎng)問(wèn)性具有一定的風(fēng)險(xiǎn),今后的設(shè)計(jì)中需要加強(qiáng)DMS層的管理。
??? BV測(cè)試中采用PM機(jī)制,實(shí)現(xiàn)了對(duì)所有測(cè)試結(jié)點(diǎn)、測(cè)試過(guò)程中各個(gè)動(dòng)態(tài)測(cè)試信息的集中統(tǒng)一管理,通過(guò)對(duì)測(cè)試數(shù)據(jù)的合并和分析,可以做到更有效地管理測(cè)試數(shù)據(jù)并挖掘出更有價(jià)值的信息,使得BV測(cè)試更加完善。


參考文獻(xiàn)
[1] 張茂林.軟件自動(dòng)測(cè)試的研究與程序?qū)崿F(xiàn)[J].北京航空航天大學(xué)學(xué)報(bào),1997,23(1):74-80.
[2] 趙暉,王剛.軟件自動(dòng)測(cè)試方法淺談[J].雷達(dá)與對(duì)抗,1997(3):68-72.
[3] 凌永發(fā),張?jiān)粕?,郭秀?軟件測(cè)試自動(dòng)化的腳本技術(shù)[J].云南民族學(xué)院學(xué)報(bào)(自然科學(xué)版),2002,11(1):544-548.
[4] 王華偉,崔啟亮.軟件本地化——本地化行業(yè)透視與實(shí)務(wù)指南[M].北京:電子工業(yè)出版社,2005.
[5] 候俊杰.深入淺出MFC(第2版)[M].武漢:華中科技大學(xué)出版社,2005.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話(huà)通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話(huà):010-82306118;郵箱:aet@chinaaet.com。