999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

民航信息系統基于真實業務數據的自動化回歸測試應用實踐

2015-01-03 12:48:19
電子測試 2015年19期
關鍵詞:生產用戶功能

(中國民航信息網絡股份有限公司,北京,100710)

民航信息系統基于真實業務數據的自動化回歸測試應用實踐

楊京煜,劉 瀟,楊程屹

(中國民航信息網絡股份有限公司,北京,100710)

本文分析了中國民航旅客服務系統的業務、技術特點,應用基于真實業務數據的自動化回歸測試技術,設計實現了一套自動化測試平臺,并在交易型、查詢型等多個業務子系統遷移應用中成功實踐,驗證了該技術及測試平臺的可行性和有效性。

旅客服務系統;SOA系統;回歸測試;自動化測試

1 概述

1.1 民航信息系統的特點與挑戰

中國民航信息集團公司暨中國民航信息網絡股份有限公司(簡稱“中國航信”)是全球第三大旅游分銷系統(Global Distribution System,簡稱GDS)提供商,為中國國內主要航空公司提供旅客服務系統(Passenger Services System,簡稱PSS),并拓展與上述核心業務相關的延伸信息技術服務。

作為典型的民航信息系統——中國航信PSS系統提供的服務繁多、用戶群體范圍廣,如何在保障系統持續穩定運行的同時拓展新業務,是民航IT業面臨的嚴峻課題。與此同時,開發和測試團隊的人員更替也導致技術人員對于既有功能的把控和掌握力逐漸減弱。在這種現狀下,系統的每一次修改,其影響范圍和被影響用戶群的定位難度也在逐漸增加。傳統模式下,通過嚴格把控編碼質量的方式固然可以保障新增功能的正確性,但對于新增功能的副作用及對用戶的潛在損害的保障力度遠遠不足。即使耗費大量人力進行回歸測試,仍然無法預防上線后對用戶產生不可預知的功能回退。這是中國航信PSS系統遇到的巨大技術挑戰。

1.2 回歸測試技術分析

中國航信PSS系統是典型的SOA架構,組件龐大、業務復雜。針對SOA架構系統的測試技術,主要采用分層自動化測試:在端到端、系統層、接口層以及單元測試層進行分層覆蓋,越底層需要的腳本和用例越多。在保障底層運算和邏輯正確的前提下,由上一層保障更多交互和功能層面的質量。自動化的系統層逐漸形成活文檔,與系統共同演化,以保障系統的功能變化全部可控可測。

這種方法在一般情況下是可行的,但是在民航信息系統領域卻凸顯不足。首先,民航信息服務是個業務復雜度高的領域,技術人員需要鉆研多年才能熟悉PSS全局業務;其次,民航信息服務也是個技術復雜度高的領域,因為關系到旅客在途的每一個階段,事關民生,所以對高并發、可持續、準確性、時效性等非功能指標要求苛刻。在這樣的業務、技術雙重復雜的信息技術領域,保證持續的高質量代碼開發客觀上是有很大難度的。隨著功能不斷拓展,通過歷史經驗沉淀下來的系統測試案例的維護成本越來越高,導致缺陷不斷從單元測試層向系統測試層蔓延。

1.3 數據驅動的自動化測試

本文正是基于民航信息系統現狀,探索一種能夠在不需重構整個開發流程、不增加開發人員工作量的前提下以低投入的方式控制產品功能不回退、新功能引發的缺陷不向生產系統泄露的模式。

文獻[4-5]等提出數據驅動的測試框架及基于業務數據的SOA測試方法,為解決業務、技術雙重復雜的系統回歸測試問題提供了思路。本文在基礎上,擴大業務數據提取范圍,并將自動化工具應用于測試流程,最大化的減少人工成本、提升覆蓋率。進而形成完整的測試框架,解決了一系列關鍵技術問題,并在實際業務投產中驗證了此方法的可行性和有效性。

圖1 核心交易型業務系統用戶行為覆蓋率Fig.1 User behavior coverage of core transaction business system

2 基于真實業務數據的自動化回歸測試

2.1 方法概述

基于實際業務數據自動化回歸測試的主要思路是:在測試系統部署待測軟件版本,并利用近期在生產系統實際發生的全量用戶行為,采用自動化的方法,進行全量回歸測試。通過對回歸測試結果和生產系統實際結果的比對分析,來發現新版本軟件中存在的兼容性缺陷。

