


摘要:針對大規模項目架構復雜、業務龐大的系統特點,制定出一套完整的測試機制,從多個維度出發,如,研發階段、環境關聯、發布管理以及自動測試等,全面設計測試工作方案,總結得出敏捷迭代研發測試模式。該方法成功應用于中國電信營銷服務系統(簡稱“營銷2.0”)的測試工作中,驗證了該方法的有效性。
關鍵詞:軟件測試;測試模式;組件測試;測試環境;測試發布
吳超(1980.04.22-),男,回族,江蘇南京,本科,中心經理,研究方向:軟件測試。
一、引言
通信安全是國民經濟和社會發展的重要基礎。“十一五”以來,中國電信逐漸加強通信工程全面建設,積極建立全新的營銷信息系統,該系統主要是基于應用系統,并以24套系統形成第一代營銷,可有效為客戶提供良好服務,全方位開拓市場,強化營銷管理。隨著社會趨勢的快速變化與發展,客戶要求逐漸呈現多元化,在通信市場的改革推進下,信息技術全面拓展,市場營銷不斷向數字化方向發展。由此在一系列影響因素下,營銷1.0系統無法滿足當前營銷服務需求,繼而中國電信啟動了新一代營銷服務系統(簡稱營銷2.0)的建設及試點工程。2019年完成大面積推廣,2020年轉入運營運維階段。
營銷2.0聚焦增量經營和存量經營兩大流程,采用“平臺+應用”的先進架構,重構了云化、中心化、界面輕量化的新一代系統,促使各項業務得到有效融合,數據信息全面共享,以達到客戶的基本要求,助力中國電信數字化轉型。
營銷信息系統的構建以云計算結構為基礎,建立服務模型充分體現出系統優勢,并利用數字化平臺加強自主研發,從而形成全新的營銷系統,有效推動研發測試工作的有序開展。相關部門高度重視測試模式的敏捷性,可有效保障測試服務,提高系統管理質量,充分展現出營銷系統的功能特點,提高系統運行的穩定程度以及安全度。從而針對軟件測試模式的各個環節展開詳細探究。
二、基于對象狀態的軟件測試方法概述
(一)對象狀態
對象狀態取決于軟件的主要功能,當達到既定條件時,對象狀態通常會產生不同變化,以此展現出相對應的功能。一般情況下,對象轉臺通常為事件中的等待過程,以消息為傳導激發特定功能,促使對象原本狀態發生一定變化。在對象狀態的測試下,相關工作人員應當結合對象狀態的實際變化加以記錄,并將所記錄的內容與預期情況進行詳細比較,從而能夠了解軟件功能的具體狀況,針對軟件性能做出合理判斷。同時,在對象狀態的測試過程中,應當注重符號的利用,充分明確對象空間的基本情況,并結合對象以及功能,控制對象狀態的整體行為。通常對象與類具之間有著密切關聯,對象主要是以人類為支撐存在,運用類方法以達到對象控制的目的,特別是出現私有狀態下的對象,可利用類調用形式間接改變對象狀態,確保其變化得到有效保護。并且,在對象狀態測試中,還應當科學設置監控對象,運用數據分析方法,基于數據流明確對象狀態的實際變化,促使測試下對象狀態能夠展現出類的功能。此外,對象狀態測試還應當采取交互方式,了解類方法下的具體通信狀態,以明確對象狀態觸發的實際情況,保證有效性,繼而科學判斷軟件功能狀況[1]。
(二)狀態屬性
類中的對象通常具備一定屬性,由此應當做好屬性狀態判斷,明確屬性的實際變化狀況,確保類方法以及屬性發揮出重要作用。通常情況下,狀態屬性造成對象變化產生不同程度的影響,促使對象狀態發生一定變化,屬性值則表示狀態變化的相關區間,結合屬性取值的具體情況,將會產生不同執行效果的類方法,繼而導致對象出現變化。在對象狀態屬性中,通常包括數據儲存屬性以及信息控制屬性。其中,數據儲存屬性主要是在類方法的基礎上為對象進行賦值,確保對象具有一定數據屬性,避免程序結構產生不利影響,使其在數據方面出現相應變化。同時,在信息控制屬性下,由于信息屬性的差異,以此使程序調用出現變化,改變當前的程序狀態行為,促使對象屬性有所不同。狀態屬性通常是軟件測試的關鍵部分,結合狀態屬性能夠有效制作測試用例,利用程序圍繞對象狀態變化展開分析,以呈現出狀態分析的完整性。并且,狀態屬性也是軟件測試過程中的主要追蹤對象,結合對象實際變化展開檢測工作,促使對象可根據相關方法加以變化,由此分析對象狀態的實際行為[2]。
(三)測試技術
軟件測試可有效為功能正常運用提供保障,由此應當充分利用測試技術,以確保測試結果的精準性。通常情況下,對象狀態測試技術包含兩種情況。其一,在程序測試的基礎上,運用程序合理斷定對象狀態,以保證對象變化以及程序相吻合,增強軟件測試準確度,在實際測試中,可假設被測試對象,科學安排對象測試狀態,強化測試對象分析效率。其二,以規約測試為基礎,加強功能以及需求控制,科學判斷軟件運行情況。采取規約測試的方法,可有效把握測試重點內容,明確對象狀態等級,對于較為重要的功能應當采取測試的原則,以確保測試狀態得以有序推行。例如,在消息序列處罰對象狀態的測試過程中,可充分分析程序類,并根據功能狀況,利用逆工程分析的方法,以此得出具體的對象狀態轉移規律,從而展現出測試用例的合理性。并運用測試技術判斷對象狀態行為,在程序的作用下,確定測試方法,快速提升測試的精確度[3]。
(三)測試模式
在敏捷開發形式的基礎上,相關人員制定了詳細的工作機制,主要包含三道測試工序,以有效驅動研發消缺[4]。其中,在第一道工序中,需確保產品功能的正常運用以及各項業務正確等[5];第二道工序主要保障產品質量滿足合格標準,符合有關規范要求;而第三道工序則可充分展現出用戶跨場景驗證,促使系統接口交互通信,以此在三道工序后提升系統運行質量。如圖1所示,工作機制的基本流程,以第一道工序以及第二道工序為主。
測試人員關于營銷2.0服務系統特性采取相適應的研發模式,確保其具備一定的敏捷性,并以15天為迭代周期,周期內完成編碼研發以及單元測試等各項內容。如圖2所示,展現出組件測試工作流程。繼而表明測試人員需在迭代周期中的第12天進行提交,在最后3天進行持續不間斷測試,測試開展下出具有關測試報告,可有效為下階段測試工作的開展提供前提保障[6]。
1.單元測試
研發人員在開展單元測試過程中,需確保提測代碼功能可順利運行。研發負責人員加強單元測試質量的全面把控,確保達到規定的測試要求,隨后測試人員可遞交測試申請,保證單元測試得以順利推進。
單元測試工作開展下,測試人員需充分明確具體的準出要求,做好單元測試工作,因而首先,測試開展中,應當高效完成提測功能開發。其次,測試人員需自行測試通過。并掃碼相應代碼,避免出現系統問題,最后,研發人員需經過手工調試以及邏輯驗證等一系列測試方法,以實現單元模塊功能的正常應用,繼而得出精準的測試報告,以供檢測人員了解系統運行狀況。
2.組件測試
組件測試中對環境有著一定要求,需要測試組選定相適宜的測試環境,從而開展的測試工作[7]。在開展組件測試中需充分滿足相關準入要求,在符合既定要求后可充分向集成測試組遞交有關測試,如圖2所示,組件測試的具體流程。在此階段測試中可有效輸出接口測試報告。
一方面,準入要求。工作人員需全面檢查swagger接口,接口用例提交過程中還需遞交不同方面用例,針對相關接口參數進行驗證,確保測試快速通過。
另一方面,準出要求。前臺測試組在開展功能測試時,需對可能產生的問題加以關注,快速解決接口測試中的相關問題,避免系統運行出現阻礙,并在中臺測試下,應保證測試避免出現失敗情況,在Sonar代碼掃描下防止出現嚴重缺陷。
3.集成測試
集成測試需要測試人員在集成條件下整合各項信息資源開展大量測試[8]。如圖3 所示完整的集成測試流程。符合準出標準后形成相應的集成測試報告[9]。
集成測試下,應當明確具體測試依據,在測試依據中通常包含較多內容,如,業務模型等,同時,測試人員應當掌握準入標準,在開發任務完成后可推進前臺測試,全方位檢查各項代碼,以保證無嚴重問題,并在接口測試中加以詳查,明確測試腳本,繼而為研發人員提供大量的測試數據,以供其開展測試工作。并且,集成測試的測試范圍通常包括開發迭代計劃內的功能與接口,前期測試目標通常為實現功能的正常應用。此外,集成測試的準出要求,主要為保證系統滿足既定需求,并確保其避免出現致命功能缺陷,在Sonar代碼掃描下未出現相關代碼問題,符合接口測試標準,有利于軟件系統的正常運行。
三、測試環境管理
(一)規劃測試部署項目
結合營銷2.0系統運行的實際情況,合理劃分有關業務,軟件系統運行時,制定完整的測試部署項目,明確項目的總體要求與測試標準,并逐漸加強對部署項目的全面管控,高效完成各項測試工作,以確保達到良好的測試效果,為軟件系統穩定運行提供充足保障[10]。
(二)制定版本控制策略
在版本控制過程中,項目組可充分運用云效平臺與研效模塊加強代碼管理控制,充分強化測試版本的可靠性,確保整體測試效率,快速明確系統問題[11-12]。因此,軟件系統項目研發過程中,科學設計分支,從不同分支入手高效開展系統測試,繼而形成良好的版本控制。
開發分支中,測試人員需根據分支特點研發,并開展自測工作,隨后遞交代碼到有關分支,隨后需告知研發負責人員,明確功能與代碼后遞交合并。另外測試人員利用云效平臺發布測試[13]。
測試分支下,微服務臺提測過程中,開發人員應當向有關測試負責人遞交測試相關分支請求,確保測試組準確獲得測試流程,隨后測試組需詳細檢查交付物,以保證其合格后可實現微服務的有效合并,并發布相應的測試環境。同時,還應當在系統上線前期全面驗證即將發布的相關服務功能,以了解軟件系統中可能出現的問題,工作人員充分拉取分支代碼并完成提交工作。
發布分支下,測試組通過一系列測試后向配置組傳達,并由配置組充分合并待發布的微服務要求,傳送至發布分支,運用云效平臺在既定測試條件下進行發布,在各項測試之后可將鏡像發布至生產環境下,并對該環境下測試情況加以注意,若出現有關異常情況,測試人員則需修改發布分支代碼至本地后遞交發布分支,以此與開發分支以及測試分支進行合并。
四、測試發布管控
在軟件系統的測試過程中,通常3天發布新版本,與此同時,各組在測試發布管理中也均有著不同作用。
研發組主要是負責發布具體測試任務,并約定窗口期,未在規定期限內發布則需將其放置于下一版本中進行發布。同時,測試組應當結合具體發布任務進行測試,若通過一系列測試則需在任務單中加以標準,若測試中未通過,則需標明具體原因,通過的發布任務需要一并遞交到相應的工程組。工程組則可圍繞通過的任務開展測試,以此發布生產環境。
若有緊急任務,可要求研發組直接遞交發布任務,并在產品組以及研發組相關負責人的一致同意后可遞交測試,測試通過后由工程組進而發布。
五、自動化技術測試
依據最新營銷系統的總體特點,相關研發人員可充分利用自動化技術圍繞具體項目實施測試。如圖4所示。
(一)單元測試
單元測試對代碼質量有著較高要求,為了增強覆蓋率,測試人員在實際研發時,應當充分將代碼遞交到指定分支環境中,并全面掃描代碼,在開發分支條件下積極開展部署測試作業。
(二)接口測試
在接口測試過程中,研發組能夠充分獲取接口文檔,測試人員可從多方面入手開展測試工作,其中,在業務功能方面可有效判斷場景情況;業務規則,明確具體覆蓋度;參數驗證,符合業務的規則標準;異常場景,開展一系列的大數據量測試;性能測試,可有效了解相關資源要求;安全測試下,開啟權限驗證等。
(三)UI測試
全新的營銷系統由于受到開發多種因素的影響,造成前端元素定位存在一定誤差,難以正常推進UI測試,由此需要研究人員將其設為后續的探究目標。
六、測試問題管理
系統管理過程中,詳細記錄有關測試問題,通過對問題的全面分析,如圖5所示,展現出缺陷關閉的具體情況,為此,在開展各項測試工作中,以缺陷為目標加以研究,采取科學的解決方式,加強共性缺陷處理,并借助通用組測試組件,以更好地解決缺陷。
為了帶動研發組積極性,應當制定完整的消缺考核機制,完善消缺計劃,結合具體情況開展考核,針對表現優異的應當加以獎勵,并針對任務未達標人員給予一定懲罰,促使工作人員明確自身職責。
七、結束語
軟件系統主要是有營銷業務服務以及營銷數據服務等模塊組成,底層環境則包括云平臺以及數據中臺等,并利用物聯中心強化管理以整合各項數據,推進營銷業務的有序開展,并從橫向角度出發促使各項業務充分融會貫通,確保業務數據信息得以共同掌握。
綜上,通過從五個不同角度著重探討了中臺以及微服務通信營銷系統的測試方式,可有效展現出通過該測試充分把控系統質量,確保系統快速上線。測試時,受到規模大、單位多等因素的影響,導致過程管控不足,缺乏一定的管理經驗,由此需要研發人員加以深入探索研究,優化系統程序,從而確保項目測試的實踐案例得到全面推廣。
作者單位:吳超 廣東億迅科技有限公司
參? 考? 文? 獻
[1]鴉文,陸一.大型信息系統軟件版本管理流程優化[J].網絡安全技術與應用,2021(09)
[2]周昱偉.計算機軟件測試技術研究[J].電子技術與軟件工程,2021(17)
[3]趙慶濤,孫上海,張孝虎.微服務架構在信息化系統開發平臺中的應用[J].冶金自動化.2021(S1)
[4]孫婧鑫.Web應用的自動化測試研究[J].電腦與信息技術,2020(05)
[5]李信鵬,劉威,楊智萍,等.電網企業數據中臺方案研究[J].電力信息與通信技術,2020(02)
[6]佟業新,曲新奎.微服務架構中的服務質量保障研究[J].計算機系統應用,2019(11)
[7]楊智.一種軟件版本管理模型的設計[J].電子技術與軟件工程,2019(11)
[8]姜文,劉立康.應用軟件項目的迭代開發與測試[J].計算機技術與發展,2019(04)
[9]朱紅甫.打造企業數據中臺推進企業智慧運營[J].通信企業管理,2018(02)
[10]易彤,林茂春.基于關鍵字驅動的自動化測試研究與實現[J].電子技術與軟件工程,2015(05)
[11]劉淵.基于對象狀態的軟件測試方法分析[J].互聯網周刊,2022(21):44-46.
[12]楊軍,張媛,甘麗清,等.大規模項目軟件測試機制研究與應用[J].信息技術,2022(10):142-146+152.
[13]陽紅,車凌,郭萌.軟件測試質量評估方法研究[J].電子質量,2022(10):1-4.