Parasoft C++test案例研究:NEC Telecom軟件公司簡(jiǎn)化內(nèi)部質(zhì)量管理
一個(gè)名為Virtual Target Solution (VTS)的NSP開發(fā)團(tuán)隊(duì),由15人組成。這個(gè)團(tuán)隊(duì)的工程師大部分是剛開始學(xué)習(xí)NSP的內(nèi)部質(zhì)量管理,如代碼審查、測(cè)試范圍和覆蓋率。
直到最近,這個(gè)團(tuán)隊(duì)加入了兩個(gè)高級(jí)工程師。他們要對(duì)所有的源代碼進(jìn)行審查。這些源代碼通常在10000至12000行左右。
任務(wù)壓力
這個(gè)代碼審查任務(wù)的時(shí)間安排很緊,只靠?jī)蓚€(gè)高級(jí)開發(fā)人員是不可能在規(guī)定時(shí)間內(nèi)完成的。這樣,就造成了很多的編碼錯(cuò)誤和潛在的缺陷。接下來(lái),還會(huì)對(duì)單元測(cè)試和集成測(cè)試造成影響。
由于工作難度很大(審查所有源代碼和檢查所有的QA計(jì)劃列表),Joel Calderon(NSP的軟件設(shè)計(jì)主管)決定尋找一種解決方案可以替代人工代碼審查和單元測(cè)試。
NSP公司一向?qū)|(zhì)量要求很高,這次的任務(wù)也不例外。因?yàn)镴oel之前有過(guò)使用Parasoft Jtest解決Java測(cè)試的經(jīng)驗(yàn),所以這次他決定看看Parasoft公司有沒(méi)有好的解決方案。接著,他發(fā)現(xiàn)了可以滿足期望的Parasoft C++test。這是一個(gè)自動(dòng)化的C/C++單元測(cè)試和編碼標(biāo)準(zhǔn)分析工具。
自動(dòng)化代碼審查
VTS團(tuán)隊(duì)在代碼審查期間,為了保證高質(zhì)量遇到了以下兩個(gè)問(wèn)題:
- 通用編碼違規(guī)
- 邏輯和設(shè)計(jì)錯(cuò)誤
由于尋找和解決代碼違規(guī)花費(fèi)了團(tuán)隊(duì)很多時(shí)間,因此VTS將這部分工作交給Parasoft C++test自動(dòng)完成。這樣,他們就可以專注于更改邏輯和設(shè)計(jì)的錯(cuò)誤。
他們使用Parasoft C++test的RuleWizard功能來(lái)檢查編碼違規(guī)。Cherry Ann Alib是一個(gè)軟件設(shè)計(jì)工程師,她說(shuō):“It’s very useful because we can customize our rules with RuleWizard for the code review and coding standards analysis。(它很有用,我們可以使用RuleWizard自定義規(guī)則進(jìn)行代碼審查和編碼標(biāo)準(zhǔn)分析。)”
在使用了Parasoft C++test之后,Joel說(shuō):“It worked wonders for detecting the coding violations。(它創(chuàng)造了編碼違規(guī)檢測(cè)的奇跡。)”Parasoft C++test在2~3小時(shí)內(nèi)檢查了8000~10000行的代碼。多虧了Joel,團(tuán)隊(duì)在代碼審查上節(jié)省了大量的時(shí)間和成本。
此前,由高級(jí)工程師做相同的工作卻花費(fèi)了10~15個(gè)小時(shí)?,F(xiàn)在,團(tuán)隊(duì)里即使只有沒(méi)有經(jīng)驗(yàn)的新人也可以完成這樣的任務(wù)了。因?yàn)樗麄円龅闹皇菍W(xué)習(xí)如何操作Parasoft C++test。在此之前的幾年里,代碼審查需要豐富的經(jīng)驗(yàn)和大量的知識(shí)儲(chǔ)備。Parasoft的C ++將這一切障礙都消除了。
自動(dòng)化單元測(cè)試
單元測(cè)試的任務(wù)同樣時(shí)間很緊,VTS團(tuán)隊(duì)必須在兩周內(nèi)完成500多個(gè)單元測(cè)試用例。Cherry說(shuō):“We were having a hard time creating unit test items manually. It was a tedious task, so we started looking for a tool that would automate the creation of test items。(這個(gè)任務(wù)不僅很難人工完成,而且乏味,所以需要一個(gè)自動(dòng)化的工具代替這個(gè)過(guò)程。)”
Parasoft C++test大大減少了編寫測(cè)試用例,執(zhí)行單元測(cè)試和回歸測(cè)試的時(shí)間??梢栽谕砩线\(yùn)行這些測(cè)試用例,然后白天查看結(jié)果。從設(shè)計(jì)階段到單元測(cè)試階段,會(huì)檢查出75%到80%的錯(cuò)誤。因此,從集成測(cè)試階段到產(chǎn)品發(fā)布只剩下20%到25%的錯(cuò)誤。
高效的質(zhì)量管理
Joel說(shuō):“Parasoft C++test enabled the VTS team to organize and streamline their quality initiatives。(Parasoft C++test簡(jiǎn)化了他們的質(zhì)量管理工作。 )”所有的編碼規(guī)則和測(cè)試要求都可以放在Parasoft C++test中,而不用在成員間交流自己的知識(shí)和經(jīng)驗(yàn)。這樣統(tǒng)一的規(guī)則和要求大大提升了產(chǎn)品質(zhì)量。
新人的培訓(xùn)變得簡(jiǎn)單多了,只需要教他們?nèi)绾芜\(yùn)行Parasoft C++test 就可以了。在之前,需要培訓(xùn)很多的東西,例如編碼規(guī)則、代碼審查、測(cè)試范圍等等。
減少加班和壓力
最后,他們?cè)谌绱司o張的時(shí)間里完成了項(xiàng)目計(jì)劃。他們贏得了客戶的贊賞,良好的口碑為他們帶來(lái)了更多的項(xiàng)目。
除了保證項(xiàng)目的成功和高質(zhì)量,也大大減少了團(tuán)隊(duì)的工作量。員工再也不需要每天加班七八個(gè)小時(shí)。因?yàn)镻arasoft C++test可以代替他們?cè)谕砩霞影唷?
事實(shí)證明,Parasoft C++test可以同時(shí)改善產(chǎn)品和生活質(zhì)量。
本文翻譯自:www.parasoft.com