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

        ?

        Java多線程測(cè)試策略及測(cè)試方法探討

        2014-06-20 17:49:30劉洋
        無線互聯(lián)科技 2014年3期
        關(guān)鍵詞:多線程

        劉洋

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

        關(guān)鍵詞:Java;多線程;測(cè)試策略

        1 Java多線程簡(jiǎn)介

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

        2 Java多線程測(cè)試策略

        2.1 Java多線程測(cè)試過程

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

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

        2.2 Java多線程編程機(jī)制

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

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

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

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

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

        傳統(tǒng)的軟件測(cè)試一般都有3個(gè)級(jí)別的測(cè)試:?jiǎn)卧獪y(cè)試、集成測(cè)試、系統(tǒng)測(cè)試,Java的測(cè)試方式也不例外。在java多線程中,具體的方法為:java多線程類測(cè)試、java多線程模塊測(cè)試、java多線程系統(tǒng)測(cè)試。

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

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

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

        3 Java多線程測(cè)試方法的探討

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

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

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

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

        [參考文獻(xiàn)]

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

        [2](美)??藸?Java編程思想[M].機(jī)械工業(yè)出版社,2007.

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

        猜你喜歡
        多線程
        Java并發(fā)工具包對(duì)并發(fā)編程的優(yōu)化
        基于多線程文件傳輸關(guān)鍵技術(shù)研究與實(shí)現(xiàn)
        網(wǎng)頁(yè)爬蟲技術(shù)的關(guān)鍵技術(shù)研究探索
        一種基于多線程的高速磁盤鏡像算法
        iOS并發(fā)程序設(shè)計(jì)中幾種方法的特點(diǎn)及使用技巧研究
        電站鍋爐煤粉參數(shù)遠(yuǎn)程監(jiān)控系統(tǒng)的軟件設(shè)計(jì)與實(shí)現(xiàn)
        蜜臀精品一区二区三区| 3d动漫精品啪啪一区二区免费| 性欧美videofree高清精品| 久久精品女人天堂av| 国产精品无码Av在线播放小说| 阿v视频在线| 亚洲乱码中文字幕综合69堂| 在线观看免费视频发布白白色| 91成人国产九色在线观看 | www插插插无码视频网站| 五月天国产精品| 国产精品电影久久久久电影网| 青青草视频在线观看精品在线| 黄片小视频免费观看完整版| 少妇被又大又粗又爽毛片久久黑人 | 欧美xxxx做受欧美| 女人与牲口性恔配视频免费| 狼友AV在线| 亚洲专区一区二区三区四区五区| 少妇性俱乐部纵欲狂欢少妇| 又嫩又硬又黄又爽的视频| 红杏亚洲影院一区二区三区| 亚洲嫩模高清在线视频| 蜜桃视频在线免费观看一区二区| 开心久久综合婷婷九月| 黑色丝袜秘书夹住巨龙摩擦| 久久久久久久中文字幕| 亚洲精品一区二区三区日韩 | 国产成人精品免费久久久久 | 最近日本中文字幕免费完整 | 國产一二三内射在线看片| 亚洲成人av一区二区麻豆蜜桃| 中文字幕精品人妻在线| 欧美黑人性暴力猛交喷水| 免费av在线国模| 国产亚洲av一线观看| 女人av天堂国产在线| 国产va免费精品观看精品| 黑人巨大av在线播放无码| 国产A√无码专区| 最新在线观看精品国产福利片|