999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Java多線程測試策略及測試方法探討

2014-06-20 17:49:30劉洋
無線互聯(lián)科技 2014年3期

劉洋

摘 要:隨著計算機編程語言的發(fā)展,越來越多更高級更易用,性能更好的編程語言被設計出來。Java作為新時代計算機編程語言的代名詞,其性能和易用性受到大多數(shù)編程人員的青睞。和其他高級語言一樣,對多線程的支持是Java技術之一,正因為有了多線程編程,也使得編程的難度加大,再加上多線程是異步執(zhí)行,對于程序的調(diào)試更需要有一定的策略。本文將對Java多線程的測試進行探討。

關鍵詞:Java;多線程;測試策略

1 Java多線程簡介

Java是一種類似于c#的面向?qū)ο蟮母呒壘幊陶Z言,是SUN公司與1995年設計,由于Java具有明顯優(yōu)于其他高級語言的通用性和平臺一致性,被廣泛使用。Java支持多線程編程。在計算機中,進程是應用程序分配硬件資源的基本單位,一般一個程序包含一個或多個進程,而一個進程包含一個或多個線程,是CPU調(diào)度的最小單位[1]。Java的多線程就是基于以上理論,通過多線程編程可以在程序中同時并發(fā)執(zhí)行多條指令流,每條指令流就是一個線程,它們之間相互獨立。還有,線程是對進程功能的拆分,所以共享進程的存儲空間。正式因為有了多線程機制,Java在應用程序的編程上才有如此優(yōu)秀的處理能力,同時多線程的機制也使得調(diào)試和測試更加復雜。

2 Java多線程測試策略

2.1 Java多線程測試過程

測試是面向?qū)ο缶幊痰倪^程中必不可少的程序,為了保證應用軟件的性能和可靠性,必須經(jīng)過大量的各個方面的測試。隨著Java的大量應用,針對Java的軟件測試早就成為軟件行業(yè)不可或缺的一環(huán)。本文主要探討Java下多線程的測試過程和方法。

在討論多線程的測試之前,必須先了解java多線程的特點和實現(xiàn)細節(jié)。

2.2 Java多線程編程機制

首先在java中創(chuàng)建多線程有兩種方式:直接從Thread類中繼承;使用Runable接口。

簡單的線程創(chuàng)建使用第一種方法即可,第二種方法不僅使用復雜也是造成各種BUG的原因。

Java的多線程是進程的拆分,所以共享進程的數(shù)據(jù)資源,必須使用一定的方法保證訪問數(shù)據(jù)的一致性,Java中使用了線程同步技術[2]。

Java多線程之間的通信也是Java多線程的一個特點,這個特點也正好用來調(diào)試和測試程序。Java本身定義了相關函數(shù)來實現(xiàn)多線程之間的信息傳遞,這些函數(shù)也是調(diào)試和測試測基礎。

2.3 Java多線程測試常用策略結(jié)構(gòu)

傳統(tǒng)的軟件測試一般都有3個級別的測試:單元測試、集成測試、系統(tǒng)測試,Java的測試方式也不例外。在java多線程中,具體的方法為:java多線程類測試、java多線程模塊測試、java多線程系統(tǒng)測試。

Java多線程類測試關注的是多線程程序的內(nèi)部算法和銜接方式。在算法上,由于多線程繼承于Thread類或繼承于Runnable接口,Thread和Runnable是Sun公司經(jīng)過嚴格測試過的,所以多線程的類測試應該在Thread類和Runnable接口以下進行。進而在測試過程中要測試自己設計的線程類中是不是有缺陷存在。在銜接方式上,要統(tǒng)一銜接的定義,盡量簡單化,功能單一化。采用不同的銜接功能測試多線程類的正確性。

Java多線程模塊測試關注的是由多個線程類構(gòu)成的線程模塊的功能。主要是組合之后達到的效果,一般根據(jù)多線程通信機制進行測試,在模塊輸入端輸入一條信息,測試輸出端的輸出結(jié)果,進而可以判斷模塊的功能是不是正常。對輸入端輸入各個功能不同的信息,查看輸出端的輸出情況就樂意判斷模塊內(nèi)哪個多線程類的設計出問題了。

Java多線程系統(tǒng)測試是對軟件的整體功能進行的測試,經(jīng)過前兩道測試只能確定各個功能點沒有問題,但是最后的組合還是不知道的,這就需要進行系統(tǒng)級的測試了。系統(tǒng)級的測試類似于黑盒測試,此過程主要是測試多線程流的控制機制,保證各個功能執(zhí)行邏輯的正確性。按照所需要的功能對系統(tǒng)一次測試即可。如果出現(xiàn)問題,只要根據(jù)測試結(jié)果就可判斷哪個功能邏輯出現(xiàn)問題,從而更改邏輯即可。