首先,從產品質量控制的角度考慮回歸測試,“完美實現、沒有缺陷”的理想結果在資源有限的情況下難以實現,轉而考慮“允許有缺陷,但遺留的缺陷對用戶業務影響最小”這一更具實際意義的準則。在系統可持續運營、產品基本功能正確的基礎上,以對用戶業務的影響程度來衡量缺陷的重要程度。對用戶日常業務影響大的缺陷是重要缺陷,需要優先解決;用戶日常難以發現的缺陷是次要缺陷,可以調整處理這類缺陷的時機和方式。同時,回歸測試的目的為不引入新的缺陷,即“不比現狀更糟糕”。

綜上兩點:基于實際發生的全量用戶行為產生的全量業務數據進行回歸測試,能夠覆蓋對用戶業務影響最大的重要缺陷,滿足回歸測試的要求。

下面結合民航信息系統的具體環境,討論全量真實業務數據的采集范圍。

首先,民航信息系統的業務具有持續性、用戶行為具有連貫性,通過對中國航信PSS系統的實際運行數據進行分析,得出如下結論:一般情況下,核心交易型業務系統的近期17天全用戶行為即可覆蓋95%以上該系統全用戶全業務行為,見圖1;核心查詢型業務系統的近期15天全用戶行為即可覆蓋95%以上該系統全用戶全業務行為,見圖2。

其次,針對民航信息系統的特殊性,對于某些特定功能,仍需截取特定時期的用戶行為進行定向測試。例如針對“航班初始化”功能,需截取每年兩次的民航換季時期的用戶行為;針對“旅客保護”功能,需要截取發生航班取消、旅客被保護到其他航班時的用戶行為。

基于近期(交易型17天、查詢型15天)用戶行為的全量覆蓋和特定時期用戶行為的全量覆蓋,即可覆蓋對用戶主要業務有影響的全部業務場景。未覆蓋的業務場景事實上并不會影響用戶的主要業務,這部分場景可通過傳統測試案例的方式去覆蓋,或通過完善的監控體系和運行維護的及時補救來規避。同時,也可擴大近期用戶行為的采集時間范圍、增加特定時期場景來進一步提高覆蓋率。

針對SOA構架,用戶行為被系統拆分為在多個子系統間流轉的有序數據流。有序數據流即可代表用戶行為。因此,“在生產系統實際發生的全量用戶行為”,實際體現形式為“在生產系統實際產生的全量業務數據”——即真實業務數據作為回歸測試的基準,檢測子系統新版本的兼容性和回歸性。

使用真實業務數據進行回歸測試還有其他優勢:可有效避免測試人員的人為因素;尤其適用于規模大、運營歷史久的系統;測試周期可控。

圖2 核心查詢型業務系統用戶行為覆蓋率Fig.2 User behavior coverage of core query-based business system

2.2 自動化測試平臺實現

搭建基于真實業務數據進行自動化回歸測試平臺,可總結為“一套規范、兩種機制、三個平臺”。

2.2.1 一套規范

被測系統須符合“可自動化回歸測試規范”。可自動化回歸測試規范主要包括如下幾點基本要求:

1)被測系統符合SOA架構要求,與外界系統的邊界是清晰界定的。

2)被測系統和外界的所有交互載體為可以被記錄的報文,記錄工作由框架完成,不會因為業務系統的原因造成報文丟失。禁止外系統通過讀寫數據庫等方式直接訪問被測系統。

3)框架在記錄業務報文體的同時,還需一并記錄時間戳(精確到毫秒級)、唯一的全局交易流水號、輸入輸出類型等。

4)被測系統中數據庫的每筆交易都必須被記錄。

5)記錄的變更是可重現的。例如,系統內部的隨機算法的隨機因子只與輸入報文和可移植類的配置有關,禁止使用實際進程號、實際機器名、實際時間等不可移植類配置作為隨機因子。建議使用全局交易流水號、用戶信息、業務報文體等資料作為隨機因子。

6)被測系統應具備統一的時間服務器控制系統內部的時間,確保各個SOA子系統的時間的一致性。

2.2.2 兩種機制

1)生產系統報文日志機制

要求被測系統符合全局SOA架構要求,所有的輸入輸出請求都能被真實記錄,日志內容符合可自動化回歸測試規范。

2)生產系統數據庫日志機制

