亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        性能測試在運(yùn)營商業(yè)務(wù)開通中的應(yīng)用及重要性研究

        2024-12-10 00:00:00戴桂瓊
        現(xiàn)代信息科技 2024年23期

        摘" 要:性能測試是日常軟件測試過程中不可或缺的一個(gè)環(huán)節(jié),文章以實(shí)際項(xiàng)目通信運(yùn)營商的資源管理系統(tǒng)中的家寬業(yè)務(wù)開通接口進(jìn)行性能測試為案例,首先提出接口性能測試的可行性方案,同時(shí)借助接口測試工具SoapUI進(jìn)行壓力測試和用Nmon工具進(jìn)行服務(wù)器資源監(jiān)控,模擬用戶開通家寬業(yè)務(wù)的并發(fā)場景。在壓力測試過程中檢測軟件是否存在缺陷,并分析其產(chǎn)生的原因,最終達(dá)到預(yù)防或解決軟件性能問題的目標(biāo)。同時(shí),對性能測試的重要性進(jìn)行分析,為相關(guān)測試人員提供一定的指導(dǎo)與借鑒。

        關(guān)鍵詞:家寬業(yè)務(wù)開通;SoapUI;性能測試應(yīng)用;性能測試重要性

        中圖分類號:TP311.5" 文獻(xiàn)標(biāo)識碼:A" 文章編號:2096-4706(2024)23-0005-06

        Application and Importance Research on Performance Testing in Business Opening of Operators

        DAI Guiqiong

        (Shanghai Sincere Technology Co., Ltd., Shanghai" 201203, China)

        Abstract: Performance testing is an indispensable part of the daily software testing process. This paper takes the performance testing of the home bandwidth-based business opening interface in the resource management system of an actual project communication operator as a case. Firstly, a workable solution for interface performance testing is proposed. At the same time, the interface testing tool SoapUI is used for stress testing and Nmon tool is used for server resource monitoring to simulate the concurrent scenario of users opening home bandwidth-based business. During the stress testing process, software is tested whether there are defects, and the causes of producing defects are analyzed, ultimately achieving the goal of preventing or solving software performance problems. Meanwhile, analyzing the importance of performance testing provides certain guidance and reference for related testers.

        Keywords: home bandwidth-based business opening; SoapUI; performance testing application; importance of performance testing

        0" 引" 言

        隨著互聯(lián)網(wǎng)和人工智能的快速發(fā)展,軟件產(chǎn)品現(xiàn)在已經(jīng)滲透在各個(gè)領(lǐng)域的應(yīng)用,用戶對軟件產(chǎn)品的質(zhì)量和效率提出了更高的要求[1-4]。除功能測試外,性能測試引起了客戶和軟件從業(yè)人員的重視。功能測試主要根據(jù)用戶的業(yè)務(wù)需求,模擬用戶操作來測試功能以確認(rèn)功能是否能滿足用戶實(shí)際的需求。性能測試則是通過特定的方式和手段,借助壓力測試工具對軟件系統(tǒng)按照一定的測試方案進(jìn)行負(fù)載測試,并獲取被測試系統(tǒng)的響應(yīng)時(shí)間、事務(wù)運(yùn)行效率、服務(wù)器的資源利用情況等各項(xiàng)性能指標(biāo),來評估系統(tǒng)是否滿足用戶性能需求的過程[5-6]。如何對系統(tǒng)進(jìn)行性能測試,測試哪些功能點(diǎn),關(guān)心哪些性能指標(biāo),已經(jīng)成為軟件企業(yè)中亟待解決的課題。本文以實(shí)際項(xiàng)目中的家庭客戶寬帶開通業(yè)務(wù)(簡稱家客)進(jìn)行收單的壓力測試,對測試方案進(jìn)行了分析,借助SoapUI測試工具模擬各種場景的收單請求,并使用Nmon工具對壓力測試過程中收集系統(tǒng)性能收集,最后根據(jù)測試結(jié)果進(jìn)行分析,從而對性能測試的重要性進(jìn)行評價(jià)[7-10]。

        1" 性能測試方案

        1.1" 測試需求

        在某省運(yùn)營商的資源管理系統(tǒng)中,家客工單需要在全省上線使用,預(yù)計(jì)高峰期1天約5.5萬張工單,需要驗(yàn)證系統(tǒng)是否可以支持這個(gè)數(shù)據(jù)量的壓力以及家客收單的性能。通過前期調(diào)研和準(zhǔn)備,決定先在現(xiàn)有的實(shí)驗(yàn)室測試環(huán)境中,運(yùn)用開源的接口測試工具SoapUI對家客收單接口進(jìn)行模擬真實(shí)使用環(huán)境的壓力負(fù)載,并監(jiān)控服務(wù)器資源利用率,最終判斷系統(tǒng)是否可以承受大量并發(fā)收單的壓力。生產(chǎn)環(huán)境的配置比實(shí)驗(yàn)室測試環(huán)境更高,如果測試環(huán)境性能達(dá)標(biāo),生產(chǎn)環(huán)境的性能會(huì)更優(yōu)。

        1.2" 測試準(zhǔn)備

        1.2.1" 硬件配置

        硬件配置如表1所示。測試所用機(jī)器并不是全部為壓力測試服務(wù),受條件所致,數(shù)據(jù)庫服務(wù)器和中間件服務(wù)器同時(shí)跑著多個(gè)服務(wù)。

        1.2.2" 測試工具(SoapUI)

        SoapUI的主要特點(diǎn)有:

        1)屬于開源工具,功能好用且強(qiáng)大、界面簡單易用。

        2)支持功能測試、接口測試、負(fù)載測試、回歸測試等多種測試。

        3)既支持基于簡單對象訪問協(xié)議(Simple Object Access Protocol, SOAP)的Web服務(wù),還支持REST風(fēng)格的Web服務(wù)。

        SoapUI將測試分為三個(gè)級別,即TestSuite、TestCase和TestStep:

        1)測試集(TestSuite):測試用例的集合,可以在項(xiàng)目中創(chuàng)建任意數(shù)量的測試集,用于支撐大量的測試用例。

        2)測試用例(TestCase):測試某個(gè)特定功能或接口API,可以組合不同的測試步驟完成該功能測試流程。

        3)測試步驟(TestStep):最基礎(chǔ)的單位,適用于控制、執(zhí)行測試步驟,以及驗(yàn)證被測試服務(wù)返回。測試步驟是SoapUI的核心部分,靈活使用測試步驟,不僅可以提高測試的工作效率,還能節(jié)約腳本維護(hù)成本。

        SoapUI支持使用自定義屬性(Property)在項(xiàng)目中存儲(chǔ)和共享數(shù)據(jù)。Property可以被 Groovy Script腳本、Property Transfer等引用,所有的屬性都被處理為字符串。

        SoapUl允許在項(xiàng)目的各個(gè)層次中定義屬性,常用的層次包括:Project、TestSuite、TestCase、Property。

        Project級別的屬性適用于整個(gè)項(xiàng)目,使用語法$。TestSuite級別的屬性適用于整個(gè)測試集,使用語法$。TestCase級別的屬性適用于整個(gè)測試用例,使用語法$。Property級別的屬性適用于測試步驟,使用語法$(Property 級別的語法有些特別,Properties 是測試步驟的名稱,可以修改)。屬性的變量引用如圖1所示。

        要使用SoapUI進(jìn)行測試,首先要準(zhǔn)備好工作空間,用來后續(xù)存放文件。其次,創(chuàng)建項(xiàng)目,項(xiàng)目可以存在多個(gè)測試集,而測試集包含多個(gè)測試用例,比如不同的接口或API。在測試用例中的測試步驟中,包括如請求、變量設(shè)置、數(shù)據(jù)源、Groovy腳本等。最終項(xiàng)目可以導(dǎo)出為xml格式存儲(chǔ),測試流程如圖2所示。

        1.2.3" 監(jiān)控工具(Nmon)

        Nmon(Network Monitor)是一個(gè)性能監(jiān)視工具。它主要用于在Unix和Linux系統(tǒng)上實(shí)時(shí)監(jiān)視系統(tǒng)性能和資源利用率。Nmon可以提供有關(guān)CPU使用率、內(nèi)存使用情況、磁盤活動(dòng)、網(wǎng)絡(luò)流量等系統(tǒng)性能指標(biāo)的詳細(xì)信息。

        如圖3所示,Nmon以交互式的方式運(yùn)行,用戶可以通過終端界面顯示實(shí)時(shí)數(shù)據(jù),同時(shí)也支持將數(shù)據(jù)寫入文件中,以供后續(xù)分析。該工具可以協(xié)助系統(tǒng)管理員、性能分析師和其他用戶深入了解系統(tǒng)的運(yùn)行狀況,從而更好地優(yōu)化和調(diào)整系統(tǒng)性能。

        如圖4所示,執(zhí)行收集指令后,查詢后能看到生成的.nmon結(jié)尾的結(jié)果文件,該文件將記錄時(shí)間段內(nèi)的系統(tǒng)性能指標(biāo),從而可以發(fā)現(xiàn)在壓測過程中,程序?qū)Ψ?wù)器的資源占用情況,有沒有引起異常,壓測后指標(biāo)有沒有下降等。

        若要查看和使用所收集到的數(shù)據(jù),就要引入分析工具Nmon Analyser,Nmon Analyser是一個(gè)專門用于分析和可視化Nmon監(jiān)控?cái)?shù)據(jù)的工具,提供了一個(gè)圖形用戶界面,可以加載Nmon數(shù)據(jù)文件并以圖表和表格的形式顯示性能指標(biāo)。用戶可以通過直觀的圖形化界面輕松地查看系統(tǒng)的CPU使用率、內(nèi)存使用情況、磁盤I/O、網(wǎng)絡(luò)流量等信息,以及在不同時(shí)間段內(nèi)這些指標(biāo)的變化趨勢。Nmon Analyser工具的界面如圖5所示。

        點(diǎn)擊Analyze nmon data按鈕后,會(huì)彈出一個(gè)文件選擇對話框,我們選中之前記錄的Nmon文件即可。如圖6所示,生成數(shù)據(jù)圖表,可以更直觀的查看服務(wù)器性能變化。

        1.2.4" 測試場景與用例設(shè)計(jì)

        根據(jù)某省家客工單的實(shí)際使用的場景,該省下面有11個(gè)地市,每個(gè)地市有多個(gè)營業(yè)廳,營業(yè)廳下面有不同的終端,并且在不同的工作時(shí)間段內(nèi)進(jìn)行不同并發(fā)派單,派單間隔的時(shí)長等不同場景,設(shè)計(jì)如表2所示的測試用例。

        2" 性能遇到的問題和解決方法

        2.1" 資源爭用問題

        在負(fù)載測試的過程中,發(fā)現(xiàn)了一個(gè)問題:對同一個(gè)客戶的開通動(dòng)作會(huì)出現(xiàn)資源繁忙的情況,導(dǎo)致收單失敗。后來通過與用戶、需求、開發(fā)多方溝通發(fā)現(xiàn),在實(shí)際使用場景中,同一個(gè)客戶不會(huì)存在多并發(fā)的情況。通過對工具研究發(fā)現(xiàn),優(yōu)化壓測腳本,在接口發(fā)送請求時(shí),讓客戶對象使用隨機(jī)數(shù)生成,如圖7所示,最后順利地解決了這個(gè)問題:

        Random rand = new Random()

        result = \"20240528\" + rand.nextInt(10000) +rand.nextInt(10000)

        2.2" 隊(duì)列收單和狀態(tài)機(jī)改造

        在家客業(yè)務(wù)上線一段時(shí)間之后,發(fā)現(xiàn)工單數(shù)量比之前預(yù)計(jì)的有增多,之前預(yù)計(jì)全省1天約有22 000張工單,后來發(fā)展比較快,約1天有50 000張工單。這對當(dāng)時(shí)的軟件架構(gòu)和流程引擎是有一定的沖擊。為了大力支持和保障家客業(yè)務(wù)的順利運(yùn)行,通過開發(fā)的家客接口架構(gòu)調(diào)整,使用隊(duì)列收單代替之前的實(shí)時(shí)收單,使用狀態(tài)機(jī)代替流程引擎。隊(duì)列收單是通過一個(gè)中間表,將第三方系統(tǒng)送過來的接口請求緩存到中間表,并設(shè)置最大緩存工單的數(shù)目,如500,然后通過隊(duì)列中的線程,設(shè)置最大線程數(shù)為10,則有10個(gè)線程對中間表的記錄進(jìn)行收單到系統(tǒng)。通過壓測結(jié)果表明,實(shí)時(shí)收單與隊(duì)列收單的響應(yīng)時(shí)間相比,從秒級上升到毫秒級,收單速度實(shí)現(xiàn)了質(zhì)的飛越。

        2.3" 回歸壓測發(fā)現(xiàn)的問題

        2.3.1" 缺索引導(dǎo)致的壓測變慢

        在回歸測試中,發(fā)現(xiàn)響應(yīng)時(shí)間比以往的慢了接近2倍。之前平均時(shí)間在0.28 s,最近一次壓測竟然達(dá)到0.79 s,速度慢了接近3倍。通過在數(shù)據(jù)庫的報(bào)告,發(fā)現(xiàn)壓測過程中有1條查詢SQL有問題,執(zhí)行計(jì)劃顯示了這條SQL對家客的E表做了全表掃描。于是馬上通知開發(fā)和數(shù)據(jù)庫管理員,通過壓測提供的日志和數(shù)據(jù)庫報(bào)告及SQL語句,開發(fā)調(diào)查最近代碼方面是否做了邏輯改造,數(shù)據(jù)庫管理員查詢SQL語句是否有問題或是否缺少索引等方面展開排查。最后通過各方人員的努力,找到了問題的根源:家客E表的userid字段沒有索引。加上索引之后,重新進(jìn)行壓力測試,響應(yīng)時(shí)間提升到0.1 s,與以往相比,是平均收單響應(yīng)最快的一次。在軟件研發(fā)平時(shí)的工作中,需要考慮數(shù)據(jù)庫字段索引的問題。

        2.3.2" 收單隊(duì)列失效

        在一次家客壓測回歸測試中,通過以往的壓測經(jīng)驗(yàn),發(fā)現(xiàn)了一個(gè)非常嚴(yán)重的缺陷。因?yàn)橹凹铱偷墓瓮ㄟ^隊(duì)列來收單,單子緩存到一個(gè)中間表,然后同過后臺進(jìn)程并發(fā)處理,但是回歸壓測的時(shí)候,發(fā)現(xiàn)速度非常慢,而且中間表的數(shù)據(jù)并沒有生成,根據(jù)之前多次的壓測經(jīng)驗(yàn),立即定位到問題為緩存的功能失效了。第一時(shí)間與開發(fā)人員溝通,開發(fā)檢查了代碼后,發(fā)現(xiàn)是不小心修改了一處代碼引起,開發(fā)人員提供補(bǔ)丁之后,重新進(jìn)行壓測,功能正常。如果沒有壓測回歸,單次收單發(fā)現(xiàn)不了該問題,一旦現(xiàn)場上線該版本,后果不堪設(shè)想。所以這次的壓測回歸,成功地避免了一次生產(chǎn)上的大事故。

        3" 性能測試結(jié)果及分析

        3.1" 測試結(jié)果指標(biāo)解釋

        測試結(jié)果指標(biāo)的詳細(xì)說明如表3所示,由于測試工具問題,請求數(shù)不是特別精確,只作參考,具體以接口數(shù)和實(shí)際工單數(shù)為準(zhǔn)。

        3.2" 隊(duì)列改造前測試執(zhí)行結(jié)果

        通過表4的數(shù)據(jù),可以看出,在隊(duì)列改造之前,實(shí)際工單數(shù)比接口數(shù)偏低,說明有丟單的情況,需要進(jìn)行改造。

        3.3" 收單隊(duì)列測試結(jié)果

        如表5所示,系統(tǒng)進(jìn)行改造后,即家客收單接口改造成通過隊(duì)列來收單,性能跟之前相比,有很大的提升,以下是最近一次家客收單壓力測試數(shù)據(jù),結(jié)果表明,沒有丟單情況,響應(yīng)時(shí)間0.1 s,相比之下,性能提示非常明顯。

        3.4" 結(jié)果分析

        在家客場景1中,10并發(fā),持續(xù)30分鐘,接口數(shù)31 501,工單數(shù)31 501,平均響應(yīng)時(shí)間0.1 s,沒有出現(xiàn)丟單情況。

        家客場景1中的服務(wù)器資源利用率正常,在壓測結(jié)束后,服務(wù)器回落到正常的水平。

        中間件服務(wù)器的CPU和IO使用情況如圖8所示,數(shù)據(jù)庫服務(wù)器的CPU和IO使用情況如圖9所示。

        具體而言,從家客場景1可以看出,并發(fā)數(shù)10,持續(xù)30分鐘,沒有出現(xiàn)丟單情況。另外,從服務(wù)器資源利用情況可以看出:在前30分鐘的不斷請求中,中間件的CPU使用率相對比較高,IO中間有3次較高;但在場景結(jié)束后,CPU和IO恢復(fù)至較低水平。數(shù)據(jù)庫服務(wù)的CPU資源利用率在前30分鐘比較高,在工單請求結(jié)束后,利用率下降,由于緩存收單,后續(xù)在后臺還需要處理工單和產(chǎn)品,需要占用一定的資源,在這個(gè)區(qū)間,CPU使用相對平穩(wěn)。IO在前30分鐘的請求中比較平穩(wěn),之后恢復(fù)到較低水平。該功能點(diǎn)在并發(fā)場景下,不存在性能問題。

        4" 結(jié)" 論

        本文通過在通信運(yùn)營商項(xiàng)目中對家客收單的性能測試,得出性能測試和性能回歸在軟件生命周期和質(zhì)量保證中起著重要的作用。隨著移動(dòng)通信技術(shù)的飛速發(fā)展,通信行業(yè)產(chǎn)品在各個(gè)領(lǐng)域中廣泛應(yīng)用,用戶量的增加,系統(tǒng)承擔(dān)的負(fù)荷也會(huì)隨著增加,系統(tǒng)軟件的質(zhì)量和性能的好壞將嚴(yán)重影響企業(yè)的自身利益。因此,在軟件企業(yè)中,特別是業(yè)務(wù)量龐大的生產(chǎn)系統(tǒng),性能測試的推廣和優(yōu)化必須重視。

        參考文獻(xiàn):

        [1] 馬振蕓.API接口測試方法總結(jié)與綜述 [J].數(shù)字技術(shù)與應(yīng)用,2024,42(1):10-13.

        [2] 高靜.接口管理與自動(dòng)化測試系統(tǒng)的設(shè)計(jì) [J].廣播電視網(wǎng)絡(luò),2024,31(1):85-88.

        [3] 王順順.基于Selenium的Web應(yīng)用系統(tǒng)自動(dòng)化測試軟件的設(shè)計(jì)與實(shí)現(xiàn) [D].西安:西安石油大學(xué),2023.

        [4] 孫立哲.異步接口性能測試方案中關(guān)鍵技術(shù)設(shè)計(jì)優(yōu)化與實(shí)踐 [J].計(jì)算機(jī)應(yīng)用與軟件,2023,40(8):13-16+103.

        [5] 黃志輝,蔡杰峰,蔡漢釣.接口自動(dòng)化測試的應(yīng)用實(shí)踐 [J].廣播電視網(wǎng)絡(luò),2023,30(7):103-105.

        [6] 高文輝.軟件測試中接口測試概述與實(shí)踐 [J].數(shù)字技術(shù)與應(yīng)用,2020,38(3):112+114.

        [7] 代曉倩,高賽軍,張風(fēng)玲,等.軟件接口測試的典型缺陷分析與測試設(shè)計(jì)優(yōu)化 [J].工業(yè)控制計(jì)算機(jī),2024,37(9):25-27.

        [8] 羅作民,朱燕,程明.Web服務(wù)測試工具SOAPUI及其分析 [J].計(jì)算機(jī)應(yīng)用與軟件,2010,27(5):155-157.

        [9] 陳霽.性能測試進(jìn)階指南 [M].北京:電子工業(yè)出版社,2013.

        [10] MYERS G J,BADGETT T,SANDLER C,等.軟件測試的藝術(shù):第3版 [M].張曉明,黃琳,譯.北京:機(jī)械工業(yè)出版社,2012.

        作者簡介:戴桂瓊(1985—),女,漢族,廣東茂名人,中級工程師,本科,研究方向:計(jì)算機(jī)科學(xué)與技術(shù)。

        亚洲精品国产成人久久av| 亚洲精品国产一二三无码AV| av无码电影一区二区三区| 日本午夜理论一区二区在线观看 | 亚洲国产精品亚洲一区二区三区 | 久久久久久一级毛片免费无遮挡| 国产精品丝袜美腿诱惑| 免费日本一区二区三区视频| 日韩欧群交p片内射中文| 国产精品久久久久尤物| 美女被搞在线观看一区二区三区| 麻豆精品国产av在线网址| 九九精品国产亚洲av日韩 | 激情网色图区蜜桃av| 中文乱码字幕精品高清国产| 国产成人精品123区免费视频| 亚洲国产成人无码影院| 日韩精品综合在线视频| 完整版免费av片| 无码人妻丰满熟妇片毛片 | 国产一级r片内射视频播放| 国产精品黑丝高跟在线粉嫩| 亚洲国产精品va在线播放| 99国产精品丝袜久久久久| 伊人狼人激情综合影院| 国产一二三四2021精字窝| 亚洲精品无码mv在线观看| 免费人成视频欧美| 日本美女在线一区二区| 卡一卡二卡三无人区| 99久久精品自在自看国产| 精品少妇后入一区二区三区| 精品中文字幕精品中文字幕| 老熟女一区二区免费| 成a人片亚洲日本久久| 久久精品亚洲精品国产色婷| 亚洲av无码一区二区乱子伦| 精品日产一区2区三区 | 亚洲av中文无码乱人伦在线咪咕 | 亚洲精品熟女av影院| 午夜精品久久久久久久无码|