電信NEC成功案例:通過(guò)Parasoft C++test簡(jiǎn)化了內(nèi)部質(zhì)量計(jì)劃
NEC Telecom Software Philippines(NSP)位于馬尼拉,是日本NEC Corporation的子公司。NSP開(kāi)發(fā)用于寬帶和移動(dòng)通信以及IT和網(wǎng)絡(luò)解決方案的技術(shù),以其高質(zhì)量的輸出滿足最高的客戶滿意度。
NSP的開(kāi)發(fā)團(tuán)隊(duì)之一,虛擬目標(biāo)解決方案(VTS)由15人組成。對(duì)于如此眾多的個(gè)人,執(zhí)行內(nèi)部質(zhì)量計(jì)劃一直是一項(xiàng)挑戰(zhàn)。開(kāi)發(fā)團(tuán)隊(duì)中的大多數(shù)人都是年輕的工程師,他們只是在學(xué)習(xí)NSP極為重要的內(nèi)部質(zhì)量計(jì)劃,例如代碼審查、范圍和測(cè)試范圍。
直到最近,只有兩位高級(jí)工程師才對(duì)分配給團(tuán)隊(duì)的任何給定項(xiàng)目執(zhí)行了所有源代碼的審閱。此源代碼通常在10000至12000行代碼之間。
在壓力下工作
在2005年12月,VTS團(tuán)隊(duì)發(fā)現(xiàn)自己的項(xiàng)目進(jìn)度非常緊張。高級(jí)開(kāi)發(fā)人員不可能對(duì)所有內(nèi)容進(jìn)行代碼審查。
結(jié)果,大量的編碼錯(cuò)誤和潛在的錯(cuò)誤通過(guò)了編碼階段。反過(guò)來(lái),這對(duì)單元和集成測(cè)試產(chǎn)生了不利影響。
由于審查所有源代碼并驗(yàn)證其質(zhì)量檢查計(jì)劃草案中列出的所有檢查點(diǎn)時(shí)存在很高的難度,NSP VTS團(tuán)隊(duì)的軟件設(shè)計(jì)主管Joel Calderon決定開(kāi)始尋找手冊(cè)的替代解決方案代碼審查和單元測(cè)試。
NSP對(duì)質(zhì)量有很高的承諾,而Joel決心恪守這一承諾。他曾經(jīng)在Java的測(cè)試解決方案Parasoft Jtest方面擁有過(guò)積極的經(jīng)驗(yàn),因此決定訪問(wèn)Parasoft的網(wǎng)站。在那里,他找到了希望的東西:Parasoft C++test,這是一種自動(dòng)化的C/C++單元測(cè)試和編碼標(biāo)準(zhǔn)分析解決方案。
通過(guò)自動(dòng)代碼審查節(jié)省時(shí)間
NSP的VTS小組在追求高質(zhì)量的代碼審查過(guò)程中曾搜索到兩種問(wèn)題:
- 違反常規(guī)編碼
- 邏輯和設(shè)計(jì)錯(cuò)誤
由于查找和解決違反代碼的問(wèn)題花費(fèi)了很多時(shí)間,因此VTS團(tuán)隊(duì)希望使代碼審查過(guò)程的這一部分自動(dòng)化,以便他們可以將他們的手動(dòng)代碼審查工作集中在查找邏輯和設(shè)計(jì)錯(cuò)誤上。由于要搜索的問(wèn)題類型更少,因此手動(dòng)代碼審核變得更容易出現(xiàn)覆蓋范圍不足和耗時(shí)的情況。
為了幫助檢測(cè)違反代碼的行為,VTS團(tuán)隊(duì)使用了Parasoft C++test RuleWizard。軟件設(shè)計(jì)工程師III的Cherry Ann Alib說(shuō):“這非常有用,因?yàn)槲覀兛梢允褂肦uleWizard定制規(guī)則以進(jìn)行代碼審查和編碼標(biāo)準(zhǔn)分析?!?
在使用Parasoft C++test后,Joel說(shuō):“它對(duì)于檢測(cè)編碼違規(guī)產(chǎn)生了奇跡?!备鶕?jù)Joel的說(shuō)法,VTS團(tuán)隊(duì)減少了代碼審查的時(shí)間和成本。
使用Parasoft C++test可以幫助他們?cè)?-3至3個(gè)小時(shí)內(nèi)完成8000至10000行應(yīng)用程序代碼的工作。
以前,由更昂貴的高級(jí)工程師執(zhí)行復(fù)雜的手動(dòng)代碼檢查,需要花費(fèi)10到15個(gè)小時(shí)來(lái)獲取相同數(shù)量的代碼?,F(xiàn)在,VTS團(tuán)隊(duì)可以將執(zhí)行自動(dòng)代碼審查的任務(wù)委托給他們的最初級(jí)的團(tuán)隊(duì)成員,因?yàn)樵撊蝿?wù)僅需要學(xué)習(xí)如何使用解決方案。
在進(jìn)行Parasoft C++test之前,執(zhí)行有效的手動(dòng)代碼審查需要軟件開(kāi)發(fā)方面的豐富經(jīng)驗(yàn)-通常是數(shù)年的時(shí)間。喬爾指出,有些工程師從不培養(yǎng)執(zhí)行有效的手動(dòng)代碼審查所需的技能。他說(shuō):“ Parasoft C++test消除了這一障礙?!?
自動(dòng)化單元測(cè)試
對(duì)于前面提到的嚴(yán)格計(jì)劃,VTS團(tuán)隊(duì)必須在兩周內(nèi)創(chuàng)建500多個(gè)單元測(cè)試用例。Cherry對(duì)這個(gè)項(xiàng)目說(shuō):“我們很難手動(dòng)創(chuàng)建單元測(cè)試項(xiàng)目。這是一項(xiàng)繁瑣的任務(wù),因此我們開(kāi)始尋找一種可以自動(dòng)創(chuàng)建測(cè)試項(xiàng)目的工具?!?
使用Parasoft C++test,VTS團(tuán)隊(duì)大大減少了他們花費(fèi)在編寫測(cè)試用例上的開(kāi)發(fā)時(shí)間,以及他們花費(fèi)在執(zhí)行單元測(cè)試和回歸測(cè)試上的時(shí)間。Parasoft C++test在夜間運(yùn)行測(cè)試,然后團(tuán)隊(duì)在早晨獲取這些測(cè)試的結(jié)果。
這里節(jié)省的時(shí)間還可以歸因于以下事實(shí):使用Parasoft C++test,在上游過(guò)程中(設(shè)計(jì)階段到單元測(cè)試階段)檢測(cè)到75%到80%的錯(cuò)誤,而僅剩下20%到25%剩余百分比用于下游流程(從產(chǎn)品集成測(cè)試階段到產(chǎn)品發(fā)布)。
高效執(zhí)行質(zhì)量舉措
Joel說(shuō),Parasoft C++test使VTS團(tuán)隊(duì)能夠組織和簡(jiǎn)化其質(zhì)量計(jì)劃。他們所有的編碼規(guī)則和測(cè)試要求都集中在一個(gè)位置,即Parasoft C++test應(yīng)用程序,而不是散布在不同團(tuán)隊(duì)成員的個(gè)人知識(shí)和經(jīng)驗(yàn)上。
現(xiàn)在,就內(nèi)部質(zhì)量計(jì)劃而言,每個(gè)人都有一個(gè)共同的心態(tài),這是因?yàn)樵搱F(tuán)隊(duì)擁有由Parasoft C++test的內(nèi)置編碼規(guī)則和用戶定義的編碼規(guī)則定義的單一且一致的QA參數(shù)集。由團(tuán)隊(duì)通過(guò)“編碼規(guī)則向?qū)А眲?chuàng)建。
所有團(tuán)隊(duì)成員都接受過(guò)Parasoft C++test的培訓(xùn),因此任何人都可以運(yùn)行它。根據(jù)Joel的說(shuō)法,“ Parasoft C++test使得向新人傳遞知識(shí)變得容易,從而減少了經(jīng)驗(yàn)豐富的開(kāi)發(fā)人員離開(kāi)而新人取代新人時(shí)的負(fù)面影響?!?
他繼續(xù)說(shuō):“教新人如何僅使用軟件而不是質(zhì)量保證的概念以及他們?yōu)榱俗袷剡@些內(nèi)部質(zhì)量計(jì)劃(例如代碼審查,范圍)所需要了解的所有知識(shí),以及測(cè)試范圍,要容易得多。自動(dòng)化使我們更容易了。”
減少加班和壓力
由于Joel決定訪問(wèn)Parasoft網(wǎng)站以找到滿足其團(tuán)隊(duì)需求的測(cè)試解決方案,因此VTS團(tuán)隊(duì)得以按時(shí)完成了客戶的期限,他們從來(lái)沒(méi)有想到他們會(huì)按如此緊迫的時(shí)間表進(jìn)行。此外,VTS團(tuán)隊(duì)還可以從同一位客戶那里贏得另外兩個(gè)項(xiàng)目。一個(gè)正在準(zhǔn)備中。
“ Parasoft C++test使得向新人傳遞知識(shí)變得容易,從而減少了經(jīng)驗(yàn)豐富的開(kāi)發(fā)人員離開(kāi)而新人取代他們時(shí)的負(fù)面影響?!?/span>
除了NSP客戶所看到的成功和高質(zhì)量外,VTS團(tuán)隊(duì)還可以在更短的時(shí)間內(nèi)提高生產(chǎn)力。在使用Parasoft C++test之前,它們的平均工作時(shí)間為每天12到15個(gè)小時(shí)?,F(xiàn)在,他們的標(biāo)準(zhǔn)是8個(gè)小時(shí)。喬爾說(shuō):“我們現(xiàn)在幾乎沒(méi)有加班工作。
例如,對(duì)于單元測(cè)試,甚至是代碼審查,我們都將其留在執(zhí)行Parasoft C++test的計(jì)算機(jī)上,然后在早晨得到結(jié)果?,F(xiàn)在,項(xiàng)目的壓力已大大減輕。
Parasoft C++test可提高我們產(chǎn)品的質(zhì)量和生活質(zhì)量。”。