論基于QTP的金融軟件自動化測試框架_第1頁
論基于QTP的金融軟件自動化測試框架_第2頁
論基于QTP的金融軟件自動化測試框架_第3頁
論基于QTP的金融軟件自動化測試框架_第4頁
論基于QTP的金融軟件自動化測試框架_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、基于QTP的金融軟件自動化測試框架何謂自動化測試框架呢?我認(rèn)為它確實(shí)是一個關(guān)于自動化測試總體設(shè)計(jì)規(guī)劃和一個關(guān)于設(shè)計(jì)細(xì)節(jié)的規(guī)范,同時(shí)我認(rèn)為自動化測試框架至少應(yīng)該包含下面三個部分:測試工具使用規(guī)范、業(yè)務(wù)功能模塊分解、測試數(shù)據(jù)分離與治理。圖1.自動化測試框架草圖下面分不對這三個方面進(jìn)行簡單的闡述,不只針對回歸測試,大伙兒能夠把系統(tǒng)測試也考慮到里面去,希望能起到拋磚引玉的作用。我呢,經(jīng)驗(yàn)不多參加工作才一年,可能有些看法比較偏頗或者錯誤,希望大伙兒不吝指教。測試工具使用規(guī)范先談?wù)勔?guī)范化的必要性(引用來源51Testing)腳本的生成方式就兩種,一種是自寫腳本,一種是錄制生成。腳本不管錄制也好,依舊手寫也

2、好,選擇的時(shí)候應(yīng)該以腳本模擬程序真實(shí)有效為準(zhǔn),結(jié)合項(xiàng)目進(jìn)度,開發(fā)難易程度等因素考慮。而腳本的開發(fā)也需要符合一種規(guī)范,也能夠講是一種適應(yīng),因?yàn)槟_本不只是開發(fā)者一個人看,測試執(zhí)行人員也需要看,這就要求可讀性和可維護(hù)性提高;故而開發(fā)時(shí)應(yīng)該考慮這層因素,規(guī)范一下。綜合起來能夠得到以下結(jié)論:手寫可讀性好,流程清晰,檢查點(diǎn)截取含義明確。業(yè)務(wù)級的代碼讀起來總比協(xié)議級的代碼更易讓人理解,手寫可能花費(fèi)更多時(shí)刻,然而也更容易維護(hù),必要時(shí)可建立一個腳本庫。而錄制生成的代碼大多沒有維護(hù)的價(jià)值,現(xiàn)炒現(xiàn)賣。其次,業(yè)務(wù)邏輯略微復(fù)雜一點(diǎn)的系統(tǒng)單憑錄制是不可能檢查到絕大部分異常的,只有手工書寫的時(shí)候邊寫邊考慮可能會發(fā)生哪些異常

3、,才能使腳本更具邏輯性、完整性和健壯性,給業(yè)務(wù)流程操縱提供一個好的依據(jù)。其次是如何做,做些什么規(guī)范在做框架設(shè)計(jì)定義的時(shí)候,需要定義好代碼規(guī)范,如變量名稱定義規(guī)則、注釋規(guī)則、變量聲明規(guī)范、循環(huán)時(shí)刻和次數(shù)上限、等待時(shí)刻的處理方法、單個Action和腳本的大小限制等等,這些差不多上同C/C+、JAVA等程序員寫代碼的要求如出一轍,規(guī)范確實(shí)是為了方便統(tǒng)一治理。工具應(yīng)用規(guī)范的制定,如:對象庫治理方式、關(guān)聯(lián)的驅(qū)動腳本和批處理、測試工具的設(shè)置(如Active Screen,Run mode等)、測試結(jié)果存放分析、數(shù)據(jù)源治理維護(hù)、場景錯誤恢復(fù)和資源、環(huán)境定義等等。并不是所有進(jìn)行自動化測試的人員技術(shù)和經(jīng)驗(yàn)都在一

