文章出處:系統(tǒng)分析員 作者:崔啟亮 發(fā)布時間:2005-10-25
經(jīng)濟(jì)的全球化促進(jìn)了軟件產(chǎn)業(yè)的國際化,軟件國際化生產(chǎn)和全球服務(wù)成為更多國際軟件公司的發(fā)展策略。軟件產(chǎn)品要獲得更多的國際市場份額,必須進(jìn)行軟件國際化設(shè)計、開發(fā)、測試和服務(wù)。
按照國際化要求生產(chǎn)的軟件稱為國際化軟件,從實現(xiàn)技術(shù)和生產(chǎn)過程分析,國際化軟件包括軟件國際化和軟件本地化兩個相輔相成的環(huán)節(jié)。軟件國際化保證軟件具有“全球可用”的內(nèi)在特征,而軟件本地化可以滿足目標(biāo)市場的用戶在語言、文化和功能的需要。
一、國際化軟件開發(fā)流程
對于國際化軟件而言,完整地開發(fā)周期將包括需求分析、國際化、本地化、發(fā)布和維護(hù)等過程。其中國際化包括設(shè)計、開發(fā)和測試等,在國際化的各個環(huán)節(jié)都要重視軟件的本地化能力。
國際化軟件的開發(fā)流程包括開發(fā)國際化軟件需要遵循軟件工程的要求,分為需求分析、軟件設(shè)計、軟件編碼、軟件測試、質(zhì)量保證、軟件發(fā)布等過程。國際化軟件的開發(fā)流程如下圖所示:
在需求分析階段,既要考慮軟件的功能需求,也要考慮軟件的國際化需求。另外,為了縮短源語言開發(fā)的版本和本地化版本的發(fā)布時間間隔(甚至達(dá)到同步發(fā)布),國際化版本的開發(fā)應(yīng)該與軟件本地化過程同時進(jìn)行。在測試方面,對國際化版本的國際化功能測試和對本地化版本的本地化測試盡可能同時進(jìn)行,以便盡早發(fā)現(xiàn)和修改國際化設(shè)計錯誤。
二、軟件本地化測試階段
軟件本地化是國際化軟件開發(fā)的一個重要階段,軟件本地化是將一個軟件產(chǎn)品按特定國家 / 地區(qū)或語言市場的需要進(jìn)行加工,使之滿足特定市場上的用戶對語言和文化的特殊要求的軟件生產(chǎn)活動。
為了保證本地化軟件在語言、外觀和功能方面符合本地用戶的最終需要,需要再國際化軟件生產(chǎn)過程中后期的軟件本地化階段進(jìn)行本地化測試。
一個本地化測試項目可以按照時間順序分解成四個階段:啟動階段、計劃階段、實施階段和收尾階段,這些階段相互銜接,分別完成不同的任務(wù)。各個階段都要圍繞保證測試效率和測試有效性,從而保證測試質(zhì)量。
軟件本地化各個測試階段的流程圖如下圖所示。
1、啟動階段
啟動階段是軟件本地化測試的第一個階段,本地化測試公司需要與客戶一起定義測試范圍、詳細(xì)測試需求、項目預(yù)算和測試進(jìn)度。在分析測試需求時,要與客戶討論影響項目成功的關(guān)鍵因素并且雙方達(dá)成一致。對客戶提供的測試計劃進(jìn)行分析并對具體問題進(jìn)行及時反饋和確認(rèn),或者根據(jù)客戶的項目要求創(chuàng)建測試計劃并且請客戶確認(rèn)。
2、計劃階段
計劃階段是為執(zhí)行軟件本地化測試的準(zhǔn)備階段,準(zhǔn)備的內(nèi)容包括配置測試環(huán)境、構(gòu)建正確掌握測試技能的團(tuán)隊。分析和確定項目的里程碑,對可能導(dǎo)致測試項目失敗的各種要素進(jìn)行風(fēng)險分析,各個測試人員明確責(zé)任任務(wù)和評估方法,約定測試項目進(jìn)度的報告機制。“良好的開端等于成功的一半”,這些措施都是為了確保項目按照清晰目標(biāo)和充分的測試資源而實施。
3、實施階段
實施階段是具體執(zhí)行軟件本地化測試,報告軟件缺陷和測試進(jìn)度的階段,這一階段執(zhí)行的好壞直接影響到測試的質(zhì)量和進(jìn)度,是本地化測試的關(guān)鍵階段。
測試工程師和測試組長仔細(xì)地、探索性地執(zhí)行測試用例。除了根據(jù)測試用例執(zhí)行測試外,還要借助測試經(jīng)驗和軟件的特征執(zhí)行相應(yīng)的隨機測試,以便發(fā)現(xiàn)測試用例沒有覆蓋到的潛在的重大缺陷。每天或約定的時間內(nèi)向客戶報告測試發(fā)現(xiàn)的缺陷、測試存在的問題和實際測試進(jìn)度,使軟件測試與客戶的軟件開發(fā)進(jìn)程無縫集成。
4、收尾階段
不要以為軟件實施階段完成后就“萬事大吉”了,在測試的收尾階段仍然有很重要的工作需要完成。其中的任務(wù)之一就是所有測試團(tuán)隊的成員要與客戶進(jìn)行項目總結(jié),評價項目的成敗得失,肯定優(yōu)點,找出不足,分析原因,進(jìn)行改進(jìn),這是一項嚴(yán)肅的、全員參與的活動。除此之外,需要備份項目的文檔、郵件和缺陷,歸還租用的計算機或其他設(shè)備和軟件,釋放各種項目有關(guān)的用戶賬號。
三、軟件本地化測試流程
軟件本地化測試需要本地化服務(wù)公司的項目經(jīng)理、測試主管(組長)、測試經(jīng)理和客戶(軟件開發(fā)商)分工協(xié)作共同完成。在測試項目的不同階段,分別對應(yīng)不同的工作內(nèi)容,使用不同的測試文檔。在所有階段,測試團(tuán)隊內(nèi)部,測試團(tuán)隊與客戶的雙向有效交流是非常重要的。
為了簡化對本地化測試項目的流程分析,我們將測試項目的啟動階段和計劃階段合二為一,稱成為測試準(zhǔn)備階段,這樣可以把本地化測試劃分成準(zhǔn)備階段、實施階段和結(jié)尾階段。下面對每個測試階段的測試流程分別討論。
1、準(zhǔn)備階段
本地化測試項目可以分為兩大類,一類是“ Turnkey ”項目,即軟件的本地化翻譯、測試、排版都是由一家本地化公司完成的;另一類是“ Testing only ”項目,即執(zhí)行本地化測試的本地化公司只負(fù)責(zé)本地化測試,而軟件本地化翻譯是由其它公司完成的。
對于“ Turnkey ”項目的本地化測試,需要測試部門和至少一個其它部門一起參與,包括本地化項目經(jīng)理和測試部門與客戶參與;而對于“ Testing only ”項目,可以由測試部門與客戶直接聯(lián)系即可,測試主管或測試經(jīng)理承擔(dān)起到項目管理的功能。
測試項目設(shè)置的內(nèi)容包括設(shè)置缺陷跟蹤管理系統(tǒng)、創(chuàng)建項目狀態(tài)報告、設(shè)置本地化項目管理系統(tǒng)等。
在準(zhǔn)備階段,測試經(jīng)理需要評估測試工作量、估計測試時間?;趯y試工作量和估計的時間的分析,可能需要及時向客戶報告,并請客戶確認(rèn)測試范圍等相關(guān)信息。對于最終項目進(jìn)度,需要測試主管、測試經(jīng)理和本地化經(jīng)理交流、達(dá)成一致。
測試計劃是主要的測試文檔,可以參考測試術(shù)語表創(chuàng)建。測試計劃的作者不能自我審閱測試計劃,必須有測試主管或測試經(jīng)理進(jìn)行審閱,并且請客戶最終確認(rèn)。
在創(chuàng)建測試用例之前,需要列出測試的全部功能區(qū)域,分別進(jìn)行測試風(fēng)險分析和確定測試的優(yōu)先級,并且報請客戶或測試經(jīng)理批準(zhǔn)。
創(chuàng)建測試用例是準(zhǔn)備階段的另一項主要工作,可以手工創(chuàng)建或者使用測試管理工具自動創(chuàng)建。創(chuàng)建的測試用例首先必須至少一位測試主管審閱批準(zhǔn),然后請客戶最終批準(zhǔn)。
準(zhǔn)備和設(shè)置測試環(huán)境包括軟件、硬件和網(wǎng)絡(luò)環(huán)境,根據(jù)公司實際情況,可以采用購買、租賃或借用的方式。
測試人力資源是另一個重要測試資源,需要創(chuàng)建人力資源需求曲線文檔,列出測試個階段需要的測試人員,理想情況下,要保持測試人員的穩(wěn)定性。
為了提高測試技能,需要由掌握豐富的測試經(jīng)驗的測試人員或者客戶對測試人員進(jìn)行培訓(xùn)。如果時間允許,應(yīng)該是測試團(tuán)隊的所有人員增加彼此的了解,方便今后及時和有效的溝通。
本地化準(zhǔn)備階段的流程如下圖所示。
2、實施階段
測試實施階段是測試最重要的階段,也是耗時最長的階段,大型本地化測試需要在多個不斷晚上的本地化版本上循環(huán)進(jìn)行測試。
根據(jù)項目不同,從工程、項目經(jīng)理或客戶出向測試部門傳遞和提交測試使用的軟件 Build 和測試用例等內(nèi)容。
測試部得到新的被測試 Build 后,首先執(zhí)行版本可接受測試 (BAT) ,如果滿足測試的要求,則進(jìn)入常規(guī)的測試階段;如果 Build 存在很大問題,例如無法安裝、主要功能失效等,則需要及時報告給客戶,要求重新編譯新的 Build 。
測試執(zhí)行按照測試計劃和測試用例進(jìn)行,書寫缺陷報告,向客戶指定的軟件缺陷跟蹤管理系統(tǒng)報告軟件缺陷。
本地化服務(wù)公司測試團(tuán)隊每周對軟件測試內(nèi)容和報告的缺陷進(jìn)行內(nèi)部質(zhì)量保證( QA ),對于質(zhì)量保證發(fā)現(xiàn)的問題,需要報告給質(zhì)量經(jīng)理和 / 或測試經(jīng)理,并且及時采取糾正措施。
與此同時,客戶方的質(zhì)量工程師也進(jìn)行外部的跟蹤和檢查,對于客戶發(fā)現(xiàn)的任何測試問題,本地化測試團(tuán)隊需要認(rèn)真分析,及時采取糾正措施。所有的糾正措施都要經(jīng)過各方討論,形成糾正措施報告由測試經(jīng)理簽字確認(rèn)。
在測試過程中,跟蹤最初估計的測試時間和實際測試占用的時間,采取必要的措施是測試進(jìn)度盡量滿足測試項目最初設(shè)定的進(jìn)度。對測試的軟件缺陷進(jìn)行分析,度量測試覆蓋率和測試的有效性。
對于測試過程中發(fā)現(xiàn)的一些問題需要及時向客戶報告并得到確認(rèn)。
測試實施階段流程如下圖所示。
3、收尾階段
測試項目收尾階段是對項目進(jìn)行總結(jié),備份項目文檔的階段。
項目總結(jié)需要客戶和本地化公司雙向進(jìn)行,本地化測試主管與測試人員就測試項目遇到的問題進(jìn)行分析和總結(jié),包括文檔問題、進(jìn)度問題、技術(shù)問題和交流問題。
客戶根據(jù)對整個測試項目的跟蹤,總結(jié)好的測試方法,指出測試存在的問題,分析原因,找出可能的改進(jìn)方法,以便下一個項目借鑒。
本地化公司和客戶要把測試項目總結(jié)形成正式的書面報告,通??蛻粼陧椖拷Y(jié)束后,發(fā)送一個測試總結(jié)報告的模板文件給本地化公司。,本地化公司的測試經(jīng)理征求測試人員的建議和意見,填寫詳細(xì)內(nèi)容,發(fā)送回客戶。
客戶對每一條建議進(jìn)行審閱并反饋,形成最終的項目總結(jié)報告( Post-Project Review, PPR ),發(fā)送給本地化公司的測試經(jīng)理、項目經(jīng)理、測試主管和客戶方的有關(guān)人員。
測試經(jīng)理和測試人員分別備份測試項目的重要數(shù)據(jù),這些數(shù)據(jù)可能散布于網(wǎng)絡(luò)上,例如測試文檔、測試 Build 、郵件和缺陷跟蹤庫的軟件缺陷等。
收尾階段流程圖如下圖所示。
四、本地化測試質(zhì)量控制流程分析
為了保證軟件本地化測試的質(zhì)量,需要對軟件測試過程和軟件測試結(jié)果進(jìn)行檢測和評估。
對測試過程的檢測保證測試的內(nèi)容符合測試計劃的要求,例如測試過程是否運行了全部需要的測試用例,是否根據(jù)測試計劃和測試用例執(zhí)行了測試。
對軟件測試結(jié)果的質(zhì)量控制活動主要在于檢測測試過程中報告的軟件缺陷是否準(zhǔn)確,是否有無效的缺陷,是否遺漏了重要的缺陷。
為了使軟件測試的質(zhì)量控制( QC )過程更好的進(jìn)行,應(yīng)該由獨立于當(dāng)前項目的第三方人員執(zhí)行,以保證評估結(jié)果的公正性、客觀性。例如,項目組 B 的人員對項目組 A 的測試過程和結(jié)果實施質(zhì)量控制。
軟件測試質(zhì)量控制的流程圖如下所示。
測試主管使用電子郵件等形式通知 QA 人員,由質(zhì)量保證經(jīng)理向其它項目組安排測試任務(wù),如果質(zhì)量經(jīng)理無法完成多個項目,需要增加 QA 人員。
QA 任務(wù)的詳細(xì)內(nèi)容包括:開始和結(jié)束 QA 的日期和時間,用于缺陷 QA 的缺陷報告規(guī)范文檔,測試人員、軟件語言和測試平臺等全部 QA 信息。
很多公司沒有足夠多的專職質(zhì)量控制人員,而且經(jīng)常是多個測試項目同步進(jìn)行,留給測試質(zhì)量控制過程的時間很有限,質(zhì)量控制人員沒有足夠的時間和精力執(zhí)行具體的檢查,另外,由于有豐富測試經(jīng)驗的質(zhì)量控制人員數(shù)量較少,因此,實際測試項目中,專職質(zhì)量控制人員(質(zhì)量經(jīng)理)經(jīng)常起到組織和牽頭的作用。
QA 過程中發(fā)現(xiàn)的任何缺陷都應(yīng)該向項目測試主管報告并確認(rèn), QA 人員將結(jié)果輸入到 QA 管理系統(tǒng)后,應(yīng)該及時發(fā)送電子郵件告知測試主管關(guān)于本次 QA 的編號 ID 和 QA 結(jié)果的等級。
糾錯報告必須內(nèi)容完整,并且由測試工程師、測試主管、 QA 經(jīng)理和測試經(jīng)理簽名。每周向測試部門和質(zhì)量部門發(fā)送本周的 QA 結(jié)果報告。
測試主管使用電子郵件等形式通知 QA 人員,由質(zhì)量保證經(jīng)理向其它項目組安排測試任務(wù),如果質(zhì)量經(jīng)理無法完成多個項目,需要增加 QA 人員。
[
返回頂部↑]
熱門文章
◎談項目管理和軟件測試過程(一)◎編寫軟件測試計劃需要考慮的幾個問題◎測試階段劃分◎成為測試主管第一步◎談項目管理和軟件測試過程(二)◎microsoft的測試過程◎談項目管理和軟件測試過程(三)◎軟件測試過程管理實踐介紹◎SQA測試過程◎談項目管理和軟件測試過程(五)◎談項目管理和軟件測試過程(四)◎軟件測試的組織與管理◎輕松面試找到理想員工-非官方的面試技術(shù)指南◎測試設(shè)計中需要考慮的22種測試類型◎一個 SQA 的工作日記◎軟件測試也要做過程改進(jìn)◎QA要不要追究BUG發(fā)生的原因◎同行評審過程描述(一)——概述◎軟件測試,不可忽略的階段◎判斷一個差勁的PM的九項標(biāo)準(zhǔn)◎測試過程的基本形式:確認(rèn)和驗證◎鮮為人知的軟件項目管理原則◎以測試為核心控制軟件開發(fā)過程◎軟件產(chǎn)品質(zhì)量◎軟件測試的人際關(guān)系◎軟件特征功能測試過程分析◎出色管理者的十大思想和行為特征◎外包軟件項目管理經(jīng)驗總結(jié)◎二十三條管理定律◎持續(xù)集成與測試自動化◎同行評審過程描述(二)——評審步驟◎你知道如何成為一個積極主動的項目經(jīng)理嗎◎新任項目經(jīng)理的五項修煉◎IBM的過程質(zhì)量管理◎打造1+1>2的高效團(tuán)隊◎軟件過程改進(jìn)建議◎成功管理者的50大感悟◎軟件項目管理的質(zhì)量保證◎外包項目中的Leader◎測試未來的預(yù)測◎項目管理怎樣游刃有余◎同行評審過程描述(四)——測量◎軟件項目管理中的風(fēng)險管理研究◎軟件項目管理原則談◎項目溝通管理◎同行評審過程描述(三)——走查步驟◎項目進(jìn)度計劃延期的分析◎失敗的測試及其應(yīng)對措施◎淺析軟件項目管理中十個誤區(qū)◎讓軟件改進(jìn)過程實現(xiàn)自動化Google提供的廣告