摘要:軟件測(cè)試日益受到重視,大型復(fù)雜系統(tǒng)建立統(tǒng)一軟件測(cè)試管理規(guī)范也成為一種趨勢(shì)。本文介紹了大型復(fù)雜系統(tǒng)的測(cè)試管理,內(nèi)容包括測(cè)試組織、測(cè)試環(huán)境、測(cè)試流程、測(cè)試考核、測(cè)試工具等方面。
【關(guān)鍵詞】軟件測(cè)試大型復(fù)雜系統(tǒng)測(cè)試環(huán)境管理測(cè)試考核測(cè)試工具
1概述
隨著我國(guó)信息業(yè)的不斷發(fā)展,大型企業(yè)的軟件系統(tǒng)變得規(guī)模巨大、業(yè)務(wù)日漸復(fù)雜,企業(yè)對(duì)軟件功能、性能的要求也越來(lái)越高。眾多企業(yè)開(kāi)始逐步認(rèn)識(shí)到軟件開(kāi)發(fā)質(zhì)量對(duì)企業(yè)信息化的重要性,如果軟件本身存在缺陷,將造成企業(yè)人力、物力和財(cái)力的巨大浪費(fèi),甚至造成不可彌補(bǔ)的損失。因此,為保證軟件質(zhì)量,需要在軟件開(kāi)發(fā)完成以后,針對(duì)軟件測(cè)試工作進(jìn)行有效管理。
如何對(duì)軟件測(cè)試進(jìn)行有效管理,主要需要建立一整完善的軟件版本測(cè)試體系。首先,要對(duì)測(cè)試過(guò)程進(jìn)行分層管理,測(cè)試過(guò)程一般包含軟件出廠測(cè)試、用戶(hù)驗(yàn)收測(cè)試、功能回歸測(cè)試三個(gè)環(huán)節(jié)。其次,基于分層測(cè)試,設(shè)置不同層級(jí)的測(cè)試標(biāo)準(zhǔn),模擬生產(chǎn)系統(tǒng)建立預(yù)生產(chǎn)環(huán)境,形成閉環(huán)測(cè)試流程管理,有效解決軟件出廠測(cè)試不嚴(yán)謹(jǐn)、測(cè)試場(chǎng)景不充分、測(cè)試數(shù)據(jù)不理想等原因造成的故障和問(wèn)題。最后,要制定測(cè)試管理規(guī)范,對(duì)測(cè)試組織及職責(zé)、測(cè)試環(huán)境管理、測(cè)試標(biāo)準(zhǔn)、測(cè)試流程、測(cè)試考核、測(cè)試工具等進(jìn)行規(guī)范管理。
2測(cè)試組織
一般而言,獨(dú)立的測(cè)試團(tuán)隊(duì)能夠更專(zhuān)業(yè)、更公正的完成相關(guān)測(cè)試。因此,通過(guò)引入第三方獨(dú)立測(cè)試團(tuán)隊(duì),與包括軟件開(kāi)發(fā)廠商測(cè)試團(tuán)隊(duì)在內(nèi)形成由甲方測(cè)試主管統(tǒng)一管理的測(cè)試組織(如圖1所示)。甲方測(cè)試主管兩人,互為A、B角,軟件開(kāi)發(fā)廠商測(cè)試團(tuán)隊(duì)包括測(cè)試經(jīng)理和測(cè)試工程師。第三方測(cè)試團(tuán)隊(duì)包括自動(dòng)化功能測(cè)試團(tuán)隊(duì)、性能測(cè)試團(tuán)隊(duì)、安全測(cè)試團(tuán)隊(duì)、環(huán)境管理團(tuán)隊(duì)。由甲方測(cè)試主管、軟件開(kāi)發(fā)廠商測(cè)試經(jīng)理、第三方測(cè)試團(tuán)隊(duì)測(cè)試經(jīng)理組成測(cè)試管理辦公室。
3測(cè)試環(huán)境管理
高效的測(cè)試環(huán)境管理可以提高軟件測(cè)試質(zhì)量。完備的測(cè)試環(huán)境包括四部分:開(kāi)發(fā)環(huán)境、測(cè)試環(huán)境、預(yù)生產(chǎn)環(huán)境、生產(chǎn)環(huán)境。通過(guò)自動(dòng)化部署、自動(dòng)化冒煙測(cè)試提高環(huán)境管理的效率。
(1)開(kāi)發(fā)環(huán)境:提供給系統(tǒng)廠商開(kāi)發(fā)人員使用,主要用于軟件開(kāi)發(fā)后單元測(cè)試。
(2)測(cè)試環(huán)境:提供給系統(tǒng)廠商軟件測(cè)試人員使用,主要用于集成測(cè)試、系統(tǒng)測(cè)試。
(3)預(yù)生產(chǎn)環(huán)境:定期同步生產(chǎn)環(huán)境數(shù)據(jù),并進(jìn)行數(shù)據(jù)清洗。提供給用戶(hù)進(jìn)行需求驗(yàn)證,第三方測(cè)試團(tuán)隊(duì)進(jìn)行自動(dòng)化功能測(cè)試,主要用于用戶(hù)接受測(cè)試、回歸測(cè)試。
(4)生產(chǎn)環(huán)境:提供給第三方測(cè)試團(tuán)隊(duì)進(jìn)行性能測(cè)試。
開(kāi)發(fā)環(huán)境、測(cè)試環(huán)境、預(yù)生產(chǎn)環(huán)境、生產(chǎn)環(huán)境由甲方統(tǒng)一管理,采用嚴(yán)格的授權(quán)管理。開(kāi)發(fā)環(huán)境的單元測(cè)試通過(guò)后的版本,可以通過(guò)工單申請(qǐng)發(fā)布到測(cè)試環(huán)境。測(cè)試環(huán)境的集成測(cè)試、系統(tǒng)測(cè)試通過(guò)后的版本,可以通過(guò)工單申請(qǐng)發(fā)布到預(yù)生產(chǎn)環(huán)境。預(yù)生產(chǎn)環(huán)境用戶(hù)接受測(cè)試、自動(dòng)化化回歸測(cè)試通過(guò)后,可以通過(guò)工單申請(qǐng)發(fā)布到生產(chǎn)環(huán)境。
4測(cè)試分類(lèi)
根據(jù)測(cè)試的階段,將測(cè)試分為單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試、驗(yàn)收測(cè)試、回歸測(cè)試(如表1所示)。
(1)單元測(cè)試:對(duì)軟件中的基本組成單位進(jìn)行測(cè)試。例如:一個(gè)模塊、一個(gè)過(guò)程等等。由廠商軟件開(kāi)發(fā)人員完成。
(2)集成測(cè)試:在軟件系統(tǒng)集成過(guò)程中進(jìn)行測(cè)試,其主要目的是檢查軟件單位之間的接口是否正確。由廠商軟件測(cè)試人員完成。
(3)系統(tǒng)測(cè)試:對(duì)已經(jīng)集成好的軟件系統(tǒng)進(jìn)行徹底的測(cè)試,以驗(yàn)證軟件的正確性、性能等滿(mǎn)足其規(guī)約要求。
(4)驗(yàn)收測(cè)試:驗(yàn)證軟件是否滿(mǎn)足用戶(hù)需求。是軟件投入使用之前的最后測(cè)試。
(5)回歸測(cè)試:軟件維護(hù)階段,對(duì)軟件進(jìn)行修改之后進(jìn)行的測(cè)試。驗(yàn)證修改達(dá)到預(yù)定目的、修改不影響其他功能的正確性。
5測(cè)試流程測(cè)試流程
一般包含測(cè)試需求、測(cè)試計(jì)劃、測(cè)試準(zhǔn)備、測(cè)試執(zhí)行、測(cè)試報(bào)告五大流程。首先根據(jù)軟件需求和質(zhì)量目標(biāo)明確測(cè)試需求,編制軟件測(cè)試需求規(guī)格說(shuō)明書(shū)并進(jìn)行評(píng)審;其次,制定測(cè)試計(jì)劃,包括測(cè)試策略、測(cè)試準(zhǔn)則、測(cè)試資源、責(zé)任人、測(cè)試時(shí)間進(jìn)度等;再次,按照測(cè)試計(jì)劃開(kāi)始準(zhǔn)備測(cè)試所需要的數(shù)據(jù)、環(huán)境、測(cè)試人員及賬號(hào)準(zhǔn)備等;最后,執(zhí)行測(cè)試用例,并將期望結(jié)果與實(shí)際測(cè)試結(jié)果比較,形成測(cè)試報(bào)告。
各軟件開(kāi)發(fā)廠商項(xiàng)目經(jīng)理負(fù)責(zé)各自系統(tǒng)的單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試,測(cè)試過(guò)程記錄在測(cè)試管理系統(tǒng)中。生產(chǎn)系統(tǒng)版本升級(jí)需要經(jīng)過(guò)用戶(hù)接受測(cè)試、第三方回歸測(cè)試。在ITSM系統(tǒng)中提交生產(chǎn)系統(tǒng)部署需求申請(qǐng),需要同時(shí)提交測(cè)試用例和廠測(cè)試報(bào)告,系統(tǒng)自動(dòng)化在預(yù)生產(chǎn)系統(tǒng)部署待發(fā)布版本。啟動(dòng)用戶(hù)測(cè)試子流程、自動(dòng)化回歸測(cè)試子流程。測(cè)試結(jié)果反饋到ITSM系統(tǒng),經(jīng)過(guò)審核后,帶發(fā)布版本自動(dòng)化灰度部署到生產(chǎn)系統(tǒng)。
6測(cè)試考核
為保證軟件版本質(zhì)量,同時(shí)對(duì)廠商測(cè)試團(tuán)隊(duì)、第三方測(cè)試團(tuán)隊(duì)進(jìn)行打分考核。軟件版本發(fā)布前需要經(jīng)過(guò)用戶(hù)測(cè)試、回歸測(cè)試,測(cè)試結(jié)果對(duì)開(kāi)發(fā)廠商測(cè)試團(tuán)隊(duì)進(jìn)行考核。系統(tǒng)版本上線后發(fā)現(xiàn)軟件缺陷,對(duì)第三方測(cè)試團(tuán)隊(duì)、開(kāi)發(fā)廠商測(cè)試團(tuán)隊(duì)同時(shí)進(jìn)行考核。軟件缺陷按照嚴(yán)重程度劃分為五級(jí):致命、嚴(yán)重、一般、輕微、建議。根據(jù)BUG的數(shù)量、嚴(yán)重程度進(jìn)行扣分。制定統(tǒng)一的測(cè)試考核指標(biāo),對(duì)人均編制測(cè)試用例數(shù)量、人均執(zhí)行測(cè)試用例數(shù)量、人均單功能、測(cè)試用例覆蓋率(∑測(cè)試用例數(shù)量/∑系統(tǒng)功能點(diǎn)數(shù)量)、測(cè)試用例有效率(∑缺陷數(shù)量/∑測(cè)試用例數(shù)量)、自動(dòng)化測(cè)試代碼量等指標(biāo)進(jìn)行考核。每月召開(kāi)測(cè)試組織的測(cè)試?yán)龝?huì),對(duì)上月測(cè)試情況進(jìn)行展示、對(duì)考核情況進(jìn)行通報(bào),對(duì)版本上線后發(fā)現(xiàn)的軟件缺陷進(jìn)行根因分析,并提出改進(jìn)措施。對(duì)下月測(cè)試內(nèi)容、測(cè)試計(jì)劃。
7測(cè)試工具
7.1測(cè)試管理系統(tǒng)
測(cè)試管理工具,主要用于對(duì)測(cè)試需求、測(cè)試計(jì)劃、測(cè)試用例、測(cè)試過(guò)程、軟件缺陷進(jìn)行跟蹤管理的工具。通過(guò)測(cè)試管理工具,可以讓測(cè)試人員、開(kāi)發(fā)人員更好的協(xié)同工作,提高測(cè)試效率,提升軟件版本的質(zhì)量。軟件測(cè)試管理工具前期使用過(guò)BugFree、Readmine和Testlink等工具。目前,主要使用禪道進(jìn)行測(cè)試管理,并在此基礎(chǔ)上進(jìn)行增強(qiáng)開(kāi)發(fā)。滿(mǎn)足對(duì)測(cè)試的全面管理。包括人員管理、編制測(cè)試用例、執(zhí)行測(cè)試用例、記錄測(cè)試用例對(duì)應(yīng)的軟件缺陷、生成測(cè)試報(bào)告、自動(dòng)計(jì)算測(cè)試考核指標(biāo)等。
7.2自動(dòng)化測(cè)試平臺(tái)
自動(dòng)化測(cè)試是把以人為驅(qū)動(dòng)的測(cè)試行為轉(zhuǎn)化為機(jī)器執(zhí)行的一種過(guò)程,用機(jī)器替代人工執(zhí)行重復(fù)的手動(dòng)測(cè)試,是軟件測(cè)試的重要組成部分。一般而言,大型系統(tǒng)部署規(guī)模較大、包含海量數(shù)據(jù)且業(yè)務(wù)邏輯復(fù)雜,采用手工測(cè)試覆蓋率遠(yuǎn)達(dá)不到要求,因此,我們自主研發(fā)了可動(dòng)態(tài)擴(kuò)展的自動(dòng)化測(cè)試平臺(tái),用于對(duì)軟件版本的回歸測(cè)試。自動(dòng)化測(cè)試平臺(tái)主要分為司令機(jī)、士兵機(jī)兩部分。司令機(jī)主要提供了測(cè)試組件管理、測(cè)試用例管理、自動(dòng)化測(cè)試任務(wù)管理、統(tǒng)計(jì)分析等功能;士兵機(jī)主要提供組件編制、自動(dòng)化測(cè)試任務(wù)執(zhí)行和執(zhí)行結(jié)果反饋功能(如圖2所示)。
7.3自動(dòng)化部署平臺(tái)
自動(dòng)化部署管理軟件,可以將大量繁雜的手工部署自動(dòng)化,由人工部署向自動(dòng)化部署進(jìn)行轉(zhuǎn)變,縮短了因系統(tǒng)部署導(dǎo)致的系統(tǒng)中斷時(shí)間。而且,因其全流程均采用自動(dòng)化方式,避免了發(fā)布人員與發(fā)布包的直接接觸,提高了發(fā)布包的準(zhǔn)確率并降低了發(fā)布過(guò)程中的誤操作行為。因此,我們自主研發(fā)了自動(dòng)化部署平臺(tái),主要分為兩個(gè)部分,服務(wù)端和客戶(hù)端。服務(wù)端用于環(huán)境管理、定義部署流程、執(zhí)行部署流程、生成任務(wù)部署報(bào)告等?蛻(hù)端用于執(zhí)行部署流程步驟中使用到的原子操作命令、反饋命令執(zhí)行結(jié)果、記錄操作日志等。實(shí)現(xiàn)了一鍵式部署簡(jiǎn)單易用,發(fā)布過(guò)程可實(shí)時(shí)以圖形化方式顯示發(fā)布狀態(tài)以及自動(dòng)處理發(fā)布異常,能持續(xù)將日常發(fā)布經(jīng)驗(yàn)集成到系統(tǒng)中。系統(tǒng)部署后,可自動(dòng)進(jìn)行中間件狀態(tài)校驗(yàn)、系統(tǒng)功能校驗(yàn)。
7.4其他工具
除了測(cè)試管理系統(tǒng)、自動(dòng)化測(cè)試平臺(tái)、自動(dòng)化部署平臺(tái)外,性能測(cè)試工具JMeter、白盒源代碼安全掃描工具FortifySCA、黑盒漏洞掃描工具AppScan等都是日常測(cè)試使用較多的工具。
通過(guò)以上對(duì)測(cè)試發(fā)布全過(guò)程的優(yōu)化,中國(guó)電信在系統(tǒng)維護(hù)過(guò)程中做到了測(cè)試流程的規(guī)范管理,軟件質(zhì)量的有效管控。同時(shí),我們也看到,在軟件測(cè)試這條路上,還需要繼續(xù)摸爬滾打,不斷的自我否定和提升,但作為測(cè)試人員,始終相信,測(cè)試之路將會(huì)越來(lái)越有技術(shù)含量,越來(lái)越多繁花相伴。
參考文獻(xiàn)
[1]段念,軟件性能測(cè)試過(guò)程詳解與案例剖析[M].北京:清華大學(xué)出版社,2016.
[2]RomPatton,軟件測(cè)試[M].北京:機(jī)械工業(yè)出版社,2012.
[3]TimRiley&AdamCoucher,測(cè)試之美[M].北京:機(jī)械工業(yè)出版社,2010.
[4]王峰,陳杰,軟件測(cè)試的藝術(shù)[M].北京:機(jī)械工業(yè)出版社,2006.
轉(zhuǎn)載請(qǐng)注明來(lái)自:http://www.jinnzone.com/jisuanjiyingyonglw/67708.html