4、個層次上,因此在設(shè)計(jì)框架的時(shí)候需要關(guān)于一些疑難或者可能會出現(xiàn)苦惱的地點(diǎn)事先進(jìn)行講明或者做出培訓(xùn)打算。這是風(fēng)險(xiǎn)規(guī)避的一條途徑。明確測試目標(biāo),規(guī)定對數(shù)據(jù)檢查的程度和測試目的,F(xiàn)AT、ST依舊UAT,否則在UAT時(shí)期認(rèn)真校驗(yàn)數(shù)據(jù),工作量就特不大了,因此假如有ST測試的腳本基礎(chǔ)倒是也可不能花專門多工夫,只是有些公司用QTP差不多上單只做UAT的。對象庫集中治理,為同一系統(tǒng)所有腳本提供共享庫抑或不共享,這是8.2往常留下的適應(yīng),事實(shí)上在9.0、9.2來講也是能夠考慮的。測試腳本存儲和運(yùn)行治理有時(shí)候,我們沒有(公司沒有提供)QC/TD來治理我們的自動化測試(因此其他的自動化測試治理工具我也沒有見過、用過,

5、就以QC/TD為例吧),而有時(shí)候我們擁有治理工具卻缺少必要的主策略和網(wǎng)絡(luò)協(xié)議(可能會出現(xiàn)這種情況吧),這就導(dǎo)致了QTP自動化測試治理的多樣性;因此多數(shù)情況下,用得起QTP的也是能用得起QC/TD的,呵呵。有QC/TD作為我們的測試腳本存儲和運(yùn)行治理(拋開需求和缺陷治理不講)的時(shí)候,我們的自動化測試流程治理顯得簡單的多。腳本編寫、存儲、測試實(shí)驗(yàn)室業(yè)務(wù)流程的建立、測試執(zhí)行和結(jié)果分析等等。一般情況下,這些規(guī)則之需要簡單的口述即可,因此一定需要闡明的話也是專門簡單的,只是需要結(jié)合我們要講的其他幾個部分來敘述,那個地點(diǎn)不再贅述。關(guān)于沒有QC/TD的情況,可能大伙兒見過專門多治理方式,類如FTP、共享磁盤