被測系統(生產系統)中的數據庫必須記錄所有的交易請求,并具備在非生產環境重建的能力。

這是數據庫基本的功能,現實中Oracle、DB2、MYSQL、PostgreSQL等各種商業、開源的數據庫都具備此基本功能。此機制確保生產系統的數據環境可以在非生產環境基于任意時間點重建。

2.2.3 三個平臺

基于真實業務數據的自動化回歸測試環境由生產數據測試系統、生產報文提供系統、仿真系統(Mock)這三個平臺系統構成,見圖3。

2.2.3.1.生產報文提供系統

生產報文提供系統的功能是為測試系統提供可用的生產數據管理機制。生產系統的交易日志被中間件平臺實時導入到隊列,再依據配置策略存儲到大數據平臺。生產報文提供系統根據不同被測系統的配置規則,從大數據平臺獲取相應的系統日志并進行解析,生成被測系統和仿真系統所需要格式的數據,并通過重新編目的方式進行整理,便于自動化調用和基于特定場景的調用。

2.2.3.2.生產數據測試系統

生產數據測試系統主要有Init、Player、Comparer、Report四個模塊。

Init模塊的主要功能是將環境重置到可以自動播放的初始狀態,涉及配置信息初始化、環境參數初始化、數據庫數據初始化等操作。主要技術點是對生產系統數據庫的數據基于指定時間點在測試環境進行恢復。

Player模塊的主要功能是將得到的生產數據按照原始時序向測試系統推送,并提供播放速度的控制功能。主要技術點是針對被測系統的多個交互點,提供精確到毫秒級的同步的報文播放技術。

Comparer模塊的主要功能是對測試結果進行對比,涉及數據庫信息對比和輸出報文對比。主要技術點是大數據量的實時比對性能以及對比結果分析。

Report模塊的主要功能是提供可配置的對比結果展示,便于開發人員分析不一致產生的原因,過濾非業務級的干擾。

2.2.3.3.仿真系統(Mock)

仿真系統(Mock)是部署在測試環境中間件上的對外交互模擬系統。它的作用就是根據全局交易流水號、實際生產系統的響應時間及配置要求,在生產報文提供平臺的數據中,提取符合條件的報文回報,模擬外系統的返回值。仿真系統對接被測系統,規避被測系統對周邊系統的依賴性,能有效的對單一被測系統進行全量回歸測試。

圖3 基于真實業務數據的自動化回歸測試系統架構Fig.3 Automated regression test system architectures based on real business data

3 案例分析與效果評價

本文提出的基于真實業務數據的自動化測試方法,成功應用在中國航信PSS系統的回歸測試中。下面針對交易型和查詢型兩大類業務系統分別進行驗證。

3.1 交易型業務系統——座位子系統的實施效果

作為中國航信PSS系統的一個組成部分,座位子系統(簡稱SEAT子系統)提供在訂票環節選座位的功能,是一個典型的交易型業務系統。該功能原本由傳統主機(生產系統:大型機)提供服務,近幾年為了滿足各大航空公司對選座服務的個性化需求和收費座位等新業務的支持,中國航信正在致力于將SEAT子系統從傳統主機上轉移到開放系統平臺(待投產系統:x86服務器集群)。在功能轉移的同時,SEAT子系統提供的傳統服務還將保持不變性和持續性,這是典型的交易系統遷移工作,由于牽涉異構的新、老兩套系統,技術人員的知識范圍有限,難以發現所有隱蔽的系統缺陷,實施十分艱難。

在實施過程中,針對SEAT子系統,數據比對方式可以歸結為以下兩大類:

1)原始數據比對

將生產系統數據庫存儲的原始數據與待投產系統數據庫的數據直接進行比對,確保生產系統與待投產系統的原始存儲數據的一致性。

2)業務邏輯比對

將生產系統與待投產系統的業務計算結果進行比對,確保待投產系統與生產系統的業務邏輯處理結果的一致性。

成功實施基于真實業務數據的自動化測試后,試點系統共新發現并解決問題100余個。從實際業務投產結果來看,SEAT一次性業務投產成功,直接驗證了本文方法的有效性。