3 Java多線程測試方法的探討

根據(jù)java這種高級語言的設計原則,所有的功能實現(xiàn)都是建立在類的基礎上。特別的,線程方法必須繼承與Thread類或者Runnable接口,所以線程的大小直接決定了程序性能的好壞。線程過大,即一個線程的執(zhí)行時間太長,不僅會占用較多的系統(tǒng)資源,還會使程序的可控性降低,弄不好會產(chǎn)生死鎖現(xiàn)象。而線程太短的話,系統(tǒng)的集中度又不是很好,所以線程的大小設計非常的講究[3]。

具體的測試主要就是繼承之后的運行方法上,在實際的測試過程中,假設一個自定義類繼承了Thread類,他在執(zhí)行過程中,調(diào)用了其他A1個類,而自身設計時的方法數(shù)量是A2個,則A1/A2就稱為多線程的耦合度測試A。

如果在運行過程中,調(diào)用Thread類中的方法個數(shù)是A3,則A2/A3稱作多線程的耦合測試度B。

上述的耦合測試度A表示的是各個類之間的耦合程度,A越小說明各個類之間的依賴就越小,各個類之間的功能影響也就越小,系統(tǒng)整體的健壯性就月合理。多線程耦合度B測試的是子類與父類之間的依賴程度,是一個程序執(zhí)行速度快慢的關鍵,如果大量使用父類的函數(shù),不僅使資源合理利用,還使程序更加穩(wěn)定。

[參考文獻]

[1]戈茨.JAVA并發(fā)編程實踐[M].電子工業(yè)出版社,2007.

[2](美)埃克爾.Java編程思想[M].機械工業(yè)出版社,2007.

[3](英)福勒.企業(yè)應用架構(gòu) 模式[M].機械工業(yè)出版社,2010.

主站蜘蛛池模板: 久久九九热视频| 亚洲成人播放| 国产一级一级毛片永久| 呦视频在线一区二区三区| 一本无码在线观看| av天堂最新版在线| 99在线观看免费视频| 色婷婷电影网| 色婷婷亚洲综合五月| 伊伊人成亚洲综合人网7777| 一级一级特黄女人精品毛片| 欧美人与动牲交a欧美精品| 欧美色图久久| 欧美一级夜夜爽www| 婷婷色中文网| 国产精品不卡永久免费| 欧美激情视频二区| 国产一区成人| 欧美日韩国产在线观看一区二区三区| 99在线视频网站| 天天干伊人| 国产女人18毛片水真多1| 91精品专区国产盗摄| 国产91熟女高潮一区二区| 国产成人三级| 免费人成网站在线高清| 九色综合伊人久久富二代| 美女免费黄网站| 69国产精品视频免费| 日韩欧美中文字幕在线精品| 欧美成人午夜视频免看| 女人18一级毛片免费观看| 黄色一级视频欧美| 国产精品尹人在线观看| 免费国产在线精品一区| 国产精品密蕾丝视频| 色亚洲激情综合精品无码视频 | 无码内射在线| 激情无码字幕综合| 伊伊人成亚洲综合人网7777| 久久中文无码精品| 久久精品无码国产一区二区三区| 乱人伦中文视频在线观看免费| 国产小视频在线高清播放| 国产对白刺激真实精品91| 日韩毛片在线播放| 激情综合网激情综合| 午夜啪啪福利| 国产精品丝袜在线| 亚洲无码久久久久| 九色免费视频| 在线日本国产成人免费的| 福利视频一区| 欧美日韩综合网| 伊人久久精品无码麻豆精品 | 日韩 欧美 小说 综合网 另类| 日韩无码视频播放| 国产爽妇精品| 久久激情影院| 无码日韩人妻精品久久蜜桃| 精品国产污污免费网站| 国产亚洲美日韩AV中文字幕无码成人 | 2020精品极品国产色在线观看| 欧美一区二区精品久久久| 欧美成人aⅴ| 亚洲成肉网| 99精品伊人久久久大香线蕉| 国产主播一区二区三区| аⅴ资源中文在线天堂| 久久久久亚洲AV成人网站软件| 欧美日韩一区二区在线免费观看| 精品成人一区二区| 久久不卡国产精品无码| 欧美日韩福利| 少妇人妻无码首页| 国产成人免费视频精品一区二区| 漂亮人妻被中出中文字幕久久| 久久成人免费| 亚洲视频在线观看免费视频| 丁香综合在线| 在线观看精品自拍视频| 免费99精品国产自在现线|