許 禛
(91413 部隊,河北 秦皇島 066001)
SQA在軟件測試中的作用
許 禛
(91413 部隊,河北 秦皇島 066001)
介紹了軟件質(zhì)量保證(SQA)在測試過程中的實施方法及內(nèi)容,分析了SQA在測試中的作用,并重點提出了軟件質(zhì)量保證的實現(xiàn)所應(yīng)注意的具體事項和工作方法,為以后很好的完成軟件質(zhì)量保證工作提供依據(jù)。
SQA;標準;規(guī)程;軟件測試
對軟件開發(fā)和軟件測試單位來說,質(zhì)量保證活動是必不可少的。第一個正式的質(zhì)量保證和控制職能部門于1916年在貝爾實驗室出現(xiàn),此后迅速風靡整個軟件行業(yè)。軟件的質(zhì)量標準首先出現(xiàn)在20世紀70年代軍方的軟件開發(fā)合同中,此后得到了廣泛的應(yīng)用。在軟件越來越普及的今天,“軟件質(zhì)量保證”更成為軟件開發(fā)和軟件測試單位及最終用戶所關(guān)心的問題。軟件質(zhì)量保證的目的是向管理者提供對軟件過程進行全面監(jiān)控的手段,使軟件過程對于管理人員來說是可見的,包括評審軟件過程和審核軟件產(chǎn)品,驗證它們是否符合相應(yīng)的標準和規(guī)程,同時給項目管理者及測試組相關(guān)人員提供這些評審和審核的結(jié)果。
2.1 軟件質(zhì)量保證(即 SQA——Software Quality Assurance)
是 CMM2級中的一個關(guān)鍵過程域,它是貫穿整個軟件過程的第三方獨立審查活動,在整個軟件開發(fā)或測試過程中充當重要角色。
2.2 實施SQA的目的
反映產(chǎn)品和過程質(zhì)量的信息和數(shù)據(jù),提高項目測試透明度。主要包括以下三個方面:
(1)通過監(jiān)控軟件測試過程來保證產(chǎn)品質(zhì)量;
(2)保證軟件的測試過程和產(chǎn)品符合相應(yīng)的標準與規(guī)程;
(3)保證軟件測試過程及產(chǎn)品中存在的不符合問題得到處理,必要時將問題反映給高級管理者。
除了以上三點之外,還希望SQA能夠收集測試過程中好的測試方法和發(fā)現(xiàn)測試不利的原因,為中心修改質(zhì)量管理體系提供依據(jù),也為其他項目組的測試過程實施提供好的建議。
SQA既是高級管理者的“耳目”—幫助高級管理者了解項目的過程和產(chǎn)品質(zhì)量,又是項目的助手—保證項目組在開發(fā)及測試過程中,按照本單位所規(guī)定的標準、規(guī)程、模板等進行項目開發(fā)及測試活動,確保最終要交付軟件產(chǎn)品的質(zhì)量。針對如何實施SQA,下面我具體介紹一下SQA在測試需求分析中的實踐:
(1)SQA是有計劃進行的,需參照項目負責人所擬訂的任務(wù)描述表及測評項目管理計劃,制定一個該項目的軟件測評質(zhì)量保證計劃,經(jīng)評審批準后交SCM組,將其納入管理和控制。質(zhì)量保證計劃的內(nèi)容至少包括:確定SQA的角色和職責;確定SQA評審和審核的依據(jù);確定“評審軟件測評活動”和“審核測評工作產(chǎn)品”的計劃等。依據(jù)計劃里的明確規(guī)定,按照時間節(jié)點對軟件測試各個階段進行獨立的,階段性的評審和審核。在執(zhí)行測評項目質(zhì)量保證活動的過程中,SQA人員或相關(guān)人員可以提出對測評項目質(zhì)量保證計劃的變更請求。SQA人員將該變更請求提交評審和批準。評審通過后,原審批人對變更進行審批。SQA人員依據(jù)批準的變更請求,對測評項目質(zhì)量保證計劃實施變更。變更完成并經(jīng)原審批人員確認后,將其替換舊版,并重新提交SCM組,將其納入管理和控制。
(2)軟件測試共分六個階段:需求分析階段、策劃階段、設(shè)計階段、執(zhí)行階段、總結(jié)階段、項目收尾階段。有些單位習慣把項目收尾階段合進總結(jié)階段里。在測試的需求分析階段SQA人員就應(yīng)介入到項目當中去,對項目要有所了解。在項目組編制軟件測試需求說明的過程中,SQA人員要預先和項目負責人及負責編制軟件測試需求說明的測試人員打好招呼,對這個階段的過程活動進行評審,評審的過程中要有相關(guān)的測試人員在場,參照所依據(jù)相應(yīng)的標準、規(guī)程編制的本階段的評審檢查表,評審其是否覆蓋了委托方的所有需求;是否定義了正式合格性項;是否確定了需要的測試類型,并確定測試類型中各個測試項及其優(yōu)先級;是否在現(xiàn)場測試過程中采取了安全保密措施等,并對此階段活動中所涉及到的策劃文檔、被測件管理文檔、跟蹤和控制文檔及配置管理文檔中的相關(guān)內(nèi)容進行評審。評審完畢后編制評審報告并通報給相關(guān)人員。
(3)在軟件測試需求說明產(chǎn)品完成之后,需求階段評審(各個階段在產(chǎn)品完成之后,由技術(shù)領(lǐng)導組織一次總的階段評審)之前,參照所依據(jù)相應(yīng)的標準、規(guī)程編制的本階段的審核檢查表對此階段生成的產(chǎn)品進行審核,審核軟件測試需求說明是否滿足可測試性、一致性及完備性要求。編制的格式是否符合模板要求。定義的正式合格性項是否符合軟件需求、委托書及測試提示的要求。系統(tǒng)測試(或其他測試級別)的具體要求是否符合軟件需求、被測件及測試提示的要求。測試需求同軟件需求是否具有雙向可追溯性等,審核完畢后編制審核報告并通報給相關(guān)人員。
(4)在整個階段的評審和審核過程中,如發(fā)現(xiàn)有輕微的偏離標準和規(guī)程的地方,友善的向相關(guān)測試人員提醒一下就可以,如發(fā)現(xiàn)有影響到產(chǎn)品質(zhì)量的錯誤,就拿出證據(jù)向項目負責人及相關(guān)測試人員溝通,希望他們及時地改進,如果同樣錯誤重復發(fā)生就開具不符合項,并采取糾正措施。如果項目負責人或相關(guān)的測試人員堅持自己的觀點,或其他原因不予改正,就直接上報管理層,請管理層幫助解決,SQA人員要負責跟蹤整改完畢。
以上是本人在軟件測試需求分析階段實施過程中的一些做法,其他幾個階段也是相似的工作程序。最后,在項目收尾階段完事之后,SQA人員把所有的質(zhì)量保證文檔,其中包括:軟件質(zhì)量保證計劃,各階段的評審檢查表和評審報告、審核檢查表和審核報告及開具的不符合項報告等一起交付給該項目的負責人統(tǒng)一歸檔。
在軟件測試項目中采用SQA有以下幾個優(yōu)點:
(1)能夠大大減輕項目負責人的工作量,不會讓項目負責人成天都查來查去,只要一開始你把時間安排好,與SQA人員溝通好,SQA人員在檢查和審計的過程中能夠幫你去查,一些小的問題可以順便幫你改正,除非有重大改動。
(2)采用 SQA的方式使測試工作有序、規(guī)范,大大縮短了測試時間。雖然前期因為檢查和審計要投入很多時間,但可以盡早地發(fā)現(xiàn)問題,把問題控制在最小的范圍之內(nèi),到了后期,時間就會大大縮短。
(3)測試工作透明化,業(yè)績透明化,軟件測試項目的測試過程與工作結(jié)果所有的相關(guān)人員特別是高層領(lǐng)導都可以了解和監(jiān)控到。
(1)要考慮SQA人員的素質(zhì)。SQA人員要有很強的溝通能力,和軟件項目負責人以及項目組中的測試人員保持良好的溝通,才能深入了解項目,及時獲得真實的項目情況。
(2)SQA要熟悉軟件測試過程。一個好的SQA應(yīng)該在軟件測試過程中作為測試人員參與過一個或多個環(huán)節(jié),這樣他們才能在過程監(jiān)督中比較準確地抓住重點,同時他們的意見和提出的解決辦法也會更貼近項目組,容易被項目組接受。
(3)SQA本身要有很強的計劃性。SQA一方面要監(jiān)督軟件項目組編寫計劃,另一方面SQA自身的工作也要有計劃,并且能夠按照計劃開展工作。
(4)組織應(yīng)當建立文檔化的標準和規(guī)程,使SQA人員在工作時有一個依據(jù)、判斷的準則,如果沒有這些標準和規(guī)程,SQA人員就無法準確地判斷軟件開發(fā)及軟件測試活動中的問題,容易引發(fā)不必要的爭論。
(5)高級管理層必須重視軟件質(zhì)量保證活動。在一些組織的軟件生產(chǎn)過程中,高級管理層不重視軟件質(zhì)量保證活動,對SQA人員發(fā)現(xiàn)的問題不及時處理。軟件質(zhì)量保證就流于形式,很難發(fā)揮它應(yīng)有的作用。
(6)SQA人員在工作過程中一定要抓住問題的重點與本質(zhì),能夠為項目組提供有效的建議和有價值的經(jīng)驗教訓,不要陷入對細節(jié)的爭論之中。及時糾正那些不符合標準和規(guī)程的疏漏或執(zhí)行得不完全的步驟,以此來保證軟件產(chǎn)品的質(zhì)量。
實際上,測試是事后檢驗產(chǎn)品的質(zhì)量,保證產(chǎn)品符合委托方的需求;而SQA的職責是審計過程的質(zhì)量,保證測試過程和產(chǎn)品與中心內(nèi)部標準的符合性。SQA人員與項目組人員的合作態(tài)度是完成軟件質(zhì)量保證的關(guān)鍵,如果合作態(tài)度是敵意的或者是挑剔的,則軟件質(zhì)量保證工作就難以順利實現(xiàn)。所以SQA人員要有為項目組服務(wù)精神,深入了解測試項目的活動,幫助測試項目組確保項目正確的執(zhí)行。
[1]何曉源.如何實施SQA[J].計算機世界報,2004.
[2]Daniel Galin.軟件質(zhì)量保證[M].北京:機械工業(yè)出版社, 2004.
The role of SQA in software testing
This paper introduces the implementation of software quality assurance (SQA) method in the process of testingand analysis of the content, the role of SQA in the test, and puts forward the specific matters and methods of workshould pay attention to software quality assurance, as well complete the work provide the basis for software quality assurance.
SQA; standard; specification; software testing
TP315
A
1008-1151(2015)05-0008-02
2015-04-11
許禛(1983-),男,河北秦皇島人,91413部隊工程師,研究方向為軟件測試。