通過應用本文測試方法:1、引入真實生產交易作為新系統的驗證數據,有效解決了傳統測試用例覆蓋業務場景不全的弊端,具備交易數據全面,自動化程度高,質量可靠等優勢;2、數據比對過程可離線進行,不會對生產環境造成壓力和數據破壞;3、比對過程和數據可以重復執行,便于解決問題后,再次使用相同數據進行驗證;4、能夠提前發現和修復各類生產系統上的真實問題,有效保障一次性業務投產的成功率,降低生產安全隱患,極大的提升了系統遷移的實施速度。

3.2 查詢型業務系統——運價子系統的實施效果

運價子系統(簡稱Pricing系統)是中國航信PSS系統的一個重要組件,它為航空公司、代理人、終端旅客提供航空公司運價查詢服務,是查詢型核心系統之一。Pricing子系統的特點是,服務的航空公司數量多,個性化需求變更頻繁。由于查詢量大并涉及到敏感的交易金額信息,航空公司對運價查詢的準確性要求極高,業務邏輯的缺陷都有可能給航空公司帶來百萬元人民幣的實際經濟損失。

通過在兼容回歸測試環節引入基于真實業務數據的自動化回歸測試,Pricing子系統可有效避免新版本的上線結果對原有的功能和計算邏輯造成的影響,在提升了回歸測試質量的同時,減少了測試人員的投入,提升了測試的效率,見表1。

表1 人工執行傳統測試用例與基于真實業務數據的自動化測試比較Tab.1 Comparison of traditional testing(artificial execution) and automated testing based on real business data

由表1可知,對比人工方式執行全量回歸測試(未實際執行,為估算值),基于真實業務數據的自動化測試使得人力投入減少為1人,執行測試時間縮減到4小時,發現缺陷47個,占本輪測試發現的全部缺陷數目(總數78)的60.3%。

目前Pricing系統采用生產數據回歸測試前置執行的方法,即在設計、執行傳統測試用例之前先進行基于生產數據的自動化回歸測試。同時在自動化回歸測試中新發現的缺陷,測試人員也會補充到傳統測試用例庫中,確保傳統測試用例的數量和業務場景覆蓋率能夠得到不斷增強。

兩種測試方式相結合——依靠生產數據自動化回歸測試“低投入高產出”式的發現大量缺陷,依靠傳統測試用例發剩余的“冷門”缺陷,最終確保投產產品質量完全可控。

4 結論

基于真實業務數據的自動化回歸測試方法在實際項目中被證明是適用于項目邊界清晰、業務復雜、版本變更較多且修改不會改變原有功能邏輯的場景。對于底層框架和實現更改(比如數據庫變更、中間件變更)、性能優化的場景尤其適用,可以有效從功能角度杜絕產品退化。同時具備較強的業務無關性,可以有效屏蔽人為因素對測試結果的影響,甚至可以由開發人員進行自測,成為開發工作完成的質量衡量標準。這種回歸測試方法再配合傳統的基于需求和經驗的測試方法,可以有效地提升缺陷攔截率,在測試時間受限、測試資源受限的不利情況下,確保交付產品質量的可控性。

[1] G Rothermel,MJ Harrold.Analyzing Regression Test Selection Techniques[J].IEEE Transactions on Software Engineering, 1996 22(8):529—551.

[2] 蔡亭友,王建明,劉英卓.基于SOA架構的企業應用集成(EAI)研究[J].微計算機信息,2007, 23(15):11-13. DOI:10.3969/j.issn.1008-0570.2007.15.005.

[3] 萬琳,廖飛雄.一種分層結構測試腳本技術[J].計算機系統應用,2011, 20(7):141-145.DOI:10.3969/ j.issn.1003-3254.2011.07.031.

[4] 朱菊,王志堅,楊雪.基于數據驅動的軟件自動化測試框架[J].計算機技術與發展, 2006, 16(5):68-70. DOI:10.3969/j.issn.1673-629X.2006.05.024.

[5] 李鵬,楊永艷.基于業務數據的大型企業SOA測試方法[J].計算機工程,2012 38(4):60—62.

楊京煜(1973——),男,北京市,中級工程師,大學本科,中國航信旅客服務系統業務專家,大型交易系統架構師,主要從事航空公司旅客服務系統主要產品流程設計、核心應用軟件架構設計、產品質量控制等相關工作。

劉瀟(1983——),男,河北省懷安縣,中級測試工程師,碩士研究生,中國航信研發中心測試工程師,主要從事測試體系建設、測試架構設計、自動化測試框架編寫等相關工作。

