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

        ?

        基于Spring的API自動(dòng)化測(cè)試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

        2015-07-25 09:41:32陳茉莉張會(huì)林張洋洋
        通信電源技術(shù) 2015年5期
        關(guān)鍵詞:測(cè)試人員測(cè)試用例軟件測(cè)試

        陳茉莉,張會(huì)林,劉 波,張洋洋

        (1.上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093;2.上海市現(xiàn)代光學(xué)系統(tǒng)重點(diǎn)實(shí)驗(yàn)室,上海 200093;3.邵陽(yáng)學(xué)院電氣系,湖南 邵陽(yáng) 422002)

        0 引 言

        在早期的軟件測(cè)試活動(dòng)中,人們普遍采用手工測(cè)試法,從編寫測(cè)試用例開(kāi)始到執(zhí)行測(cè)試,直到比較測(cè)試結(jié)果得出測(cè)試結(jié)論,都是由測(cè)試人員手動(dòng)來(lái)完成。但是隨著軟件業(yè)的發(fā)展,測(cè)試的需求越來(lái)越大,測(cè)試所遇到的場(chǎng)景也越來(lái)越復(fù)雜,加之軟件測(cè)試過(guò)程越來(lái)越智能化、高效化,軟件測(cè)試開(kāi)始由原來(lái)的人工測(cè)試向自動(dòng)化測(cè)試方向發(fā)展。在開(kāi)發(fā)一款軟件時(shí),不可能針對(duì)每一個(gè)操作系統(tǒng)都開(kāi)發(fā)一個(gè)相應(yīng)的后臺(tái),為了能夠只用一種語(yǔ)言就開(kāi)發(fā)出各種平臺(tái)都適用的后臺(tái)程序,API就產(chǎn)生了。前端和后臺(tái)的開(kāi)發(fā)人員可以通過(guò)API來(lái)進(jìn)行交互操作,而并不需要了解對(duì)方是如何具體去實(shí)現(xiàn)這個(gè)功能的,API相當(dāng)于一個(gè)連接前后端的橋梁。既然API占據(jù)著一個(gè)特殊的地位,那么它的質(zhì)量也是軟件質(zhì)量的基礎(chǔ)。API的測(cè)試既保證了后臺(tái)的質(zhì)量,也為前端開(kāi)發(fā)人員減輕了負(fù)擔(dān)。因此,如果提高API測(cè)試的自動(dòng)化程度,就可以輔助測(cè)試人員高效完成工作。針對(duì)以上的情況,API自動(dòng)化測(cè)試系統(tǒng)的開(kāi)發(fā)刻不容緩。本系統(tǒng)主要針對(duì)Android、IOS操作系統(tǒng),對(duì)App的API進(jìn)行單元測(cè)試,保證軟件在編碼階段的質(zhì)量,為之后的集成測(cè)試、系統(tǒng)測(cè)試打下堅(jiān)實(shí)的基礎(chǔ)。另一方面,基于API的自動(dòng)化測(cè)試系統(tǒng)可以代替手工進(jìn)行API的回歸測(cè)試,這樣在系統(tǒng)版本升級(jí)的時(shí)候就不必再浪費(fèi)人力在回歸測(cè)試上,既保證了產(chǎn)品的質(zhì)量又提高了測(cè)試的效率。

        1 系統(tǒng)的分析與設(shè)計(jì)

        本系統(tǒng)由業(yè)務(wù)處理、測(cè)試用例、數(shù)據(jù)層和Yimin工具四個(gè)部分組成。其中,業(yè)務(wù)處理是系統(tǒng)的核心部分,由它來(lái)完成訪問(wèn)持久性數(shù)據(jù)庫(kù)的操作、根據(jù)測(cè)試用例執(zhí)行測(cè)試、比較測(cè)試結(jié)果等一系列業(yè)務(wù)動(dòng)作;測(cè)試用例是業(yè)務(wù)處理的基礎(chǔ)部分,也是整個(gè)測(cè)試的基礎(chǔ),系統(tǒng)根據(jù)測(cè)試用例來(lái)執(zhí)行并比較結(jié)果得出最終測(cè)試結(jié)果;數(shù)據(jù)層主要是數(shù)據(jù)源提供數(shù)據(jù)信息,Yimin工具主要是用來(lái)和后臺(tái)交互,返回響應(yīng)的API信息。

        1.1 系統(tǒng)的需求分析

        本系統(tǒng)的主要目的是對(duì)API進(jìn)行自動(dòng)化測(cè)試,最終能夠保證軟件產(chǎn)品的質(zhì)量。首先來(lái)介紹一下API在整個(gè)軟件項(xiàng)目中的重要地位。

        該項(xiàng)目是針對(duì)手機(jī)而開(kāi)發(fā)的客戶端應(yīng)用軟件,主要適用于Android和IOS兩大手機(jī)操作系統(tǒng)。為了使得軟件產(chǎn)品具有高質(zhì)量、高穩(wěn)定性、高健壯性的特點(diǎn),開(kāi)發(fā)團(tuán)隊(duì)的前后端分工十分明確。API為客戶端和后臺(tái)的交互起到了橋梁的作用。API在項(xiàng)目中的位置如圖1所示。

        圖1 API在項(xiàng)目中的位置

        API在整個(gè)項(xiàng)目中所處的特殊地位,要求它的質(zhì)量必須夠高,也正因?yàn)槿绱?,?duì)API的測(cè)試也是整個(gè)測(cè)試環(huán)節(jié)中必不可少的。因?yàn)閅imin這個(gè)工具的局限性,本文提出了針對(duì)API測(cè)試的自動(dòng)化測(cè)試系統(tǒng),這個(gè)系統(tǒng)的主要作用是省去測(cè)試人員對(duì)測(cè)試結(jié)果一一比對(duì)的過(guò)程,由系統(tǒng)自動(dòng)去完成獲取接口返回信息和結(jié)果比較的工作,也減少了對(duì)API進(jìn)行回歸測(cè)試的成本。

        1.2 系統(tǒng)的總體設(shè)計(jì)

        本系統(tǒng)主要分為大四個(gè)模塊:業(yè)務(wù)邏輯、數(shù)據(jù)層、Yimin和測(cè)試用例,各個(gè)模塊之間相互協(xié)作完成測(cè)試工作,同時(shí)四個(gè)模塊又是相互獨(dú)立的模塊,每一個(gè)模塊內(nèi)部發(fā)生變化,都不會(huì)對(duì)其他模塊產(chǎn)生影響。模塊之間的關(guān)系如圖2所示。

        圖2 系統(tǒng)的總體設(shè)計(jì)

        如圖2所示,業(yè)務(wù)邏輯層是整個(gè)系統(tǒng)的核心部分,由它來(lái)完成訪問(wèn)數(shù)據(jù)層和測(cè)試用例的工作,在業(yè)務(wù)邏輯層中,還會(huì)對(duì)結(jié)果進(jìn)行處理,它會(huì)訪問(wèn)Yimin工具。數(shù)據(jù)層主要是為測(cè)試提供數(shù)據(jù)支持,它會(huì)提供測(cè)試過(guò)程中需要用到的存儲(chǔ)在數(shù)據(jù)庫(kù)中的數(shù)據(jù)。測(cè)試用例主要是提供一些訪問(wèn)Yimin所需要的信息和進(jìn)行測(cè)試的期望結(jié)果。Yimin是該系統(tǒng)專門用于API測(cè)試的一個(gè)工具,當(dāng)通過(guò)拼接接口名加參數(shù)連接上Yimin之后,Yimin這個(gè)工具會(huì)返回相應(yīng)的接口信息。四個(gè)模塊各有所長(zhǎng),它們只要完成各自負(fù)責(zé)的功能,不需要干預(yù)其他的模塊功能的實(shí)現(xiàn),而且其中一個(gè)模塊的變化對(duì)于其它兩個(gè)模塊來(lái)說(shuō)是透明的。

        業(yè)務(wù)邏輯層作為系統(tǒng)的核心模塊,需要和數(shù)據(jù)層、測(cè)試用例進(jìn)行交互。業(yè)務(wù)邏輯層在與數(shù)據(jù)層交互時(shí)主要采用了Spring的DAO模式;訪問(wèn)測(cè)試用例時(shí)主要是通過(guò)測(cè)試用例的路徑來(lái)獲得,接著解析測(cè)試用例獲得名稱、期望結(jié)果等信息;最后通過(guò)測(cè)試用例中解析出來(lái)的信息,生成一個(gè)URL來(lái)訪問(wèn)Yimin工具。

        2 系統(tǒng)的實(shí)現(xiàn)

        本項(xiàng)目中使用了一些Spring的注解,使得項(xiàng)目的開(kāi)發(fā)變得簡(jiǎn)單高效。Spring利用了DAO模式,將業(yè)務(wù)邏輯和數(shù)據(jù)層分離。該系統(tǒng)采用Spring的DAO模式來(lái)對(duì)數(shù)據(jù)庫(kù)進(jìn)行訪問(wèn),使用MySQL的數(shù)據(jù)庫(kù)。Spring可以通過(guò)配置文件實(shí)現(xiàn)與數(shù)據(jù)庫(kù)的連接,訪問(wèn)數(shù)據(jù)源,本系統(tǒng)采用DAO模式,并用JDBC的方式來(lái)實(shí)現(xiàn)DAO。為了更好地模塊化JDBC操作,簡(jiǎn)化傳統(tǒng)的JDBC操作的復(fù)雜和繁瑣過(guò)程,使用模板方式封裝JDBC數(shù)據(jù)庫(kù)操作,即JdbcTemplate。用模板封裝數(shù)據(jù)庫(kù)操作的優(yōu)點(diǎn)在于可以簡(jiǎn)化JDBC的操作,開(kāi)發(fā)者只需要提供SQL、設(shè)置SQL中的變量,最后提取ResultSet,而JDBC對(duì)象的獲取釋放、異常類型轉(zhuǎn)化的操作都由模板負(fù)責(zé)。最后通過(guò)TestNG的配置文件來(lái)達(dá)到將測(cè)試用例和代碼相分離的目的。只需要將要執(zhí)行的case放入配置文件中,在執(zhí)行測(cè)試時(shí),選擇Run as TestNG Suite,測(cè)試就能按照測(cè)試用例一條一條執(zhí)行下去。該方法使得自動(dòng)化測(cè)試具有了更高的靈活性,不再受到測(cè)試用例的約束。在測(cè)試執(zhí)行得到一個(gè)結(jié)果后,需要對(duì)測(cè)試結(jié)果和期望結(jié)果進(jìn)行比較,其中一種就是得到的測(cè)試結(jié)果完全等價(jià)于期望的結(jié)果,這里使用equals()方法來(lái)進(jìn)行兩個(gè)結(jié)果之間的比較。另一種可能的結(jié)果就是測(cè)試結(jié)果中包含了期望結(jié)果的內(nèi)容,在這種情況下,只要測(cè)試所得出的結(jié)果集中包含了期望結(jié)果中的所有的信息,那么測(cè)試也能通過(guò)。這種情況可以使用contains()方法來(lái)實(shí)現(xiàn)。還有一種測(cè)試結(jié)果就是對(duì)數(shù)字的比較,有些情況下,系統(tǒng)的邏輯要求是如果某個(gè)參數(shù)的值不大于某個(gè)指定值,就可以認(rèn)為測(cè)試是通過(guò)的。

        3 結(jié)束語(yǔ)

        本文介紹了軟件測(cè)試在軟件發(fā)展過(guò)程中所占據(jù)的不可替代的位置,并且隨著軟件復(fù)雜度的增加,軟件測(cè)試的重要性也越發(fā)突出。隨著功能的不斷增加,手工測(cè)試不再是高效的測(cè)試方法。自動(dòng)化測(cè)試的效率很高,減少測(cè)試人員的測(cè)試時(shí)間,能讓測(cè)試人員更加專注于測(cè)試用例的設(shè)計(jì),使得系統(tǒng)的邏輯更加細(xì)致和完善。本文介紹了基于Spring的API自動(dòng)化測(cè)試系統(tǒng)中所用到的技術(shù),主要包括Spring框架、DAO模式和TestNG框架。介紹了基于Spring的API自動(dòng)化測(cè)試系統(tǒng)的設(shè)計(jì);采用了分層的設(shè)計(jì)思想,將業(yè)務(wù)邏輯層和數(shù)據(jù)層分離;運(yùn)用Spring的IOC容器實(shí)現(xiàn)依賴注入,讓IOC容器來(lái)管理對(duì)象之間的依賴關(guān)系,降低耦合度;采用TestNG測(cè)試框架將測(cè)試用例和測(cè)試代碼分離,由系統(tǒng)自己去讀取測(cè)試用例,將執(zhí)行的結(jié)果和測(cè)試用例中的期望結(jié)果進(jìn)行比較來(lái)得到最終的測(cè)試結(jié)果。本系統(tǒng)目前的主要作用是用于對(duì)API的自動(dòng)化測(cè)試,只要對(duì)該系統(tǒng)稍加改進(jìn),就能擴(kuò)展到對(duì)UI的自動(dòng)化測(cè)試,具有廣闊的應(yīng)用前景。

        [1] 戴莉萍,杜 瓊.一種軟件測(cè)試V模型的改進(jìn)及其應(yīng)用[J].計(jì)算機(jī)與現(xiàn)代化,2004,13(7):29-33.

        [2] 柯 玲,徐 京,李 穎.IOC模式及其在設(shè)備監(jiān)控軟件中的應(yīng)用[J].航天器工程,2009,(18):117-122.

        [3] 林 寧,孟慶余.軟件測(cè)試實(shí)用指南[M].北京:清華大學(xué)出版社,2004.

        [4] 劉曉丹,武君勝.基于數(shù)據(jù)驅(qū)動(dòng)的自動(dòng)化測(cè)試平臺(tái)設(shè)計(jì)[J].科學(xué)技術(shù)與工程,2008,8(3):779-782.

        [5] 王 萍.軟件測(cè)試的重要性[J].軟件導(dǎo)刊,2009,4(8):20-21.

        [6] 王艷秋,燕孝飛.軟件自動(dòng)化測(cè)試初探[J].計(jì)算機(jī)與網(wǎng)絡(luò),2007,2(5):168-171.

        [7] Randell B.System structure for software fault tolerance[J].IEEE Trans.Software Eng,1975,14(6):220-231.

        [8] Bill Councill.Third-Party Testing and Stirrings of The New Software Engineering[J].IEEE Software,1999,16(6):76-79.

        [9] Edward Kit.軟件測(cè)試過(guò)程改進(jìn)[M].北京:機(jī)械工業(yè)出版社,2003.

        [10]GUO PJ,ERNST MD,PERKINGS JH,et al.The Daikon System for dynamic detection of likcly invariants[Z].2006.

        猜你喜歡
        測(cè)試人員測(cè)試用例軟件測(cè)試
        移動(dòng)應(yīng)用眾包測(cè)試人員信譽(yù)度復(fù)合計(jì)算模型研究
        基于SmartUnit的安全通信系統(tǒng)單元測(cè)試用例自動(dòng)生成
        基于OBE的軟件測(cè)試課程教學(xué)改革探索
        EXCEL和VBA實(shí)現(xiàn)軟件測(cè)試記錄管理
        電子制作(2018年16期)2018-09-26 03:27:18
        基于混合遺傳算法的回歸測(cè)試用例集最小化研究
        高校分析測(cè)試中心測(cè)試隊(duì)伍建設(shè)方案初探
        山東化工(2018年20期)2018-04-02 16:30:53
        關(guān)于軟件測(cè)試技術(shù)應(yīng)用與發(fā)展趨勢(shì)研究
        淺析軟件測(cè)試中的心理學(xué)應(yīng)用
        軟件測(cè)試工程化模型及應(yīng)用研究
        基于依賴結(jié)構(gòu)的測(cè)試用例優(yōu)先級(jí)技術(shù)
        亚洲国产一区二区av| 国产精品后入内射日本在线观看| av一区无码不卡毛片| 国产后入内射在线观看| 日本中文字幕精品久久| 亚洲人成电影网站色| 亚洲欧美日韩精品久久亚洲区| 国产自产c区| 一区二区三区日韩毛片| 日本免费视频| 少妇高潮尖叫黑人激情在线| 亚洲AV无码精品色欲av| 免费高清日本一区二区| 少妇被黑人整得嗷嗷叫视频| 女人被狂躁高潮啊的视频在线看 | 亚洲av精品一区二区| 中文字幕在线亚洲三区 | 九九综合va免费看| 无码人妻丰满熟妇区毛片| 甲状腺囊实性结节三级| 国产中文字幕一区二区视频| 成人欧美一区二区三区在线观看| 无尽动漫性视频╳╳╳3d| 亚洲综合久久1区2区3区 | 国产精品国产三级国av在线观看| 国产尻逼视频| 国产精品丝袜美腿诱惑| 欧美怡春院一区二区三区| 国产免费无码一区二区三区| 亚洲精品AⅤ无码精品丝袜无码| 中文字幕综合一区二区| 久久天天躁狠狠躁夜夜avapp| 亚欧国产女人天堂Av在线播放| av永远在线免费观看| 久久精品国产av一级二级三级| 少妇性饥渴bbbbb搡bbbb| 亚洲精品理论电影在线观看| 亚洲国产一区二区,毛片| 亚洲精品色午夜无码专区日韩| 久久AV老司机精品网站导航| 亚洲中文字幕熟女五十|