一、 含義
1.
在ANSI/IEEE 中提到以下了六個(gè)品質(zhì)要素:
Ø 正確性(correctness):實(shí)現(xiàn)的功能達(dá)到設(shè)計(jì)規(guī)范,并滿足用戶需求的程度
Ø 可靠性(reliability):在規(guī)定的時(shí)間和條件下,仍能維持其性能水準(zhǔn)的程度
Ø 易用性(usability):用戶掌握軟件操作所要付出的時(shí)間及努力程度
Ø 效率(efficiency):軟件執(zhí)行某項(xiàng)功能所需電腦資源(含時(shí)間)的有效程度
Ø 可維護(hù)性(maintainability):當(dāng)環(huán)境改變或軟件發(fā)生錯(cuò)誤時(shí),執(zhí)行修改或恢復(fù)所做努力的程度
Ø 可移植性(portability):從一個(gè)電腦系統(tǒng)或環(huán)境移到另一電腦系統(tǒng)或環(huán)境的容易程度
2. 軟件測試(Software Test)
盡早、盡可能多地發(fā)現(xiàn)軟件系統(tǒng)中存在的缺陷及問題。但是,好的軟件并不是“測”出來的,而是“做”出來的,所以,每一個(gè)測試人員都應(yīng)該清楚這樣一點(diǎn):任何人都不可能找出軟件中隱含的所有缺陷和問題,正如世界上沒有人是十全十美的。
3. 軟件配置管理(Software Configuration Management,簡稱CM)
簡單來講,配置管理即是對(duì)軟件工作中間件及工作成果的各種管理。其中包括:配置項(xiàng)、配置庫、配置標(biāo)識(shí)、基線(詳見下文)。
二、 工作內(nèi)容及手段
1. 軟件質(zhì)量保證
1) 工作內(nèi)容
Ø 建立軟件質(zhì)量保證活動(dòng)的實(shí)體
Ø 制訂軟件質(zhì)量保證計(jì)劃
Ø 堅(jiān)持各階段的評(píng)審和審計(jì),跟蹤其結(jié)果,并作合適處理
Ø 監(jiān)控軟件產(chǎn)品的質(zhì)量
Ø 采集軟件質(zhì)量保證活動(dòng)的數(shù)據(jù)
Ø 度量軟件質(zhì)量保證活動(dòng)
2) 手段
“請(qǐng)介紹幾種有效的質(zhì)量保證工具?……”,論壇中經(jīng)常有朋友這么問。我想,他可能是把質(zhì)量保證手段統(tǒng)稱為工具了,在我看來,稱作“手段”可能更貼切一點(diǎn)。
下面就來介紹一種有效的質(zhì)量保證手段——同行評(píng)審(Peer Review),以此可以提前發(fā)現(xiàn)許多軟件各階段隱含的問題。比如:
Ø 在需求階段的評(píng)審:發(fā)現(xiàn)需求是否已被很好的定義,其中是否存在技術(shù)上的風(fēng)險(xiǎn)等;
Ø 在設(shè)計(jì)階段的評(píng)審:檢查架構(gòu)、數(shù)據(jù)庫等設(shè)計(jì)的是否合理;
Ø 在編碼階段的評(píng)審:檢查Source code,發(fā)現(xiàn)代碼中不符合編碼規(guī)范部分;
Ø 在測試階段的評(píng)審:檢查測試計(jì)劃安排的是否合理,測試用例設(shè)計(jì)的覆蓋率等;
Ø 在驗(yàn)收階段的評(píng)審:檢查項(xiàng)目文檔是否都已存在于配置管理庫中;總結(jié)項(xiàng)目開發(fā)過程中的一些經(jīng)驗(yàn)教訓(xùn)并作記錄,存入公司的資源庫等。
Peer Review過程中需注意的細(xì)節(jié):
Ø 做評(píng)審計(jì)劃;
Ø 人員不要太多,保證會(huì)議的效率;
Ø 經(jīng)常性地舉行;
Ø 盡量提前點(diǎn)時(shí)間將會(huì)議上要審核的資料發(fā)送給參加會(huì)議的人,并請(qǐng)參會(huì)人員對(duì)發(fā)現(xiàn)有疑問的地方及時(shí)做出標(biāo)識(shí),以提高會(huì)上的效率;
Ø 千萬注意不要將評(píng)審會(huì)議變成聊天或過分爭論會(huì)議;
Ø 評(píng)審團(tuán)隊(duì)最好是由經(jīng)過同行評(píng)審培訓(xùn),并有產(chǎn)品經(jīng)驗(yàn)的相關(guān)人員組成;
Ø 對(duì)評(píng)審人員提出的問題,在會(huì)后,應(yīng)該由文檔作者修改,并最終通過評(píng)審團(tuán)隊(duì)成員的一致確認(rèn)。
3) 常見誤解
Ø 誤解一:認(rèn)為發(fā)布出去的軟件發(fā)現(xiàn)了問題,就是QA和TESTER的責(zé)任;還是那句話,“軟件質(zhì)量保證”并不能保證軟件的質(zhì)量;
Ø 誤解二:QA就是公司的文檔管理員,常有QA稱自己是“打雜工”。實(shí)際上,成為一名出色的QA并不是一件容易的事情,工作年限、工作經(jīng)驗(yàn)、工作成果等都是對(duì)其衡量的標(biāo)準(zhǔn);
Ø 誤解三:QA的工作有TESTER兼職進(jìn)行即可。這是目前多數(shù)軟件公司采取的措施。個(gè)人認(rèn)為,最好將二者分開,TESTER的工作也是有質(zhì)量可言,同樣需要QA進(jìn)行監(jiān)督、檢查,而QA的直接上司即公司的高層領(lǐng)導(dǎo);
2. 軟件測試
1) 工作內(nèi)容
Ø 編寫測試計(jì)劃
Ø 編寫測試用例
Ø 對(duì)軟件開發(fā)過程的重要文檔進(jìn)行測試,如:需求文檔、設(shè)計(jì)文檔等
Ø 測試執(zhí)行
Ø 測試結(jié)果總結(jié)、分析
Ø 測試數(shù)據(jù)的度量(更高要求)
以上工作基本上含蓋了測試的所有工作,在分工比較明細(xì)的公司,通常由不同人員來進(jìn)行,如:
Ø 測試設(shè)計(jì)員:制定和維護(hù)測試計(jì)劃;設(shè)計(jì)測試用例及測試過程;評(píng)估測試,生成測試分析報(bào)告
Ø 測試員:執(zhí)行集成測試和系統(tǒng)測試;
Ø 設(shè)計(jì)員:設(shè)計(jì)測試需要的驅(qū)動(dòng)程序和穩(wěn)定樁;
Ø 編碼員:編寫測試驅(qū)動(dòng)成員和穩(wěn)定樁;執(zhí)行單元測試
2) 手段
Ø 手工測試
目前多數(shù)測試人員都采取的一種測試工具,雖存在一定的弊端,但也絕對(duì)不可以省略。
Ø 自動(dòng)化測試工具
想了解并學(xué)習(xí)自動(dòng)化測試工具的同仁不妨去www.51testing.com看看,里面有介紹自動(dòng)化工具的專欄,很不錯(cuò)的。
Ø BUG管理工具
通常叫BMS(BUG MANAGEMENT SYSTEM)。如果公司不愿意投入成本購買大公司的BUG管理工具,不妨根據(jù)自己的情況開發(fā)一個(gè),便宜又好用,并且一勞永逸!
3. 軟件配置管理
術(shù)語解釋:
Ø 配置項(xiàng):凡是納入配置管理范疇的工作成果都叫做配置項(xiàng)。
Ø 配置庫:所有配置項(xiàng)的集合
Ø 配置標(biāo)識(shí):為了方便管理,而對(duì)各配置項(xiàng)作的標(biāo)識(shí)
Ø 基線:由一組配置項(xiàng)組成,這些配置項(xiàng)構(gòu)成了一個(gè)相對(duì)穩(wěn)定的邏輯實(shí)體。基線中的配置項(xiàng)被“凍結(jié)”了就不能再被任何人隨意修改,直接進(jìn)入變更階段。通常將交付給用戶的基線稱為一個(gè)“Release”,為內(nèi)部開發(fā)用的基線則稱為一個(gè)“Build”。
1) 工作內(nèi)容
Ø 創(chuàng)建配置庫,并至少創(chuàng)建配置庫的所有一級(jí)目錄
Ø 為每個(gè)項(xiàng)目組成員分配權(quán)限
Ø 根據(jù)配置管理計(jì)劃中的基線計(jì)劃維護(hù)基線,“凍結(jié)”配置項(xiàng),控制變更
Ø 定期清楚配置庫里的“垃圾”文件(“垃圾”文件即在項(xiàng)目中產(chǎn)生,但最終不用存檔的一些文檔)
Ø 配置狀態(tài)發(fā)布
Ø 定期備份配置庫
2) 手段
常用配置管理工具如下:VSS、CVS、CLEARCASE等,具體內(nèi)容我已在論壇中發(fā)布過,大家可去查看。
三、 區(qū)別
1. SQA與TESTER的區(qū)別
通過上面各自含義及工作內(nèi)容的描述,我想SQA與TESTER的區(qū)別應(yīng)該比較清晰了吧,現(xiàn)總結(jié)為以下兩點(diǎn):
1) SQA重點(diǎn)是對(duì)軟件開發(fā)過程進(jìn)行監(jiān)督、管理、控制;
2) TESTER重點(diǎn)是對(duì)軟件開發(fā)的成果進(jìn)行檢查、控制。
2. SQA與CM的區(qū)別
1) SQA重在監(jiān)督項(xiàng)目的進(jìn)度,督促項(xiàng)目按開發(fā)流程及規(guī)范進(jìn)行,控制并記錄好各項(xiàng)變更,并通知配置管理員對(duì)配置項(xiàng)做好相應(yīng)的變更;同時(shí)SQA還可以作為SEPG(Software engineering process group)的成員之一,參與公司的軟件過程改進(jìn)工作。
2) 配置管理工作的主要目的是為了保證項(xiàng)目資料得到清晰、有效地管理,加快工作效率的同時(shí),也避免一些意想不到的風(fēng)險(xiǎn),如:代碼丟失或惡意修改等。同時(shí),有效地配置管理工作,還可作為公司建立資源庫的主要來源之一。建立資源庫對(duì)公司來講勢在必行,頻繁的人員流動(dòng)是再充分不過的理由。
四、 結(jié)論
本篇文章可能更適合于新人閱讀,希望能有所幫助;對(duì)于描述不當(dāng)?shù)牡胤?,還請(qǐng)諒解。
軟件質(zhì)量保證、測試和配置管理都剛被各軟件公司重視起來,但它們的春天還未真正到來,否則就不會(huì)經(jīng)常聽到同行們的牢騷和抱怨。不管怎么說,既然你選擇了這一行,就一定要堅(jiān)定自己的選擇,并一如既往地走下去。一定要養(yǎng)成主動(dòng)學(xué)習(xí)的習(xí)慣,不要等著別人去教你怎么做,或直接從別人那里取來就用,而應(yīng)該盡量自己創(chuàng)造。當(dāng)前大部分軟件公司在這些方面還處于起步階段,技術(shù)及資料還不是很成熟,這些對(duì)新人來講不能不說是學(xué)習(xí)的好機(jī)會(huì),同時(shí)也是展示自我的好機(jī)會(huì)。堅(jiān)信,我們的明天會(huì)更好!
附:
目前常用的幾種配置管理工具及優(yōu)缺點(diǎn):
VSS
SourceSafe是Microsoft公司推出的配置管理工具,是Visual Studio的套件之一。SourceSafe是國內(nèi)最流行的配置管理工具,用戶量非常之大;
SourceSafe長的樣子不是很現(xiàn)代,但其強(qiáng)大的功能無不令人驚嘆。SourceSafe的優(yōu)點(diǎn)可以用8個(gè)字來概括“簡單易用,一學(xué)就會(huì)”。
雖然SourceSafe并不是免費(fèi)的,但是在國內(nèi)人們以接近于零的成本得到它,網(wǎng)上到處可以下載啊。當(dāng)然Microsoft也不在乎這個(gè)小不點(diǎn)的軟件,它屬于“買大件送小件”的角色。如果你合法地得到Visual Studio,你就得到了免費(fèi)的SourceSafe。
SourceSafe的主要局限性:
只能在Windows下運(yùn)行,不能在Unix, Linux下運(yùn)行。SourceSafe不支持異構(gòu)環(huán)境下的配置管理,對(duì)用戶而言是個(gè)麻煩事。這不是技術(shù)問題,是微軟公司產(chǎn)品戰(zhàn)略決定的。
適合于局域網(wǎng)內(nèi)的用戶群,不適合于通過Internet連接的用戶群,因?yàn)?span lang="EN-US">SourceSafe是通過“共享目錄”方式存儲(chǔ)文件的。
人無完人,物不盡美。有些賣配置管理工具的軟件供應(yīng)商經(jīng)常貶低SoureSafe,諷刺它是Source not Safe。我不想為誰辯護(hù),只是給出一個(gè)例證說明SourceSafe的效用。有一個(gè)軟件事業(yè)部(約百名開發(fā)人員)的十余個(gè)項(xiàng)目全部采用SourceSafe來管理,只用一臺(tái)PC機(jī)作配置管理服務(wù)器,運(yùn)行一年都沒有發(fā)生異?,F(xiàn)象。
CVS
CVS 是 Concurrent Version System(并行版本系統(tǒng))的縮寫,它是著名的開放源代碼的配置管理工具。
CVS的官方網(wǎng)站是http://www.cvshome.org/ 。官方提供的是CVS服務(wù)器和命令行程序,但是官方并不提供交互式的客戶端軟件。許多軟件機(jī)構(gòu)根據(jù)CVS官方提供的編程接口開發(fā)了各色各樣的CVS客戶端軟件,最有名的當(dāng)推Windows環(huán)境的CVS客戶端軟件——WinCVS。WinCVS是免費(fèi)的,但是并不開放源代碼。
與SourceSafe相比,CVS的主要優(yōu)點(diǎn)是:
SourceSafe有的功能CVS全都有,CVS支持并發(fā)的版本管理,SourceSafe沒有并發(fā)功能。CVS服務(wù)器的功能和性能都比SourceSafe高出一籌。
CVS服務(wù)器是用Java編寫的,可以在任何操作系統(tǒng)和網(wǎng)絡(luò)環(huán)境下運(yùn)行。CVS深受Unix和Linux 的用戶喜愛。Borland公司的JBuilder提供了CVS的插件,Java程序員可以在JBuilder集成環(huán)境中使用CVS進(jìn)行版本控制。
CVS服務(wù)器有自己專用的數(shù)據(jù)庫,文件存儲(chǔ)并不采用SourceSafe的“共享目錄”方式,所以不受限于局域網(wǎng),信息安全性很好。
CVS的主要缺點(diǎn)在于客戶端軟件,真可謂五花八門、良莠不齊。Unix和Linux 的軟件高手可以直接使用CVS命令行程序,而Windows用戶通常使用WinCVS。安裝和使用WinCVS顯然比SourceSafe麻煩不少,這是令人比較遺憾的。
ClearCase
Rational公司的ClearCase是軟件行業(yè)公認(rèn)的功能最強(qiáng)大、價(jià)格最昂貴的配置管理軟件。
ClearCase主要應(yīng)用于復(fù)雜產(chǎn)品的并行開發(fā)、發(fā)布和維護(hù),其功能劃分為四個(gè)范疇:版本控制、工作空間管理(Workspace Management)、構(gòu)造管理(Build Management)、過程控制(Process Control)。ClearCase通過TCP/IP來連接客戶端和服務(wù)器。另外,ClearCase擁有的浮動(dòng)License可以跨越UNIX和Windows NT平臺(tái)被共享。
ClearCase的功能比CVS、SourceSafe強(qiáng)大得多,但是其用戶量卻遠(yuǎn)不如CVS、SourceSafe的多。主要原因是:
ClearCase價(jià)格昂貴,如果沒有批量折扣的話,每個(gè)License大約5000美元。對(duì)于中國用戶而言,這無疑是天價(jià)。
用戶只有經(jīng)過幾天的培訓(xùn)后(費(fèi)用同樣很昂貴),才能正常使用ClearCase。如果不參加培訓(xùn)的話,用戶基本上不可能無師自通。
《軟件質(zhì)量保證計(jì)劃》中包含的主要內(nèi)容:
A. 目的
B. 面向?qū)ο?/span>
C. 參考資料
D. 質(zhì)量機(jī)構(gòu)
E. 機(jī)構(gòu)任務(wù)(明確階段評(píng)審的內(nèi)容及時(shí)間、評(píng)審的參與人員、日常檢查等)
F. 產(chǎn)生文檔清單
G. 參照標(biāo)準(zhǔn)
H. 配置如何管理
I. 日常使用的管理工具
……
《配置管理計(jì)劃》中包含的主要內(nèi)容:
A. 目的
B. 面向?qū)ο?/span>
C. 參考資料
D. 人員及職責(zé)
E. 軟硬件資源
F. 配置項(xiàng)計(jì)劃
G. 基線計(jì)劃
H. 配置庫備份計(jì)劃
……
《測試計(jì)劃》中包含的主要內(nèi)容:
A. 目的
B. 面向?qū)ο?/span>
C. 參考資料
D. 測試策略(主要包括測試內(nèi)容和測試方法)
E. 測試資源(人力資源、軟硬件資源)
F. 測試進(jìn)度
G. 評(píng)價(jià)準(zhǔn)則
H. 測試相關(guān)文檔
……
《測試用例》中包含的主要內(nèi)容:
A. 系統(tǒng)名稱、系統(tǒng)版本、測試類型、用例作者、編寫日期、審核發(fā)布人員及日期、測試執(zhí)行人員;
B. 用例維護(hù)記錄;
C. 用例ID、操作位置、用例描述、期望輸出、實(shí)際輸出、備注、用例狀態(tài)(NT表示由于進(jìn)度等原因而沒有執(zhí)行該用例;Pass表示執(zhí)行成功;Fail表示執(zhí)行失?。籅lock 表示由于其他用例測試未通過而導(dǎo)致該用例無法執(zhí)行)。
……
《測試總結(jié)報(bào)告》中包含的主要內(nèi)容:
A. 目的
B. 面向?qū)ο?/span>
C. 參考資料
D. BUG的追蹤管理
E. 測試結(jié)果分析
F. BUG數(shù)量及等級(jí)分布
G. 對(duì)比分析
H. 測試評(píng)估
I. 改進(jìn)意見
J. 結(jié)論
……
即參照一定的質(zhì)量標(biāo)準(zhǔn)、目標(biāo)及各項(xiàng)軟件流程、規(guī)范來監(jiān)督,管理公司產(chǎn)品的質(zhì)量;在許多質(zhì)量體系還不是很成熟的公司,維護(hù)和發(fā)展這些質(zhì)量標(biāo)準(zhǔn)、流程規(guī)范等也是由質(zhì)量保證人員進(jìn)行。行內(nèi)有個(gè)這樣的說法:“軟件質(zhì)量保證并不能夠保證軟件的質(zhì)量”,事實(shí)也是如此,軟件質(zhì)量的好壞不是一個(gè)人,一個(gè)部門能夠決定的。但是,我們可以把提高軟件的質(zhì)量作為我們從事軟件質(zhì)量保證工作的目標(biāo)。