自動(dòng)測(cè)試方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及軟件測(cè)試領(lǐng)域,特別涉及一種自動(dòng)測(cè)試方法及裝置。
【背景技術(shù)】
[0002]Web服務(wù)是一種通過(guò)互聯(lián)網(wǎng)向用戶提供的服務(wù)。一種典型的服務(wù)方式是:用戶通過(guò)客戶端向Web服務(wù)器發(fā)送URL請(qǐng)求(Uniform Resource Locator,統(tǒng)一資源定位符),Web服務(wù)器根據(jù)該URL請(qǐng)求向客戶端返回響應(yīng)數(shù)據(jù)包。生成響應(yīng)數(shù)據(jù)包的過(guò)程可以由Web服務(wù)器中的CGI (Common Gateway Interface,通用網(wǎng)關(guān)接口 )程序完成。
[0003]在Web服務(wù)的開(kāi)發(fā)階段,需要對(duì)Web服務(wù)進(jìn)行測(cè)試。現(xiàn)有技術(shù)中的一種測(cè)試方法為:測(cè)試人員構(gòu)造URL請(qǐng)求,通過(guò)客戶端將URL請(qǐng)求發(fā)送給Web服務(wù),Web服務(wù)根據(jù)該URL請(qǐng)求生成響應(yīng)數(shù)據(jù)包,并將響應(yīng)數(shù)據(jù)包反饋給客戶端。測(cè)試人員分析響應(yīng)數(shù)據(jù)包的內(nèi)容是否符合預(yù)期內(nèi)容;若符合預(yù)期內(nèi)容,則測(cè)試通過(guò);若不符合預(yù)期內(nèi)容,則測(cè)試不通過(guò)。
[0004]在實(shí)現(xiàn)本發(fā)明的過(guò)程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問(wèn)題:由于URL請(qǐng)求需要測(cè)試人員來(lái)人工構(gòu)造,響應(yīng)數(shù)據(jù)包也需要由測(cè)試人員來(lái)人工分析,所以現(xiàn)有技術(shù)中的測(cè)試方法對(duì)測(cè)試人員的要求和依賴較高,而且測(cè)試效率較低。
【發(fā)明內(nèi)容】
[0005]為了解決現(xiàn)有技術(shù)的問(wèn)題,本發(fā)明實(shí)施例提供了一種自動(dòng)測(cè)試方法及裝置。該技術(shù)方案如下:
[0006]第一方面,提供了一種自動(dòng)測(cè)試方法,該方法包括:
[0007]從Web服務(wù)器的運(yùn)行日志文件中采集URL請(qǐng)求和響應(yīng)數(shù)據(jù)包,該URL請(qǐng)求和該響應(yīng)數(shù)據(jù)包一一對(duì)應(yīng);
[0008]通過(guò)預(yù)先訓(xùn)練的功能模板從該URL請(qǐng)求和該響應(yīng)數(shù)據(jù)包中篩選出目標(biāo)URL請(qǐng)求和目標(biāo)響應(yīng)數(shù)據(jù)包;
[0009]將該目標(biāo)URL請(qǐng)求發(fā)送給本次測(cè)試的Web服務(wù),并獲取該Web服務(wù)反饋的測(cè)試響應(yīng)數(shù)據(jù)包,該本次測(cè)試的Web服務(wù)具有的業(yè)務(wù)功能與該功能模板對(duì)應(yīng)的業(yè)務(wù)功能屬于同一類型;
[0010]計(jì)算該目標(biāo)響應(yīng)數(shù)據(jù)包和該測(cè)試響應(yīng)數(shù)據(jù)包的相似度,并根據(jù)該相似度輸出測(cè)試結(jié)果。
[0011]可選的,該計(jì)算該目標(biāo)響應(yīng)數(shù)據(jù)包和該測(cè)試響應(yīng)數(shù)據(jù)包的相似度,并根據(jù)該相似度輸出測(cè)試結(jié)果,包括:
[0012]計(jì)算η組該目標(biāo)響應(yīng)數(shù)據(jù)包和該測(cè)試響應(yīng)數(shù)據(jù)包之間的文本序列相似度;
[0013]根據(jù)η個(gè)該文本序列相似度計(jì)算相似度分值;
[0014]檢測(cè)該相似度分值是否達(dá)到預(yù)設(shè)閾值;
[0015]若達(dá)到該預(yù)設(shè)閾值,則測(cè)試通過(guò);
[0016]若未達(dá)到該預(yù)設(shè)閾值,則測(cè)試未通過(guò)。
[0017]可選的,該根據(jù)η個(gè)該文本序列相似度計(jì)算相似度分值,包括:
[0018]從η個(gè)該文本序列相似度中減去最高的文本序列相似度和最低的文本序列相似度,得到η-2個(gè)該文本序列相似度,n ^ 3 ;
[0019]計(jì)算η-2個(gè)該文本序列相似度的平均值,將該平均值作為該相似度分值。
[0020]可選的,該通過(guò)預(yù)先訓(xùn)練的功能模板從該URL請(qǐng)求和該響應(yīng)數(shù)據(jù)包中篩選出目標(biāo)URL請(qǐng)求和目標(biāo)響應(yīng)數(shù)據(jù)包之前,還包括:
[0021]將歷史時(shí)間段內(nèi)的m個(gè)該URL請(qǐng)求進(jìn)行相似聚類;
[0022]對(duì)于屬于同一類的該URL請(qǐng)求,分析該URL請(qǐng)求中的用戶參數(shù)和系統(tǒng)參數(shù),該用戶參數(shù)是根據(jù)用戶的不同而改變參數(shù)取值的參數(shù),該系統(tǒng)參數(shù)是根據(jù)功能的不同而改變參數(shù)取值的參數(shù);
[0023]將刪除該用戶參數(shù)的取值后的該URL請(qǐng)求,按照該系統(tǒng)參數(shù)的取值類型生成為至少一個(gè)功能模板,每個(gè)功能模板對(duì)應(yīng)一套該系統(tǒng)參數(shù)的取值。
[0024]可選的,該對(duì)于屬于同一類的該URL請(qǐng)求,分析該URL請(qǐng)求中的用戶參數(shù)和系統(tǒng)參數(shù),包括:
[0025]對(duì)于屬于同一類的該URL請(qǐng)求,根據(jù)分隔符將該URL請(qǐng)求劃分為若干個(gè)字符片段;
[0026]將每個(gè)該URL請(qǐng)求中都具有的相同字符片段進(jìn)行過(guò)濾,得到相異字符片段,每個(gè)相異字符片段包括:參數(shù)名和參數(shù)取值;
[0027]對(duì)于每種參數(shù)名,統(tǒng)計(jì)該參數(shù)名對(duì)應(yīng)的各種參數(shù)取值和每種參數(shù)取值的出現(xiàn)次數(shù);
[0028]對(duì)于每種參數(shù)名,若該參數(shù)名對(duì)應(yīng)的參數(shù)取值的種類數(shù)大于第一閾值,且每種參數(shù)取值的出現(xiàn)次數(shù)小于第二閾值,則該參數(shù)名為該用戶參數(shù);若該參數(shù)名對(duì)應(yīng)的參數(shù)取值的種類數(shù)小于第三閾值,且每個(gè)參數(shù)取值的出現(xiàn)次數(shù)大于第四閾值,則該參數(shù)名為該系統(tǒng)參數(shù)。
[0029]第二方面,提供了一種自動(dòng)測(cè)試裝置,該裝置包括:
[0030]采集模塊,用于從Web服務(wù)器的運(yùn)行日志文件中采集URL請(qǐng)求和響應(yīng)數(shù)據(jù)包,該URL請(qǐng)求和該響應(yīng)數(shù)據(jù)包——對(duì)應(yīng);
[0031]篩選模塊,用于通過(guò)預(yù)先訓(xùn)練的功能模板從該URL請(qǐng)求和該響應(yīng)數(shù)據(jù)包中篩選出目標(biāo)URL請(qǐng)求和目標(biāo)響應(yīng)數(shù)據(jù)包;
[0032]發(fā)送模塊,用于將該目標(biāo)URL請(qǐng)求發(fā)送給本次測(cè)試的Web服務(wù),并獲取該Web服務(wù)反饋的測(cè)試響應(yīng)數(shù)據(jù)包,該本次測(cè)試的Web服務(wù)具有的業(yè)務(wù)功能與該功能模板對(duì)應(yīng)的業(yè)務(wù)功能屬于同一類型;
[0033]計(jì)算模塊,用于計(jì)算該目標(biāo)響應(yīng)數(shù)據(jù)包和該測(cè)試響應(yīng)數(shù)據(jù)包的相似度,并根據(jù)該相似度輸出測(cè)試結(jié)果。
[0034]可選的,該計(jì)算模塊,包括:
[0035]相似度計(jì)算子模塊,用于計(jì)算η組該目標(biāo)響應(yīng)數(shù)據(jù)包和該測(cè)試響應(yīng)數(shù)據(jù)包之間的文本序列相似度;
[0036]分值計(jì)算子模塊,用于根據(jù)η個(gè)該文本序列相似度計(jì)算相似度分值;
[0037]閾值檢測(cè)子模塊,用于檢測(cè)該相似度分值是否達(dá)到預(yù)設(shè)閾值;
[0038]第一處理子模塊,用于當(dāng)達(dá)到該預(yù)設(shè)閾值時(shí),測(cè)試通過(guò);
[0039]第二處理子模塊,用于當(dāng)未達(dá)到該預(yù)設(shè)閾值時(shí),測(cè)試未通過(guò)。
[0040]可選的,該分值計(jì)算子模塊,包括:
[0041]第一計(jì)算單元,用于從η個(gè)該文本序列相似度中減去最高的文本序列相似度和最低的文本序列相似度,得到η-2個(gè)該文本序列相似度,n ^ 3 ;
[0042]第二計(jì)算單元,用于計(jì)算η-2個(gè)該文本序列相似度的平均值,將該平均值作為該相似度分值。
[0043]可選的,該裝置,還包括:
[0044]聚類模塊,用于將歷史時(shí)間段內(nèi)的m個(gè)該URL請(qǐng)求進(jìn)行相似聚類;
[0045]分析模塊,用于對(duì)于屬于同一類的該URL請(qǐng)求,分析該URL請(qǐng)求中的用戶參數(shù)和系統(tǒng)參數(shù),該用戶參數(shù)是根據(jù)用戶的不同而改變參數(shù)取值的參數(shù),該系統(tǒng)參數(shù)是根據(jù)功能的不同而改變參數(shù)取值的參數(shù);
[0046]生成模塊,用于將刪除該用戶參數(shù)的取值后的該URL請(qǐng)求,按照該系統(tǒng)參數(shù)的取值類型生成為至少一個(gè)功能模板,每個(gè)功能模板對(duì)應(yīng)一套該系統(tǒng)參數(shù)的取值。
[0047]可選的,該分析模塊,包括:
[0048]劃分子模塊,用于對(duì)于屬于同一類的該URL請(qǐng)求,根據(jù)分隔符將該URL請(qǐng)求劃分為若干個(gè)字符片段;
[0049]過(guò)濾子模塊,用于將每個(gè)該URL請(qǐng)求中都具有的相同字符片段進(jìn)行過(guò)濾,得到相異字符片段,每個(gè)相異字符片段包括:參數(shù)名和參數(shù)取值;
[0050]統(tǒng)計(jì)子模塊,用于對(duì)于每種參數(shù)名,統(tǒng)計(jì)該參數(shù)名對(duì)應(yīng)的各種參數(shù)取值和每種參數(shù)取值的出現(xiàn)次數(shù);
[0051]命名子模塊,被配置對(duì)于每種參數(shù)名,若該參數(shù)名對(duì)應(yīng)的參數(shù)取值的種類數(shù)大于第一閾值,且每種參數(shù)取值的出現(xiàn)次數(shù)小于第二閾值,則該參數(shù)名為該用戶參數(shù);若該參數(shù)名對(duì)應(yīng)的參數(shù)取值的種類數(shù)小于第三閾值,且每個(gè)參數(shù)取值的出現(xiàn)次數(shù)大于第四閾值,則該參數(shù)名為該系統(tǒng)參數(shù)。
[0052]本發(fā)明實(shí)施例提供的技術(shù)方案帶來(lái)的有益效果是:
[0053]通過(guò)采集URL請(qǐng)求和響應(yīng)數(shù)據(jù)包,并從中篩選出目標(biāo)URL請(qǐng)求和目標(biāo)響應(yīng)數(shù)據(jù)包,將目標(biāo)URL請(qǐng)求發(fā)送至本次測(cè)試的Web服務(wù)來(lái)獲取測(cè)試響應(yīng)數(shù)據(jù)包,根據(jù)目標(biāo)響應(yīng)數(shù)據(jù)包文本與測(cè)試響應(yīng)數(shù)據(jù)包文本的相似度確定對(duì)Web服務(wù)的測(cè)試是否通過(guò);解決了現(xiàn)有技術(shù)中的測(cè)試方法對(duì)測(cè)試人員的要求和依賴較高,測(cè)試效率較低的問(wèn)題;達(dá)到了不需要構(gòu)造URL請(qǐng)求和人工分析響應(yīng)數(shù)據(jù)包,實(shí)現(xiàn)全自動(dòng)的web服務(wù)測(cè)試,從而提高測(cè)試效率的效果。
【附圖說(shuō)明】
[0054]為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0055]圖1是本發(fā)明一個(gè)實(shí)施例中提供的自動(dòng)測(cè)試方法所涉及的實(shí)施環(huán)境的示意圖;
[0056]圖2是本發(fā)明一個(gè)實(shí)施例中提供的自動(dòng)測(cè)試方法的方法流程圖;
[0057]圖3A是本發(fā)明另一個(gè)實(shí)施例中提供的自動(dòng)測(cè)試方法的方法流程圖;
[0058]圖3B是本發(fā)明一個(gè)實(shí)施例中提供的URL請(qǐng)求分析方法的方法流程圖;
[0059]圖3C是本發(fā)明一個(gè)實(shí)施例中提供的參數(shù)統(tǒng)計(jì)方法的示意圖;
[0060]圖3D是本發(fā)明一個(gè)實(shí)施例中提供的相似度分值計(jì)算方法的方法流程圖;
當(dāng)前第1頁(yè)
1 
2 
3 
4 
5