6、等等;一個共同的要點(diǎn)確實(shí)是“共享”。假如一個系統(tǒng)或項(xiàng)目有多個自動化腳本設(shè)計(jì)者協(xié)同工作,而大伙兒各自為戰(zhàn)把腳本存儲在自己的私人空間里就會產(chǎn)生專門不行的效果。因?yàn)檎麄€系統(tǒng)的測試被割裂,專門多需要關(guān)聯(lián)的業(yè)務(wù)流程就無法組合,尤其關(guān)于金融軟件來講,功能測試也好、回歸測試也好,如此自動化就成了一個擺設(shè):它無法覆蓋專門多的關(guān)聯(lián)性專門強(qiáng)的業(yè)務(wù)流程。其次,在本地空間存儲有一個潛在的安全隱患,因?yàn)榭赡苡捎谡`操作或者磁盤的損壞導(dǎo)致一個月的工作付諸東流。而共享服務(wù)目錄和FTP器一般差不多上相對比較穩(wěn)定的。最后,本地測試執(zhí)行要覆蓋不同的業(yè)務(wù)流程一般需要使用一個驅(qū)動腳本,由它來指引流程的走向,負(fù)責(zé)數(shù)據(jù)文件的獵取同時(shí)完成測

7、試結(jié)果的定點(diǎn)存放。那個腳本一般可能都比較喜愛用VBS吧(我見到的差不多上)。本地存儲,QC/TD上執(zhí)行是行不通的,方法也專門愚昧,呵呵;而在QC/TD上存儲、拿到本地執(zhí)行也許是一種變通的法子,能夠解決局域網(wǎng)網(wǎng)絡(luò)協(xié)議和安全策略對QC/TD的封殺;然而在網(wǎng)絡(luò)協(xié)議和安全策略正常的情況下,這種方法也是不可取的,因?yàn)槿绱诉h(yuǎn)沒有QC/TD治理起來方便。非要這么做的只有一種可能:那確實(shí)是QC/TD只是作為存儲工具,白費(fèi)啊,呵呵;堅(jiān)持這種做法的大約會是專門老的前輩了,因?yàn)橐酝鵔C/TD和QTP的功能沒有像現(xiàn)在9.0、9.2這么全面,要求專門高的技術(shù),這些前輩在這種條件下練就一身好技術(shù),有了技術(shù)因此能夠和測試治

8、理工具抗衡了,呵呵,不明白如何表達(dá),反正沒有笑話的意思,表見怪哈。事實(shí)上不管使用共享磁盤治理依舊使用QC/TD治理差不多上能夠的,只是QC/TD提供了一種比較省事的方法而已,因此,代價(jià)是昂貴的license,在本地運(yùn)行治理相對來講需要更強(qiáng)的技術(shù)和更為細(xì)致的規(guī)劃設(shè)計(jì),二者效果是一樣的。業(yè)務(wù)功能模塊劃分熟悉一個應(yīng)用系統(tǒng)的業(yè)務(wù)流程是特不關(guān)鍵的,因這為不僅在方法上給我們帶來專門大的便利,而且從全然上將,我們做自動化(回歸)測試,多數(shù)差不多上為了某些個系統(tǒng)核心業(yè)務(wù)的完整性和正確性作保證,這因此要求我們精通“業(yè)務(wù)”。明確一個較為龐大的業(yè)務(wù)系統(tǒng)的業(yè)務(wù)流程不是件容易的情況,在多數(shù)情況下需要將精通的業(yè)務(wù)的同事拉

9、進(jìn)來參與我們的流程制定、選取和覆蓋設(shè)計(jì)。對業(yè)務(wù)模塊的精確劃分是我們完成一份高效的自動化測試的良好基礎(chǔ),否則,我們的自動化可能為雜亂無章,甚至徒勞無功。那么業(yè)務(wù)模塊劃分的準(zhǔn)則和依據(jù)到底是什么呢?不同的系統(tǒng)有著不同的標(biāo)準(zhǔn),下面飲用一個案例對金融系統(tǒng)做個粗略的介紹。對金融系統(tǒng)來講,我們進(jìn)行業(yè)務(wù)分解和設(shè)計(jì)業(yè)務(wù)流程的時(shí)候需要做如下要求:較為模塊化的設(shè)計(jì),幸免重復(fù)的腳本,減少建立或維護(hù)腳本的成本。 在應(yīng)用軟件開發(fā)的同時(shí),就能夠同步進(jìn)行腳本建立的動作,而且當(dāng)應(yīng)用軟件功能變動時(shí),只需要修改業(yè)務(wù)功能腳本。 由于應(yīng)用軟件的功能差不多被分解成獨(dú)立的業(yè)務(wù)功能腳本,測試人員能夠隨意組合業(yè)務(wù)功能腳本成為更復(fù)雜多樣的測試個

10、案。 測試輸入數(shù)據(jù)與驗(yàn)證數(shù)據(jù)與腳本分開,儲存在另外的檔案,如純文字文件或 Excel 文件,測試人員能夠更容易修改與維護(hù)。 加強(qiáng)錯誤處理合結(jié)果分析推斷,讓腳本更有彈性。 因此如此做也會帶來一定的額外開銷,然而這些差不多上必須的,自動化本身確實(shí)是需要結(jié)合良好的治理以犧牲人力成本來贏得時(shí)刻的,針對一些缺點(diǎn)我做一下簡單的注釋:在編寫業(yè)務(wù)功能腳本時(shí),需要精通測試工具腳本語言的工程師:事實(shí)上專門多公司都有實(shí)力查找如此的人,因?yàn)閂BS本身相對比較簡單,盡管自動化測試還沒有在整個中國全面興起,然而有著豐富自動化測試經(jīng)驗(yàn)的測試人員差不多特不多了。每個Action都會有自己的輸入輸出參數(shù),需要用文檔統(tǒng)一維護(hù),操

11、縱變更:這的確增加了一些工作量,然而對測試本身的規(guī)范來講,是一大進(jìn)步。測試人員除了要維護(hù)測試打算之外,還要另外維護(hù)數(shù)據(jù)文件:同上。對測試工具以及腳本語言來講,使用數(shù)據(jù)文件可能也要注意數(shù)據(jù)文件的格式。 那個分解結(jié)果來自51Testing上的一位同仁,我在做完興業(yè)銀行自動化之后做總結(jié)的時(shí)候無意發(fā)覺了這段話,猿糞哪!與我的方法不謀而和,呵呵,因此當(dāng)時(shí)就Copy下來了,并非有意剽竊,假如侵犯了這位仁兄,敬請?jiān)?!那個地點(diǎn)修改了一些地點(diǎn),我覺得這是金融尤其是銀行業(yè)務(wù)分解的一個經(jīng)典,也確實(shí)是一個不大不小的標(biāo)準(zhǔn)吧,可能并不能適用于所有系統(tǒng),然而對銀行來講,依舊專門有用的。下面以興業(yè)銀行交易處理中心項(xiàng)目自動化

12、測試為例,看看這份業(yè)務(wù)分解和腳本規(guī)范會帶來什么樣的效果。(注:附件文檔乃非正式公布文檔,系個人私有,不牽涉興業(yè)銀行商業(yè)秘密,諸位放心!)系統(tǒng)講明:前臺Teller(銀行柜員操作界面)、電子驗(yàn)印系統(tǒng)(印章校驗(yàn))、Integrator(信息管道)、工作流系統(tǒng)(IBM的FileNet)、后臺交易集中處理系統(tǒng)(中間業(yè)務(wù)平臺)、核心(聯(lián)想亞信的FTS)等??紤]金融系統(tǒng)的安全性,所有交易流程的處理采納獨(dú)占的方式,后臺界面交易處理按交易優(yōu)先級次、時(shí)刻先后進(jìn)行,同等條件下FileNet隨機(jī)分配,因此自動化的難度相當(dāng)?shù)拇?。交易功能分解按照操作員崗位職責(zé)劃分為前臺柜員,CPC(中間業(yè)務(wù)平臺)的錄入崗、審核崗、報(bào)文

13、審核崗、異常處理崗、監(jiān)控崗等部分。實(shí)際應(yīng)用:如此的框架設(shè)計(jì)會帶來什么結(jié)果呢?我們來計(jì)算一下:前臺發(fā)起的交易大約有60多個,每個交易的典型業(yè)務(wù)覆蓋需要大約20個流程,如此共計(jì)1200個測試流程;每個測試流程除去操作員登陸、簽退之后大約有10個腳本,如此假如沒有采取公用的話,每個健全的腳本應(yīng)該在200行左右,不計(jì)算重復(fù)的測試流程,總的腳本的行數(shù)應(yīng)該是:10*200*60=120000行; 然而采納了子模塊的公用,我們完整地寫了不到300個腳本(其中包含近百個10行以內(nèi)的登陸、登出腳本),平均每個腳本只有不到100行,同時(shí)通文件系統(tǒng)操作覆蓋了所有的流程,即:300*100=30000行;如此能夠清晰

14、地看到,同樣覆蓋了1200個流程,我們節(jié)約了75%的腳本行數(shù),減輕至少50%的工作量(考慮技術(shù)問題甚至80%),為QC/TD服務(wù)器也減輕了75%的存儲壓力,盡管在技術(shù)上帶來一定難度,然而也沒有產(chǎn)生多大的阻礙。假如在沒有外界壓力的情況下,這種框架設(shè)計(jì)是特不有效的。專門明顯,略微加大一些技術(shù)層面的工作量會給我們帶來專門大的好處:減少30%到50%甚至更多的腳本編寫的工作量,系統(tǒng)越大,有點(diǎn)越明顯。后期維護(hù)難度和工作量在同一的治理下大幅度下降。減輕了測試治理服務(wù)器的存儲壓力,關(guān)于QC/TD和QTP的license不多的企業(yè)和單位來講,統(tǒng)一協(xié)調(diào)運(yùn)行、治理能夠?qū)iT大程度上減少由于license有限帶來的時(shí)

15、效性不高的問題。剛才提到外界壓力,什么是外界壓力:我是你老大,我讓你寫1000個腳本你就不能偷懶寫900數(shù)據(jù)分離和數(shù)據(jù)治理規(guī)范使用測試工具、規(guī)范開發(fā)腳本也許需要考慮的不是專門多,業(yè)務(wù)分解也能夠獵取大量的支持,然而相對這二者來講,數(shù)據(jù)分離和數(shù)據(jù)治理就需要綜合考慮了。關(guān)于類似銀行、保險(xiǎn)、證券、信托等金融業(yè)務(wù)系統(tǒng)來講,數(shù)據(jù)量要求比較大而且對其準(zhǔn)確性有著專門高的要求,因此實(shí)現(xiàn)數(shù)據(jù)分離、治理就成了那個框架中最重要的一個點(diǎn)了。自動化測試中有一個專門鮮亮的概念叫“數(shù)據(jù)驅(qū)動”,事實(shí)上確實(shí)是利用數(shù)據(jù)操縱業(yè)務(wù)流程的走向,這是同前面提到的驅(qū)動腳本意思是相同的,只只是這兒講的數(shù)據(jù)是完全剝離開的,從腳本中獨(dú)立出來了。做

16、到數(shù)據(jù)驅(qū)動不是專門簡單的情況,因?yàn)檫@些金融業(yè)務(wù)系統(tǒng)的業(yè)務(wù)邏輯是特不復(fù)雜的,凡是接觸過這些業(yè)務(wù)的核心系統(tǒng)的朋友可能都有那個體會。為了完成數(shù)據(jù)驅(qū)動,我們必須熟知每一個我們要測試的業(yè)務(wù)節(jié)點(diǎn)的功能,這比性能測試對業(yè)務(wù)流程的掌握要高一些,同時(shí)還要掌握數(shù)據(jù)庫相關(guān)的表結(jié)構(gòu),因此其中最苦惱的就數(shù)表的關(guān)聯(lián)性了。熟悉了系統(tǒng)的需求、設(shè)計(jì)、數(shù)據(jù)庫表結(jié)構(gòu),聽起來可能有點(diǎn)危言聳聽,然而考慮到今后的使用,系統(tǒng)的不斷升級,我們花一些功夫依舊值得的;一個上線了的核心業(yè)務(wù)系統(tǒng)一般可不能在一兩年之內(nèi)就淘汰的,金融業(yè)務(wù)的日新月異事實(shí)上并不阻礙我們自動化測試的流程,一系列的升級和數(shù)據(jù)集中會體現(xiàn)出我們高質(zhì)量腳本的價(jià)值所在。舉例來講,*保

17、險(xiǎn)公司一個養(yǎng)老險(xiǎn)業(yè)務(wù)系統(tǒng),不管業(yè)務(wù)需求如何逐步更改,系統(tǒng)始終都會穩(wěn)固的擺在那兒;因?yàn)椴坏綄?shí)在非廢棄不可的程度,誰情愿花費(fèi)巨大的代價(jià)重新去做一個新的系統(tǒng)呢?為了保證對公眾業(yè)務(wù)的連貫性,一個系統(tǒng)始終會以改造升級的方式去運(yùn)作。講這些無非確實(shí)是想告訴大伙兒,做一個優(yōu)秀的自動化個案,尤其在金融那個行業(yè)里,是值得的,絕對可不能讓我們覺得白費(fèi)了太多精力而沒有實(shí)現(xiàn)他的價(jià)值。在外包公司,能夠?qū)⑦@部分作為服務(wù)和系統(tǒng)開發(fā)成果的一部分移交到“甲方”;而在“甲方”,這些東西就能夠直接應(yīng)用于自己的運(yùn)營測試。據(jù)我所知,專門多公司在持續(xù)集成的時(shí)候配合LR、JUNIT等工具也使用了QUICKTEST PROFESSIONAL,

18、大頻率的集成對我們的腳本的要求也是特不高的,假如做不行就會阻礙這部分工作。不花功夫去研究這些業(yè)務(wù)功能和數(shù)據(jù)邏輯會還有什么不利呢?從開篇的結(jié)果草圖能夠看到,我將測試數(shù)據(jù)分為兩部分:動態(tài)部分和靜態(tài)部分。靜態(tài)數(shù)據(jù)是哪些呢:審核意見、客戶地址這些信息在Staging環(huán)境里是無關(guān)緊要的,后臺可不能進(jìn)行校驗(yàn),也可不能阻礙到我們業(yè)務(wù)流程的走向,因此我們一般采納一些隨機(jī)函數(shù)將其帶過,還能夠?qū)iT大程度的上保證數(shù)據(jù)的唯一性。若是某個模塊不進(jìn)行任何校驗(yàn),或者只有查詢之類的功能,抑或是一個不關(guān)緊要外圍(非核心)系統(tǒng),我們大能夠使用MI(HP)跟我們講的那樣Recording、Replaying。然而如此的情況在金融業(yè)

19、務(wù)系統(tǒng)里依舊不占多數(shù)的。什么緣故我們不能使用固定那一條或幾條數(shù)據(jù)進(jìn)行我們的測試呢,道理專門簡單:幾個數(shù)列的前幾項(xiàng)、十幾項(xiàng)規(guī)律看起來一樣然而后面各是什么樣誰能講得準(zhǔn)呢?這么幾條數(shù)據(jù)校驗(yàn)過去的系統(tǒng)拿到生產(chǎn)線上會可不能出什么事故誰也不敢保證。我們在力所能及的范圍內(nèi)盡可能減少這些事故發(fā)生的可能性確實(shí)是我們的責(zé)任,也能夠上升到職業(yè)道德上面去,嚇?biāo)廊诉职桑∪毕莸男薷耐鶗褂冒l(fā)覺錯誤的那幾條數(shù)據(jù)進(jìn)行校驗(yàn),或者確實(shí)是針對這幾條數(shù)據(jù)修改了,如何辦?假如依舊用這么幾條數(shù)據(jù)來驗(yàn)證,系統(tǒng)確信依舊好的;然而換幾條數(shù)據(jù)可能就不是那么回事了。我這兒不是詆毀編碼的蟈蟈們,這種情況我的確碰到過好幾次,呵呵。有些人在某些地點(diǎn)喜

20、愛將用過的數(shù)據(jù)UPDATE回頭,下次運(yùn)行時(shí)接著使用(我在做性能測試的時(shí)候就喜愛如此,嘿嘿)。事實(shí)上如此做也是有一定的風(fēng)險(xiǎn)的,因?yàn)閺?fù)雜的關(guān)聯(lián)性會讓你不小心漏掉某張表或者某個字段,如此在運(yùn)行的時(shí)候要么運(yùn)行良好卻發(fā)覺不了存在的缺陷,要么就出一些莫名其妙的問題讓你花費(fèi)專門多的時(shí)刻去排查。那么多的觸發(fā)器,誰能保證面面俱到呢?因此有時(shí)為了進(jìn)行復(fù)雜的操作我們必須去寫一些PROCEDURE、PACKAGE和JOB來配合我們的測試;有些人喜愛在腳本里直接調(diào)用這些過程或包,有些人喜愛用JOB與腳本并行操作。我屬于后者,我覺得在測試腳本里執(zhí)行白費(fèi)時(shí)刻,然而并行可能會出現(xiàn)LOCK,需要計(jì)算時(shí)刻耦合。這差不多上個人適應(yīng)問題,有問題大伙兒能夠評論哈。講了半天講的差不多上數(shù)據(jù)分離的必要性,到底如何做呢?有沒有一個簡單的方法或者例子呢?莫急,聽我慢慢擺。我使用QTP第一個月(學(xué)習(xí)時(shí)期),傻乎乎的就把數(shù)據(jù)固定或者簡單地參數(shù)化一下以顯示我會那個功能,接下來我覺得如此對流程性的測試專門不利,因此就把數(shù)據(jù)寫

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論