探秘U9測(cè)試團(tuán)隊(duì) 軟件測(cè)試的那些事兒
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
從最開(kāi)始徘徊在開(kāi)發(fā)的邊緣,軟件測(cè)試正在不斷找到自己的位置。軟件測(cè)試不再是低技術(shù)含量、高重復(fù)工作的代名詞,不再是可有可無(wú)、不被重視的部門(mén),軟件產(chǎn)品質(zhì)量正在越來(lái)越依賴于測(cè)試部門(mén)的保障。
除了更多技術(shù)高手開(kāi)始擔(dān)任測(cè)試工作,在管理軟件行業(yè),對(duì)某項(xiàng)業(yè)務(wù)的熟悉同樣可以成為測(cè)試人員的利器。注冊(cè)會(huì)計(jì)師出身的張茜就是這樣一個(gè)例子?,F(xiàn)在的她是用友u9部門(mén)質(zhì)量總監(jiān),用友公司測(cè)試專家。2000年加入用友,她一直在從事管理軟件測(cè)試工作,歷任u8 v8.2、v8.5、v8.7系列的產(chǎn)品測(cè)試、發(fā)布;作為測(cè)試專家參與u9 1.0、1.5系列產(chǎn)品發(fā)布,負(fù)責(zé)u9 v1.5sp、v2.0、v2.0sp系列發(fā)版。從事測(cè)試工作10年的她,自己也沒(méi)有想到會(huì)在好不容易考到注冊(cè)會(huì)計(jì)師后卻轉(zhuǎn)行測(cè)試,并且在此后的這么長(zhǎng)一段時(shí)間里和測(cè)試工作為伍。為此,她的惟一解釋是:這是因?yàn)樽鰁rp軟件的測(cè)試需要和業(yè)務(wù)邏輯有著非常強(qiáng)的關(guān)聯(lián)。而這一認(rèn)識(shí)既來(lái)源于她多年測(cè)試工作的積累,也經(jīng)過(guò)了時(shí)間和實(shí)踐的考驗(yàn)。 2010年4月的一天,在曬滿陽(yáng)光的辦公室里,張茜將她最為熟悉,為之驕傲的整個(gè)u9測(cè)試的“那些事”娓娓道來(lái)。 u9的測(cè)試體系和架構(gòu)與整個(gè)用友產(chǎn)品的體系架構(gòu)類似,但是u9的測(cè)試團(tuán)隊(duì)是獨(dú)立服務(wù)于u9這個(gè)產(chǎn)品的測(cè)試團(tuán)隊(duì)。u9的整體開(kāi)發(fā)過(guò)程都強(qiáng)調(diào)特性驅(qū)動(dòng),測(cè)試過(guò)程也不例外。 在產(chǎn)品開(kāi)發(fā)過(guò)程中,特性驅(qū)動(dòng)表現(xiàn)為特性開(kāi)發(fā),由需求設(shè)計(jì)、架構(gòu)師、項(xiàng)目經(jīng)理、開(kāi)發(fā)、測(cè)試等人員動(dòng)態(tài)地構(gòu)成一個(gè)虛擬團(tuán)隊(duì),進(jìn)行特性的開(kāi)發(fā)和測(cè)試,以保證該特性如期完成,并達(dá)到一定的穩(wěn)定程度。在此期間,某幾個(gè)人會(huì)專門(mén)負(fù)責(zé)這一特性的測(cè)試,比如經(jīng)過(guò)兩周時(shí)間該特性測(cè)試通過(guò)并提交主版本后,這幾個(gè)人就可以釋放出來(lái),去做別的特性的測(cè)試。因此,特性驅(qū)動(dòng)測(cè)試是一個(gè)相對(duì)動(dòng)態(tài)的過(guò)程。 從測(cè)試過(guò)程和人員分工上,u9的測(cè)試可以分為這樣幾個(gè)階段: 單元測(cè)試:程序員寫(xiě)完代碼,按照u9的規(guī)范流程,由程序員自己進(jìn)行單元測(cè)試,保證一定的質(zhì)量才能提交給測(cè)試部門(mén)測(cè)試。測(cè)試人員會(huì)有一個(gè)接收的過(guò)程,進(jìn)行單元驗(yàn)收。 特性測(cè)試:?jiǎn)卧?yàn)收后,測(cè)試人員會(huì)比開(kāi)發(fā)人員更大范圍的,從業(yè)務(wù)的角度,將整個(gè)流程特性貫穿起來(lái)運(yùn)行測(cè)試。在特性范圍內(nèi),達(dá)到u9的質(zhì)量標(biāo)準(zhǔn),才能向上一級(jí)提交,即特性提交,進(jìn)入下一步特性驗(yàn)證的過(guò)程。 特性驗(yàn)證:由主測(cè)人員,即產(chǎn)品設(shè)計(jì)層級(jí)的人員,對(duì)提交的特性進(jìn)行特性驗(yàn)證。特性驗(yàn)證通過(guò)的代碼是相對(duì)穩(wěn)定的,可以合并入主版本。特性驗(yàn)證通過(guò),將一個(gè)一個(gè)特性合并入主版后,在一個(gè)截止點(diǎn)上,把所有的特性都合并進(jìn)來(lái),進(jìn)入下一步。 系統(tǒng)測(cè)試:在u9團(tuán)隊(duì)被稱為聯(lián)調(diào)測(cè)試,即把所有的特性放在一起進(jìn)行一個(gè)統(tǒng)一測(cè)試。聯(lián)調(diào)測(cè)試更多地是從功能角度進(jìn)行黑盒測(cè)試。模擬企業(yè)的流程從頭到尾過(guò)一遍,保證流程、流轉(zhuǎn)、控制等各方面,達(dá)到一定的穩(wěn)定程度,才能進(jìn)入下一步模擬用戶的集成測(cè)試。 集成測(cè)試:u9團(tuán)隊(duì)所說(shuō)的集成測(cè)試就是收集典型行業(yè)的典型用戶應(yīng)用,將這些典型用戶的行業(yè)案例和實(shí)施方案拿來(lái)在系統(tǒng)中進(jìn)行模擬測(cè)試,如果整個(gè)系統(tǒng)跑下來(lái)能夠確認(rèn)符合質(zhì)量標(biāo)準(zhǔn)就可以進(jìn)入發(fā)版。 單元測(cè)試由誰(shuí)測(cè)? 目前,業(yè)內(nèi)基本共識(shí)是:?jiǎn)卧獪y(cè)試由開(kāi)發(fā)人員完成。但是,讓開(kāi)發(fā)人員心甘情愿地進(jìn)行單元測(cè)試,并完成好它并不是那么容易的事。在張茜看來(lái),目前u9的開(kāi)發(fā)人員基本能夠完成單元測(cè)試,但還是不能達(dá)到一個(gè)理想的狀態(tài):即開(kāi)發(fā)人員能夠按照單元測(cè)試要求比較高質(zhì)量的提交代碼。在u9開(kāi)發(fā)團(tuán)隊(duì),開(kāi)發(fā)人員能夠進(jìn)行基本單元測(cè)試工作,但還是需要測(cè)試部門(mén)對(duì)其進(jìn)行驗(yàn)收,一次通過(guò)的概率還需要提高。 一般來(lái)說(shuō),開(kāi)發(fā)人員不是很容易接受單元測(cè)試工作,都會(huì)存在一些抗拒心理。如何讓開(kāi)發(fā)人員接受并完成單元測(cè)試?張茜認(rèn)為:在這個(gè)問(wèn)題上,開(kāi)發(fā)部門(mén)主管的作用非常大。測(cè)試部門(mén)需要與開(kāi)發(fā)部門(mén)主管在一開(kāi)始就商量好,明確單元代碼質(zhì)量的提高是最終版本穩(wěn)定的最基礎(chǔ)和重要的方面。前面不穩(wěn)定靠后面彌補(bǔ)只會(huì)適得其反。因此,一般u9測(cè)試團(tuán)隊(duì)會(huì)和開(kāi)發(fā)主管達(dá)成一致?,F(xiàn)在開(kāi)發(fā)部門(mén)經(jīng)理和項(xiàng)目經(jīng)理也都很理解這一點(diǎn),經(jīng)過(guò)以前的實(shí)踐,更加知道單元測(cè)試的重要性。因此,總的來(lái)說(shuō),由上而下對(duì)程序員灌輸單元測(cè)試的重要性,并通過(guò)規(guī)范制度來(lái)保證這樣一個(gè)流程的貫徹和執(zhí)行,是非常有必要的。 為了達(dá)到單元測(cè)試的目的和保證單元測(cè)試的質(zhì)量,u9團(tuán)隊(duì)通過(guò)checklist表,要求程序員完成代碼后必須按照表格一條一條完成測(cè)試項(xiàng)目。這也解決了一開(kāi)始開(kāi)發(fā)人員不知道如何測(cè)試的問(wèn)題。一開(kāi)始,他們必須把最常規(guī)的幾條都走到,把這些都測(cè)試完畢后才可以提交代碼。測(cè)試用例也是由測(cè)試部門(mén)提供,開(kāi)發(fā)人員直接去跑程序測(cè)試即可。這些用例相對(duì)比較簡(jiǎn)單,包括了錄入邊界值、基本功能、性能指標(biāo)等共同項(xiàng)目。 從單元測(cè)試引申到開(kāi)發(fā)和測(cè)試的沖突,在張茜看來(lái),開(kāi)發(fā)和測(cè)試的沖突非常正常。大家必須互相牽制,才能共同保證產(chǎn)品質(zhì)量。在u9團(tuán)隊(duì),通過(guò)cq檢出bug,一次修改通過(guò),那么問(wèn)題就友好地解決了。比較麻煩的是,一個(gè)bug多次沒(méi)有修改通過(guò)怎么辦?張茜的經(jīng)驗(yàn)是:一定要與開(kāi)發(fā)經(jīng)理溝通,安排其他主程序員對(duì)代碼進(jìn)行review,從這一層面來(lái)加強(qiáng)解決。畢竟,測(cè)試人員的目的是推動(dòng)產(chǎn)品質(zhì)量和產(chǎn)品發(fā)展,這也是大家共同的目標(biāo),這一點(diǎn)更需要向開(kāi)發(fā)人員解釋清楚。其實(shí),有時(shí)候,程序員也可能對(duì)自己的代碼也沒(méi)底,遇到問(wèn)題不知道如何去處理,這時(shí)程序員也需要測(cè)試人員站出來(lái)說(shuō)話,推動(dòng)整個(gè)過(guò)程向前發(fā)展。這時(shí),測(cè)試人員對(duì)開(kāi)發(fā)人員的幫助,就能形成一個(gè)良性的循環(huán)。 測(cè)試用例從何來(lái)? 前面談到,單元測(cè)試的測(cè)試用例由測(cè)試部門(mén)提供。而集成測(cè)試的用例則來(lái)源于一線的實(shí)施方案,包括由架構(gòu)師提供的特性和對(duì)應(yīng)的場(chǎng)景。在比需求更高一層的架構(gòu)師立項(xiàng)時(shí),就要確定這一版需覆蓋哪些用戶,解決哪些特性,并進(jìn)行場(chǎng)景描述。測(cè)試人員根據(jù)場(chǎng)景找到目前正在實(shí)施的項(xiàng)目,將不同場(chǎng)景和不同特性組合并找到典型用戶,這些用戶能夠比較全面地覆蓋以上場(chǎng)景和特性。由測(cè)試骨干和專家,結(jié)合特性和企業(yè)情況,與實(shí)施經(jīng)理和實(shí)施顧問(wèn)深入溝通,與架構(gòu)師充分溝通,找到典型用戶關(guān)注的特性、自身的流程、應(yīng)用,最終形成一個(gè)完整的集成測(cè)試方案。這一方案要經(jīng)過(guò)由架構(gòu)師、需求、開(kāi)發(fā)、部分市場(chǎng)、實(shí)施組成的評(píng)審團(tuán)隊(duì)的審慎評(píng)審。這是發(fā)版前一個(gè)關(guān)鍵的質(zhì)量控制環(huán)節(jié)。 在u9測(cè)試團(tuán)隊(duì),測(cè)試人員會(huì)與實(shí)施人員有著非常緊密的溝通。一方面是為了盡快解決早一版本在實(shí)施過(guò)程中的現(xiàn)有問(wèn)題。另一方面,是因?yàn)閡9產(chǎn)品屬于起步初期,產(chǎn)品規(guī)模較大,實(shí)施周期較長(zhǎng),一個(gè)小版的發(fā)版周期都需要3~6個(gè)月。往往是新版本還沒(méi)有發(fā)布,但是已經(jīng)有幾個(gè)項(xiàng)目在等著了。因此,前期的實(shí)施準(zhǔn)備階段,一方面對(duì)發(fā)版構(gòu)成一定壓力,但另一方面也是非常好的資源,它的針對(duì)性特別強(qiáng)。張茜談到:測(cè)試團(tuán)隊(duì)會(huì)和這樣的項(xiàng)目密切配合,因?yàn)樗麄円卜浅OMㄟ^(guò)測(cè)試把關(guān),讓新產(chǎn)品切合企業(yè)的實(shí)際功能和流程需求。 性能測(cè)試和壓力測(cè)試會(huì)在聯(lián)調(diào)的時(shí)候進(jìn)行。u9的性能測(cè)試分幾個(gè)方面:?jiǎn)吸c(diǎn)效率,每一點(diǎn)在一定數(shù)據(jù)量的支持下能夠達(dá)到指標(biāo);流暢性指標(biāo),比如一個(gè)完整的收貨業(yè)務(wù)或者領(lǐng)料任務(wù),從頭到尾要花費(fèi)多少時(shí)間;壓力測(cè)試,主要由loadrunner工具實(shí)現(xiàn),u9也有與微軟的合作,模擬5000~8000人同時(shí)登錄,服務(wù)器、線程、應(yīng)用端、網(wǎng)絡(luò)部署各方面的壓力分別怎樣;200人場(chǎng)景測(cè)試(壓力測(cè)試),一個(gè)真實(shí)的200人場(chǎng)景,進(jìn)一步模擬企業(yè)中的實(shí)際應(yīng)用場(chǎng)景。200人的場(chǎng)景測(cè)試算作壓力測(cè)試的一部分,結(jié)合集成方案,制訂場(chǎng)景測(cè)試,比如10個(gè)人做收貨,10個(gè)人做領(lǐng)料,10個(gè)人做入庫(kù),報(bào)表,打印,不同人模擬完成不同業(yè)務(wù),很實(shí)際地模擬企業(yè)日常工作場(chǎng)景。 測(cè)試工具用什么? 壓力測(cè)試中,u9團(tuán)隊(duì)主要使用loadrunner工具來(lái)實(shí)現(xiàn),同時(shí),u9也與微軟的合作,來(lái)模擬5000~8000人的同時(shí)登錄。但整個(gè)u9測(cè)試團(tuán)隊(duì)使用最多的還是 u9測(cè)試團(tuán)隊(duì)從4年前開(kāi)始使用rft,在其基礎(chǔ)上進(jìn)行了大量框架開(kāi)發(fā)和成果積累。比如,rft測(cè)試主要是一個(gè)錄制回放的過(guò)程,但是回放的成功率通常不是很高,產(chǎn)品是靠抓ui上的坐標(biāo)方位來(lái)實(shí)現(xiàn),界面一動(dòng)錄制腳本就廢了。u9在這方面做了大量基礎(chǔ)工作,通過(guò)一個(gè)測(cè)試框架,我們抓的不再是界面上的坐標(biāo)尺寸,而是抓的一個(gè)自設(shè)id。不論前臺(tái)還是后臺(tái)的每一個(gè)按鈕,控件都有自己的編碼,編碼具有唯一性,由編碼轉(zhuǎn)換成rft的東西,再進(jìn)行回放。這樣界面上的ui輕微變動(dòng)是不會(huì)影響,在不同的機(jī)器上回放,成功率也高了很多。 如何建設(shè)一個(gè)好團(tuán)隊(duì)? 目前,u9的測(cè)試團(tuán)隊(duì)共有60多名正式人員和20多位外包人員,開(kāi)發(fā)人員和測(cè)試人員的比例基本達(dá)到2:1,遠(yuǎn)遠(yuǎn)優(yōu)于目前國(guó)內(nèi)平均水平。而張茜的理想狀態(tài)是1:1。但是,u9測(cè)試團(tuán)隊(duì)的開(kāi)發(fā)能力卻不容小覷。 雖然u9測(cè)試團(tuán)隊(duì)中從事自動(dòng)化測(cè)試的人員只有4~5位,但卻都個(gè)個(gè)具有相當(dāng)?shù)拈_(kāi)發(fā)能力,也愿意做些開(kāi)發(fā)工作。比如,上面提到的對(duì)rft測(cè)試框架的改進(jìn),以及自動(dòng)抓取id工具等。u9自動(dòng)化測(cè)試力量都強(qiáng)于其他產(chǎn)品。 在從事測(cè)試工作10年,從會(huì)計(jì)行業(yè)轉(zhuǎn)行而來(lái)的張茜看來(lái),做erp軟件的測(cè)試和業(yè)務(wù)邏輯有非常強(qiáng)的關(guān)聯(lián)。因此,她面試時(shí)會(huì)更加注重面試者的業(yè)務(wù)能力,業(yè)務(wù)的背景會(huì)比測(cè)試的背景重要很多。而測(cè)試工作,特別是黑盒測(cè)試相對(duì)比較簡(jiǎn)單,更多地是對(duì)產(chǎn)品業(yè)務(wù)流程的把控能力,對(duì)數(shù)據(jù)的敏感程度和控制能力。 目前,u9測(cè)試團(tuán)隊(duì)層次分開(kāi)。主測(cè)試人員有4~5個(gè),主要負(fù)責(zé)測(cè)試架構(gòu)和規(guī)劃方面的工作。主測(cè)試的目的是把自己負(fù)責(zé)這一塊的流程把握,測(cè)試重點(diǎn)在哪里,測(cè)試方案是否合理。而測(cè)試的執(zhí)行則需要執(zhí)行力強(qiáng)、更仔細(xì)、更勤勉的人,需要一遍一遍地反復(fù)測(cè)試,并能敏銳地發(fā)現(xiàn)問(wèn)題。邊角工作則可以由實(shí)習(xí)人員完成,比如性能、ui交互,這些比較機(jī)械地工作可以在方案設(shè)計(jì)好后由他們來(lái)逐條測(cè)試。這樣便形成一個(gè)完美的金字塔結(jié)構(gòu)的測(cè)試團(tuán)隊(duì)。 最后,張茜也透露,u9產(chǎn)品的發(fā)版密度較大,雖然今年已經(jīng)比去年有所減少,但也有1大2小三個(gè)版本。每個(gè)版本的測(cè)試周期和回歸壓力還是比較大的。馬上要發(fā)布的將是u9 2.0sp版本。大版則是在今年8月將要發(fā)布的的u9 2.1版。10月還將推出u9 2.1 sp1版本。 該文章在 2010/7/25 1:55:15 編輯過(guò) |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |