面向Web應(yīng)用內(nèi)存膨脹的測(cè)試腳本預(yù)測(cè)與增強(qiáng)技術(shù)研究
發(fā)布時(shí)間:2018-05-01 05:40
本文選題:Web應(yīng)用 + 內(nèi)存膨脹; 參考:《南京航空航天大學(xué)》2017年碩士論文
【摘要】:近年來(lái),Web應(yīng)用發(fā)展迅速,廣泛地應(yīng)用于社會(huì)各個(gè)領(lǐng)域,同時(shí)也帶來(lái)了越來(lái)越多的問(wèn)題,其中一個(gè)重要問(wèn)題是內(nèi)存膨脹(Memory Bloat)。內(nèi)存膨脹是Web應(yīng)用等連續(xù)工作型軟件中的一種常見(jiàn)缺陷。其表現(xiàn)通常是隨著系統(tǒng)不斷運(yùn)行,內(nèi)存消耗越來(lái)越大,進(jìn)而影響系統(tǒng)性能,甚至導(dǎo)致宕機(jī)。人們已對(duì)Web應(yīng)用以及其它一些應(yīng)用中的內(nèi)存膨脹問(wèn)題進(jìn)行了較多研究,然而,一般的測(cè)試方法缺乏導(dǎo)向性,在執(zhí)行測(cè)試用例的過(guò)程中,首先測(cè)試的可能是不容易揭示內(nèi)存膨脹缺陷的測(cè)試用例。一個(gè)用于內(nèi)存膨脹問(wèn)題檢測(cè)的測(cè)試用例通常需要運(yùn)行較長(zhǎng)時(shí)間,因此,如果先執(zhí)行不易發(fā)現(xiàn)缺陷的測(cè)試用例,可能浪費(fèi)較多時(shí)間等測(cè)試資源,降低了缺陷發(fā)現(xiàn)效率。為解決Java Web應(yīng)用上內(nèi)存膨脹問(wèn)題測(cè)試效率不高的問(wèn)題,本文提出了一種面向Java Web應(yīng)用內(nèi)存膨脹的測(cè)試腳本預(yù)測(cè)排序方法,預(yù)測(cè)測(cè)試腳本引發(fā)內(nèi)存膨脹的風(fēng)險(xiǎn)(即揭示缺陷的可能性),然后對(duì)測(cè)試腳本進(jìn)行優(yōu)先級(jí)排序,以?xún)?yōu)化測(cè)試執(zhí)行順序。同時(shí)提出一種面向內(nèi)存膨脹的測(cè)試腳本優(yōu)化與增強(qiáng)方法,通過(guò)優(yōu)化和增強(qiáng)功能測(cè)試腳本生成一個(gè)能夠更明顯暴露內(nèi)存膨脹缺陷的性能測(cè)試腳本。具體工作包括:(1)提出一種面向Web應(yīng)用內(nèi)存膨脹的測(cè)試腳本預(yù)測(cè)排序方法。對(duì)Web應(yīng)用進(jìn)行執(zhí)行跟蹤,收集內(nèi)存膨脹風(fēng)險(xiǎn)特征數(shù)據(jù)來(lái)構(gòu)建特征矩陣,基于特征矩陣,使用機(jī)器學(xué)習(xí)方法訓(xùn)練內(nèi)存膨脹預(yù)測(cè)模型。依據(jù)預(yù)測(cè)模型對(duì)新的待執(zhí)行測(cè)試腳本進(jìn)行內(nèi)存膨脹風(fēng)險(xiǎn)預(yù)測(cè)和排序,高風(fēng)險(xiǎn)腳本優(yōu)先執(zhí)行,加快Web應(yīng)用程序內(nèi)存膨脹測(cè)試的整體流程,提高內(nèi)存膨脹缺陷發(fā)現(xiàn)效率。(2)提出一個(gè)面向Web應(yīng)用內(nèi)存膨脹的腳本優(yōu)化與增強(qiáng)方法。通過(guò)去除測(cè)試腳本中與Web應(yīng)用服務(wù)器端執(zhí)行無(wú)關(guān)的測(cè)試語(yǔ)句來(lái)優(yōu)化腳本結(jié)構(gòu),加速腳本執(zhí)行速度。通過(guò)為腳本自動(dòng)添加循環(huán)或并發(fā)操作,構(gòu)造能夠更明顯暴露內(nèi)存膨脹缺陷的性能測(cè)試測(cè)試腳本。(3)最后,本文實(shí)現(xiàn)了一個(gè)Web應(yīng)用內(nèi)存膨脹測(cè)試工具來(lái)支持測(cè)試腳本預(yù)測(cè)排序和優(yōu)化與增強(qiáng)方法,并通過(guò)在若干真實(shí)Java Web應(yīng)用程序上進(jìn)行測(cè)試,檢驗(yàn)了所提出方法的有效性。
[Abstract]:In recent years, Web applications have developed rapidly and been widely used in various fields of society. At the same time, they have brought more and more problems, one of which is memory bloating. Memory expansion is a common defect in continuous working software such as Web applications. Its performance is usually as the system continues to run, more and more memory consumption, and then affect the performance of the system, or even lead to downtime. Many researches have been done on the problem of memory expansion in Web applications and other applications. However, the general test methods are lack of guidance, and in the process of executing test cases, The first test is likely to be a test case that does not easily reveal memory expansion defects. A test case for memory expansion problem detection usually needs to run for a long time. Therefore, if we execute the test case which is not easy to find defects, we may waste more time and other test resources, and reduce the efficiency of defect detection. In order to solve the problem that the test efficiency of memory expansion problem in Java Web application is not high, this paper presents a test script prediction sorting method for Java Web application. Predict the risk of memory bulging caused by test scripts (that is, reveal the possibility of defects), and then prioritize test scripts to optimize the test execution order. At the same time, a test script optimization and enhancement method for memory expansion is proposed. By optimizing and enhancing the function test script, a performance test script that can expose memory expansion defects more obviously is generated. The main work includes: 1) A test script prediction sorting method for Web application memory expansion is proposed. The Web application is tracked, and the feature matrix is constructed by collecting the feature data of the memory expansion risk. Based on the feature matrix, the machine learning method is used to train the memory expansion prediction model. According to the prediction model, the memory expansion risk is predicted and sorted for the new test scripts to be executed. The high risk scripts are executed first, thus speeding up the overall process of memory expansion testing in Web applications. A script optimization and enhancement method for Web applications is proposed. The structure of the script is optimized by removing the test statements which are independent of the execution of the Web application server in order to speed up the execution of the script. By automatically adding loop or concurrent operations to the script, construct a performance test test script. In this paper, a Web application memory expansion testing tool is implemented to support the test script prediction sorting, optimization and enhancement methods, and the validity of the proposed method is verified by testing on several real Java Web applications.
【學(xué)位授予單位】:南京航空航天大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2017
【分類(lèi)號(hào)】:TP393.09
【參考文獻(xiàn)】
相關(guān)期刊論文 前6條
1 董龍明;王戟;陳立前;董威;;基于局部堆內(nèi)存抽象表示的堆操作程序內(nèi)存泄露檢測(cè)[J];計(jì)算機(jī)研究與發(fā)展;2012年09期
2 陸偉;朱怡安;張龍妹;馬春燕;;一種解決內(nèi)存泄漏問(wèn)題的自愈機(jī)制[J];西北工業(yè)大學(xué)學(xué)報(bào);2011年04期
3 汪小林;王振林;孫逸峰;劉毅;張彬彬;羅英偉;;利用虛擬化平臺(tái)進(jìn)行內(nèi)存泄露探測(cè)[J];計(jì)算機(jī)學(xué)報(bào);2010年03期
4 鄧小鵬;邢春曉;蔡蓮紅;;Web應(yīng)用測(cè)試技術(shù)進(jìn)展[J];計(jì)算機(jī)研究與發(fā)展;2007年08期
5 賴(lài)?yán)h;劉強(qiáng);;Web應(yīng)用程序的一種功能自動(dòng)化測(cè)試模型與實(shí)現(xiàn)[J];計(jì)算機(jī)工程;2006年17期
6 賈曉霞;吳際;金茂忠;李郭歡;;Java程序內(nèi)存泄漏綜述[J];計(jì)算機(jī)應(yīng)用研究;2006年09期
,本文編號(hào):1828005
本文鏈接:http://sikaile.net/guanlilunwen/ydhl/1828005.html
最近更新
教材專(zhuān)著