楊程屹(1986——),男,河北省灤縣,中級工程師,博士研究生,主要從事數據分析、科研項目管理等工作。

創新點

1. 本文分析了中國民航旅客服務系統的業務、技術特點,應用基于真實業務數據的自動化回歸測試技術,搭建了一套自動化測試平臺。本平臺的特點是涉及業務復雜、數據量大。

2. 該測試平臺在座位子系統(典型交易型業務系統)、運價子系統(典型查詢型業務系統)兩類典型系統上成功實踐,驗證了該技術及平臺的可行性和有效性。

Application of Automated Regression Testing based on Real Business Data in the Information System of Civil Aviation

Yang Jingyu,Liu Xiao,Yang Chengyi
(China Civil Aviation Information Network Inc,Beijing,100710)

This paper analyzed business and technical characteristics of the information system of China civil aviation--Passenger Service System(PSS).And by applying automated regression testing based on real business data,the team have built an automated regression test platform,and successfully practiced in the migration of multiple subsystems of PSS,including transaction business system and query-based business system.The results demonstrate the feasibility and effectiveness of the technology and the test platform.

PSS;SOA;Regression testing;Automated testing

TP311.5 軟件工程

猜你喜歡
生產用戶功能
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
用舊的生產新的!
“三夏”生產 如火如荼
S-76D在華首架機實現生產交付
中國軍轉民(2017年6期)2018-01-31 02:22:28
關于非首都功能疏解的幾點思考
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
如何獲取一億海外用戶
創業家(2015年5期)2015-02-27 07:53:25
Сварочное Проμзвоσсmво(《焊接生產》)2012年第5期要目
主站蜘蛛池模板: 在线欧美a| 亚洲精品另类| 国产欧美日韩在线一区| 老司机久久99久久精品播放| 亚洲精品卡2卡3卡4卡5卡区| 亚洲大学生视频在线播放| 亚洲国产欧美目韩成人综合| 精品国产电影久久九九| 日韩av电影一区二区三区四区| 中文字幕欧美日韩| 久久精品人人做人人综合试看| 日本一区二区三区精品国产| 久久青草视频| 午夜高清国产拍精品| 国产永久在线观看| 亚洲综合片| 2021国产精品自产拍在线| 91在线免费公开视频| 国产手机在线小视频免费观看| 日韩免费毛片| 成人免费黄色小视频| 国产中文在线亚洲精品官网| 亚洲色图欧美| 国产成人高清精品免费5388| 人妻中文久热无码丝袜| 日韩一区精品视频一区二区| 亚洲开心婷婷中文字幕| 日韩一区精品视频一区二区| 国产一二视频| 久久久精品国产SM调教网站| 欧美无遮挡国产欧美另类| 国产不卡一级毛片视频| 日韩欧美国产精品| 国产精品开放后亚洲| 伊人成色综合网| a毛片免费在线观看| 国产十八禁在线观看免费| 亚洲综合18p| 欧美无专区| 亚洲AV无码乱码在线观看裸奔| 老色鬼久久亚洲AV综合| 国产精品丝袜在线| 成人国产精品视频频| 高潮爽到爆的喷水女主播视频| 欧美性色综合网| 婷婷亚洲视频| 亚洲最猛黑人xxxx黑人猛交 | 亚洲天堂久久新| 男人天堂亚洲天堂| 国产成人三级| 就去吻亚洲精品国产欧美| 国产色网站| 精品伊人久久大香线蕉网站| 国产一级毛片网站| 欧美成人精品高清在线下载| 992tv国产人成在线观看| 色婷婷狠狠干| 玖玖免费视频在线观看| 久久久久亚洲精品成人网 | 999精品视频在线| 91精品情国产情侣高潮对白蜜| 国产福利影院在线观看| 亚洲一区二区三区国产精品| 蜜芽一区二区国产精品| 欧美一区国产| 午夜毛片免费看| 97视频免费看| 国产精品久久久精品三级| 久久久久久久蜜桃| 一区二区三区高清视频国产女人| 三上悠亚一区二区| 91人妻在线视频| 亚洲国产系列| 国产日本欧美在线观看| 日韩国产精品无码一区二区三区| 国内精自线i品一区202| 亚洲AⅤ无码国产精品| 日韩在线成年视频人网站观看| 天天色天天综合| 日本色综合网| 亚洲欧美精品日韩欧美| 拍国产真实乱人偷精品|