單元測(cè)試方法范文
時(shí)間:2023-04-05 04:59:53
導(dǎo)語:如何才能寫好一篇單元測(cè)試方法,這就需要搜集整理更多的資料和文獻(xiàn),歡迎閱讀由公務(wù)員之家整理的十篇范文,供你借鑒。
篇1
關(guān)鍵詞:遺傳算法;模擬退火算法;自動(dòng)化;單元測(cè)試
中圖分類號(hào):TP311.53
隨著計(jì)算機(jī)技術(shù)的發(fā)展,計(jì)算機(jī)智能技術(shù)也逐漸得到了開發(fā)應(yīng)用,生物智能、人工智能以及算計(jì)智能的聯(lián)合應(yīng)用和優(yōu)勢(shì)互補(bǔ),使智能技術(shù)的應(yīng)用更加有效。隨著計(jì)算機(jī)的普及,軟件產(chǎn)品已經(jīng)深入人們生活工作的各個(gè)領(lǐng)域,成為日常工作、生活、娛樂的必不可少的組成部分。而對(duì)于軟件安全性能的要求則在很大程度上促進(jìn)了軟件測(cè)試的發(fā)展。軟件測(cè)試是軟件安全性能和良好的使用性能的重要哦保證,貫穿于軟甲開發(fā)過程的始終,保證軟件開發(fā)每個(gè)階段的質(zhì)量。
軟件的質(zhì)量需要經(jīng)過軟件功能測(cè)試才能得到保障,而單元測(cè)試則是軟件功能測(cè)試的基礎(chǔ)和前提,是軟件測(cè)試的起步環(huán)節(jié)。單元測(cè)試針對(duì)的對(duì)象是程序中最小的軟件模塊,一般是軟件開發(fā)人員通過編寫小段代碼,針對(duì)被測(cè)試代碼的某個(gè)較小較明確的功能進(jìn)行測(cè)試,看其是否可以正常運(yùn)行。
1 參數(shù)化單元測(cè)試
單元測(cè)試作為軟件測(cè)試的起步環(huán)節(jié),同時(shí)也是不可或缺的環(huán)節(jié),對(duì)軟件的質(zhì)量起著至關(guān)重要的作用。在實(shí)際測(cè)試中,單元測(cè)試代碼的手動(dòng)編寫工作是一件極其復(fù)雜且耗時(shí)的工作,并且所選測(cè)試實(shí)例不能保證覆蓋較大的代碼,具有很大的隨機(jī)性,進(jìn)而降低單元測(cè)試的效率。
參數(shù)化單元測(cè)試將程序規(guī)格與測(cè)試用例生成分離,解決了傳統(tǒng)單元測(cè)試存在的弊端。運(yùn)用參數(shù)化單元測(cè)試方法,程序要實(shí)現(xiàn)的功能需要人工書寫代碼,然后測(cè)試工具就會(huì)通過對(duì)測(cè)試代碼的分析和檢測(cè),自動(dòng)根據(jù)測(cè)試的實(shí)際路徑生成對(duì)應(yīng)的實(shí)例和測(cè)試代碼,實(shí)現(xiàn)代碼的高覆蓋率。
2 基于遺傳算法的搜索策略
在退火算法的運(yùn)行過程中溶入遺傳算法,稱為退火遺傳算法,依舊是說,所謂的退火遺傳算法,實(shí)際上是由退火算法和遺傳算法兩個(gè)部分組成,結(jié)合雙方各自的優(yōu)點(diǎn)和特性,所得到的新的綜合性計(jì)算方法。
2.1 遺傳算法依據(jù)
遺傳算法的提出源于計(jì)算機(jī)發(fā)展初期提出的所謂“人工進(jìn)化系統(tǒng)”,它是根據(jù)生物進(jìn)化的特點(diǎn),借鑒優(yōu)勝劣汰的自然遺傳法則,參照達(dá)爾文進(jìn)化論的理論思想而形成的一種不依賴具體問題的直接搜索方法,在運(yùn)用遺傳算法進(jìn)行數(shù)據(jù)計(jì)算時(shí),不僅要用到進(jìn)化學(xué)的概念,同時(shí)也要符合遺傳學(xué)說的基因遺傳原理。
運(yùn)用遺傳算法進(jìn)行計(jì)算時(shí),一般要經(jīng)過幾個(gè)基本步驟,即:初始化數(shù)據(jù)、數(shù)據(jù)的擇優(yōu)選擇、隨機(jī)對(duì)選中的兩個(gè)數(shù)據(jù)進(jìn)行交叉互換、根據(jù)遺產(chǎn)學(xué)說的基因變異原理所進(jìn)行的個(gè)體數(shù)據(jù)變異、全局最優(yōu)收斂,進(jìn)而得出需要的結(jié)論或數(shù)據(jù)。
2.2 模擬退火算法依據(jù)
模擬退火算法是根據(jù)固體退火過程和組合優(yōu)化問題之間的相似性而提出的。在對(duì)物質(zhì)進(jìn)行加熱處理時(shí),物質(zhì)組成中粒子之間的布朗運(yùn)動(dòng)加強(qiáng),當(dāng)加熱到一定程度時(shí),溫度達(dá)到物質(zhì)熔點(diǎn),固體物質(zhì)會(huì)轉(zhuǎn)化為液體形態(tài)。這時(shí),對(duì)物體進(jìn)行退火處理,使溫度降低,則物體的粒子運(yùn)動(dòng)減弱,并且會(huì)逐漸趨于平衡和有序,最終達(dá)到物質(zhì)性質(zhì)的穩(wěn)定。
模擬退火算法運(yùn)用溫度參數(shù)進(jìn)行控制,當(dāng)溫度較高時(shí),數(shù)據(jù)運(yùn)動(dòng)變化劇烈,從而使解的區(qū)間變化較大,容易接受到較差解;當(dāng)溫度降低,數(shù)據(jù)運(yùn)動(dòng)逐漸減緩時(shí),解的區(qū)間也會(huì)逐漸趨于穩(wěn)定,這時(shí)候就可以得到較為優(yōu)良的解果,從而對(duì)遺傳算法的不足進(jìn)行彌補(bǔ)。
2.3 退火遺傳算法依據(jù)
退火遺傳算法,是指以遺傳算法為主要運(yùn)算方法,并在運(yùn)算過程中引入模擬退火算法,使兩者達(dá)到優(yōu)勢(shì)互補(bǔ),進(jìn)一步對(duì)群體進(jìn)行優(yōu)化調(diào)整。退火遺傳算法可以分為兩個(gè)組成部分:首先,運(yùn)用遺傳算法的進(jìn)化理論,產(chǎn)生一個(gè)相對(duì)較為優(yōu)良的群體,然后利用模擬退火算法,對(duì)群體中的個(gè)體進(jìn)行優(yōu)化和調(diào)整。
(1)針對(duì)遺傳算子進(jìn)行改進(jìn)
所謂遺傳算子,是指在遺傳算法中,用來維持遺傳多樣性所使用的算子,遺傳多樣性是生物或數(shù)據(jù)演化過程中不可或缺的一個(gè)必要性質(zhì),遺傳算子在遺傳算法中類似于自然中的適者生存原則,對(duì)于個(gè)體的進(jìn)化會(huì)產(chǎn)生巨大的影響。
初始進(jìn)化階段,為了保持種群的多樣性,便于從中進(jìn)行選擇,應(yīng)該加大對(duì)于個(gè)體間相互交叉和互換的概率;在進(jìn)化的終極階段,頻繁的交叉互換不利于種群的穩(wěn)定和最優(yōu)解的產(chǎn)生,因此需要適當(dāng)?shù)販p小個(gè)體間的聯(lián)系和活動(dòng),減少最優(yōu)解的求解難度,縮短求解過程。針對(duì)種群中的個(gè)體而言,在進(jìn)行變異操作時(shí),對(duì)優(yōu)勢(shì)個(gè)體進(jìn)行較小的變異,劣勢(shì)個(gè)體進(jìn)行較大的變異,可以使其更加趨近于最優(yōu)解。
(2)合理構(gòu)造適應(yīng)值函數(shù)
適應(yīng)值函數(shù)可以針對(duì)遺傳算法的求解過程進(jìn)行指導(dǎo),對(duì)最優(yōu)解的數(shù)值區(qū)間進(jìn)行限定,在適應(yīng)值函數(shù)的構(gòu)造過程中,引入關(guān)鍵分支的概念。關(guān)鍵分支,指在選定的路徑中,對(duì)存在的結(jié)點(diǎn)的真實(shí)性進(jìn)行判定,求解過程可能會(huì)在這些結(jié)點(diǎn)處產(chǎn)生偏離,引發(fā)錯(cuò)誤,而這些會(huì)導(dǎo)致求解過程偏離目標(biāo)路徑的結(jié)點(diǎn),就是關(guān)鍵分支。
適應(yīng)值函數(shù)在遺傳算法中是用來區(qū)分個(gè)體優(yōu)劣的標(biāo)準(zhǔn),是進(jìn)行自然選擇的唯一依據(jù)。原始適應(yīng)值函數(shù)是對(duì)問題最初求解目標(biāo)的反映。適應(yīng)值對(duì)個(gè)體的判斷有兩個(gè)截然相反的情形:適應(yīng)值越大,個(gè)體性能越好和適應(yīng)值越小,個(gè)體性能越好。在遺傳算法中,對(duì)適應(yīng)值函數(shù)是有限制的,即適應(yīng)值函數(shù)必須為非負(fù)數(shù),這就需要選擇較大的適應(yīng)值函數(shù)來選擇較為優(yōu)良的個(gè)體。
為了使被測(cè)數(shù)據(jù)中每個(gè)參數(shù)都可以得到評(píng)估,根據(jù)相關(guān)數(shù)據(jù)對(duì)判斷結(jié)點(diǎn)進(jìn)行數(shù)據(jù)轉(zhuǎn)換,在保證個(gè)體數(shù)據(jù)得到充分計(jì)算的情況下,不會(huì)對(duì)程序主體造成破壞
3 實(shí)驗(yàn)結(jié)果與分析
為了對(duì)退火遺傳算法的性能進(jìn)行驗(yàn)證,采用判斷三角形的相關(guān)測(cè)試程序,將退火遺傳算法與單純的遺傳算法進(jìn)行對(duì)比,對(duì)進(jìn)化每一代的最大適應(yīng)值進(jìn)行記錄。
從實(shí)驗(yàn)數(shù)據(jù)可以看出,初始進(jìn)化階段,個(gè)體的產(chǎn)生具有隨機(jī)性,在對(duì)實(shí)驗(yàn)進(jìn)行多次運(yùn)行后,可以看出,最高適應(yīng)值之間差異十分明顯。進(jìn)化過程初期,兩種算法的最高適應(yīng)值都存在較大的波動(dòng),而隨著遺傳的不斷進(jìn)行,退火遺傳算法的最大適應(yīng)值范圍逐漸趨于穩(wěn)定,而遺傳算法的最大適應(yīng)值范圍仍不穩(wěn)定。因此可以得出結(jié)論,將模擬退火算法與遺傳算法相互配合,可以有效避免單一遺傳算法的不足,加快對(duì)最優(yōu)解的計(jì)算速度,減少計(jì)算所需時(shí)間。根據(jù)實(shí)驗(yàn)的數(shù)據(jù),對(duì)多次實(shí)驗(yàn)的結(jié)果進(jìn)行統(tǒng)一總結(jié),可以看出,相對(duì)于單一的遺傳算法而言,退火遺傳算法的進(jìn)化速度大大加快,減少了計(jì)算時(shí)間。
4 結(jié)束語
經(jīng)過實(shí)驗(yàn)和分析,我們可以看到,生成高代碼覆蓋率的測(cè)試用例是自動(dòng)化測(cè)試的關(guān)鍵問題,是提高自動(dòng)化測(cè)試性能的主要手段。針對(duì)遺傳算法存在的缺陷,將遺傳算法和模擬退火算法相互結(jié)合,實(shí)現(xiàn)優(yōu)勢(shì)互補(bǔ),針對(duì)群體數(shù)據(jù)中的遺傳算子以及適應(yīng)值函數(shù)作出改進(jìn),最終通過對(duì)比實(shí)驗(yàn),驗(yàn)證了退火遺傳算法的有效性和優(yōu)越性。
參考文獻(xiàn):
[1]趙慧娟,孫文輝.基于退火遺傳算法的單元測(cè)試方法[J].計(jì)算機(jī)工程,2013,39(1):49-53.
[2]楊學(xué)紅.自動(dòng)化單元測(cè)試概述[J].信息通信技術(shù),2012,(1):66-68.
篇2
關(guān)鍵詞關(guān)鍵詞:軟件工程;軟件質(zhì)量;單元測(cè)試;測(cè)試框架;面向?qū)ο虺绦?/p>
中圖分類號(hào):TP302 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào)文章編號(hào):16727800(2013)008004503
0 引言
隨著現(xiàn)代軟件工程的不斷發(fā)展,人們對(duì)軟件質(zhì)量和生產(chǎn)力的要求越來越高。軟件測(cè)試技術(shù)和框架復(fù)用技術(shù)作為提高軟件質(zhì)量和生產(chǎn)力的有效手段,近年來倍受人們的重視。
傳統(tǒng)的“黑盒”、“白盒”測(cè)試技術(shù)主要應(yīng)用于面向過程的程序設(shè)計(jì)中。隨著面向?qū)ο蠹夹g(shù)的發(fā)展,這種技術(shù)已不能滿足軟件測(cè)試的需要。自動(dòng)化單元測(cè)試框架應(yīng)用于面向?qū)ο髥卧獪y(cè)試中,通過它來實(shí)現(xiàn)單元測(cè)試自動(dòng)化。
單元測(cè)試是對(duì)軟件進(jìn)行正確性檢驗(yàn)的測(cè)試工作,是軟件設(shè)計(jì)的最小單位。單元測(cè)試的目的主要是發(fā)現(xiàn)每個(gè)程序模塊內(nèi)部可能存在的錯(cuò)誤。程序員的基本職責(zé)是單元測(cè)試,單元測(cè)試能力是程序員基本能力的體現(xiàn),程序員必須對(duì)自己所編寫的代碼認(rèn)真負(fù)責(zé),軟件的質(zhì)量與程序員的工作效率直接受程序員單元測(cè)試能力高低的影響。
單元測(cè)試是一項(xiàng)很重要而且必要的工作。在實(shí)際工作中,許多程序員并不愿意對(duì)自己編寫的代碼進(jìn)行測(cè)試。軟件開發(fā)的工作壓力大,大多數(shù)程序員們因?yàn)闆]有時(shí)間測(cè)試自己的代碼,使程序的代碼質(zhì)量得不到保證,有些代碼還需重新編寫,程序員根本沒有時(shí)間對(duì)代碼進(jìn)行測(cè)試。自動(dòng)化單元測(cè)試框架能夠從根本上解決這個(gè)問題,它可以使測(cè)試工作變得簡單,這樣更有助于程序員進(jìn)行代碼開發(fā)工作。
1 自動(dòng)化單元測(cè)試框架設(shè)計(jì)目標(biāo)
自動(dòng)化單元測(cè)試框架的設(shè)計(jì)應(yīng)達(dá)到以下目標(biāo):首先,框架簡單,可以使測(cè)試程序的編寫更簡化??蚣苁褂贸R姷墓ぞ咴O(shè)計(jì),測(cè)試工作操作簡單;其次,測(cè)試框架應(yīng)能夠使除作者以外的其他程序員進(jìn)行代碼測(cè)試,并能解釋其結(jié)果,即將不同程序員的測(cè)試結(jié)合起來,且不發(fā)生相互沖突。最后,測(cè)試用例可以復(fù)用,可以以現(xiàn)有的測(cè)試為起點(diǎn)形成新的測(cè)試。
本文將以這些目標(biāo)為指導(dǎo),討論如何用以Kent Beck和Ralph Johnson提出的“模式產(chǎn)生體系結(jié)構(gòu)”的方式來設(shè)計(jì)框架系統(tǒng)。自動(dòng)化單元測(cè)試框架的設(shè)計(jì)思想是從0開始根據(jù)設(shè)計(jì)問題應(yīng)用設(shè)計(jì)模式,一個(gè)接一個(gè)逐步設(shè)計(jì),直至獲得最終合適的系統(tǒng)架構(gòu)。其中實(shí)現(xiàn)部分采用Java語言來實(shí)現(xiàn),并會(huì)使用UML圖來表示各種類及類間關(guān)系。
2 面向?qū)ο笞詣?dòng)化單元測(cè)試分析
自動(dòng)化測(cè)試定義為:管理與實(shí)施各種測(cè)試活動(dòng),包括開發(fā)測(cè)試腳本、執(zhí)行測(cè)試腳本,這樣使驗(yàn)證測(cè)試需求更加方便,通過這些腳本實(shí)現(xiàn)了自動(dòng)測(cè)試,可以把它稱為自動(dòng)測(cè)量工具。使用這種自動(dòng)測(cè)試工具對(duì)增量軟件集成測(cè)試提供了巨大的方便,增加了巨大的價(jià)值。每一個(gè)新的構(gòu)件可以重用先前開發(fā)的測(cè)試腳本,即使需求和軟件有變更,作為一個(gè)重要的控制機(jī)制,自動(dòng)測(cè)試也能夠確保每一次重新構(gòu)建的穩(wěn)定性與準(zhǔn)確性。
3 面向?qū)ο笞詣?dòng)化單元測(cè)試框架
自動(dòng)化測(cè)試框架實(shí)質(zhì)是一種自動(dòng)測(cè)試工具,單元測(cè)試的核心問題是實(shí)現(xiàn)測(cè)試自動(dòng)化。一個(gè)完整的自動(dòng)化測(cè)試過程通常包括5個(gè)測(cè)試活動(dòng),分別是測(cè)試標(biāo)識(shí)、測(cè)試設(shè)計(jì)、測(cè)試實(shí)現(xiàn)、測(cè)試執(zhí)行與評(píng)估。測(cè)試用例針對(duì)被測(cè)試系統(tǒng)的各項(xiàng)功能準(zhǔn)確地開發(fā)與設(shè)計(jì),而且每一個(gè)測(cè)試用例都要按順序執(zhí)行這5個(gè)測(cè)試開發(fā)活動(dòng),測(cè)試開發(fā)活動(dòng)如圖1所示。
圖1 測(cè)試活動(dòng)
測(cè)試標(biāo)識(shí)與測(cè)試設(shè)計(jì)這兩個(gè)測(cè)試活動(dòng)主要為智力活動(dòng),分別標(biāo)識(shí)測(cè)試條件和設(shè)計(jì)測(cè)試用例。測(cè)試執(zhí)行與測(cè)試比較這兩個(gè)活動(dòng)屬于比較機(jī)械的活動(dòng),它們的功能分別為:執(zhí)行測(cè)試用例、將測(cè)試輸出結(jié)果并與期望輸出結(jié)果值相比較。前兩個(gè)活動(dòng)決定了測(cè)試用例的質(zhì)量,后兩個(gè)活動(dòng)適合自動(dòng)化。在單元測(cè)試中,測(cè)試執(zhí)行和測(cè)試比較這兩個(gè)活動(dòng)要重復(fù)多次,測(cè)試標(biāo)識(shí)與測(cè)試設(shè)計(jì)通常只執(zhí)行一次。因此,在單元測(cè)試過程中,重復(fù)性的活動(dòng)特別需要自動(dòng)化執(zhí)行。
4 自動(dòng)化單元測(cè)試設(shè)計(jì)與實(shí)現(xiàn)
首先構(gòu)建對(duì)象來表達(dá)基本概念:Test Case(測(cè)試用例),然后將對(duì)象發(fā)送到測(cè)試框架,再由測(cè)試框架執(zhí)行,最后報(bào)告測(cè)試結(jié)果。
采用Command命令模式將一個(gè)請(qǐng)求封裝成一個(gè)對(duì)象,Command模式可以為每一個(gè)操作生成一個(gè)與之對(duì)應(yīng)的對(duì)象,同時(shí)能夠給出一個(gè)對(duì)應(yīng)的執(zhí)行方法。這樣可以對(duì)多個(gè)用戶請(qǐng)求進(jìn)行排隊(duì),也可以將多個(gè)請(qǐng)求記錄到日志,并使用不同的請(qǐng)求對(duì)客戶進(jìn)行參數(shù)化。具體實(shí)現(xiàn)方法如下:
其中的run()方法為模式中的執(zhí)行方法,可以通過繼承來重用該類,為了便于在測(cè)試失敗時(shí)能夠識(shí)別出失敗的測(cè)試,每一個(gè)Test Case在創(chuàng)建時(shí)都要給出與之對(duì)應(yīng)的名稱,這樣即可判斷出失敗的測(cè)試。
圖1展示了測(cè)試框架組成部分的快照,也展示了應(yīng)用于TestCase中的標(biāo)記。
圖1 測(cè)試框架組成部分
5 單元測(cè)試用例執(zhí)行流程
在實(shí)際測(cè)試過程中,構(gòu)造參數(shù)或資源、測(cè)試、釋放資源為測(cè)試的業(yè)務(wù)邏輯過程。例如,在測(cè)試數(shù)據(jù)庫的插入、更新、刪除、查詢等操作時(shí),首先要對(duì)數(shù)據(jù)庫進(jìn)行連接,然后測(cè)試,最后釋放連接。這樣,在一個(gè)Test Case中有多個(gè)測(cè)試,需要反復(fù)書寫代碼,這增加了測(cè)試人員的工作量,不符合設(shè)計(jì)目標(biāo)。
建立測(cè)試支架即為所有的測(cè)試建立一個(gè)共同的結(jié)構(gòu),可以解決以上問題,初始化代碼、測(cè)試代碼和釋放資源的代碼均放在測(cè)試支架上,每次運(yùn)行測(cè)試代碼之前,首先都運(yùn)行初始化代碼,最后運(yùn)行釋放資源代碼。這樣,每一個(gè)測(cè)試都會(huì)和與之對(duì)應(yīng)的支架一起運(yùn)行,而且測(cè)試結(jié)果互不影響,每一個(gè)結(jié)果都不會(huì)影響其它的測(cè)試結(jié)果。這樣便實(shí)現(xiàn)了代碼的復(fù)用,大大提高了軟件單元測(cè)試的工作效率。
以上通過模板方法實(shí)現(xiàn),模板方法的Template Method靜態(tài)結(jié)構(gòu)如圖3所示。
其中,setUp方法初始化測(cè)試信息,如數(shù)據(jù)庫的連接,cleanUp方法的功能是測(cè)試結(jié)束后釋放資源。runTest方法的功能是進(jìn)行測(cè)試業(yè)務(wù)邏輯。TestCase的方法的功能為進(jìn)行測(cè)試邏輯框架的設(shè)計(jì),run為模板方法。在這里,setUp和cleanUp可以被用來重寫,由框架來進(jìn)行調(diào)用。
6 測(cè)試結(jié)果收集
創(chuàng)建對(duì)象TestResult來收集運(yùn)行的測(cè)試結(jié)果,實(shí)現(xiàn)代碼如下:
UTF使軟件開發(fā)者們更愿意接受測(cè)試代碼的工作。有種種好處:UIT使測(cè)試用例的實(shí)現(xiàn)簡單、一致且模塊化;測(cè)試實(shí)現(xiàn)與執(zhí)行的特性支持迭代、增量開發(fā);重新運(yùn)行測(cè)試包的便利使高頻率的回歸測(cè)試成為可能;同時(shí)它還能保證單元測(cè)試的持久性。此外,單元測(cè)試框架UTF也是可擴(kuò)展的,例如,利用Decorator模式,可以不斷向UTF添加新的功能;TestResult類也是框架的一個(gè)擴(kuò)展點(diǎn)??蛻裟軌蜃远x它們的TestResult類,例如, HTMLTestResult可將結(jié)果上報(bào)為一個(gè)HTML文檔等。
參考文獻(xiàn)參考文獻(xiàn):
[1] (美)普雷斯曼.軟件工程:實(shí)踐者的研究方法[M].北京:機(jī)械工業(yè)出版社,2011.
[2] (美)麥格雷戈.面向?qū)ο蟮能浖y(cè)試[M].北京:機(jī)械工業(yè)出版社,2002.
篇3
關(guān)鍵詞:Testbed/Tbrun;軟件單元測(cè)試;嵌入式軟件
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-2374(2013)18-0027-02
嵌入式軟件作為嵌入式系統(tǒng)的重要組成部分,嵌入式軟件質(zhì)量問題可能會(huì)帶來設(shè)備的損壞和人員的傷亡,因而用戶對(duì)其質(zhì)量有較高的要求。軟件測(cè)試是對(duì)軟件質(zhì)量檢驗(yàn)的一個(gè)非常重要的手段。而軟件測(cè)試中動(dòng)態(tài)測(cè)試最基礎(chǔ)的測(cè)試就是單元測(cè)試。如何開展單元測(cè)試以及如何提高單元測(cè)試的效率是一個(gè)值得研究的問題。
1 軟件單元測(cè)試的要求及重點(diǎn)
軟件單元測(cè)試是對(duì)軟件基本組成單元進(jìn)行測(cè)試,測(cè)試軟件單元是否正確地實(shí)現(xiàn)規(guī)定的功能,是否滿足軟件性能和接口要求。并驗(yàn)證程序與詳細(xì)設(shè)計(jì)說明的一致性。因此在單元測(cè)試時(shí),需要模擬被測(cè)單元與其他模塊之間的交互,開發(fā)驅(qū)動(dòng)模塊和樁模塊兩種輔助模塊,構(gòu)建一個(gè)可執(zhí)行的環(huán)境,驅(qū)動(dòng)模塊用于模擬被測(cè)單元的上層模塊,測(cè)試執(zhí)行時(shí)由驅(qū)動(dòng)模塊調(diào)用被測(cè)單元使其運(yùn)行;樁模塊用于模擬被測(cè)單元在執(zhí)行過程中所調(diào)用的模塊。
單元測(cè)試重點(diǎn)考慮的測(cè)試類型有:(1) 接口測(cè)試。接口測(cè)試主要檢查實(shí)參與形參的數(shù)目是否相等、實(shí)參與形參的屬性是否匹配、實(shí)參與形參的單位是否一致、傳到被調(diào)用模塊的實(shí)參的屬性是否與形參的屬性匹配、是否把常量當(dāng)作變量傳遞等內(nèi)容。(2)功能測(cè)試。功能測(cè)試主要是對(duì)照軟件單元的設(shè)計(jì)說明,驗(yàn)證軟件是否完成了所需的功能。(3)重要執(zhí)行路徑測(cè)試。應(yīng)設(shè)計(jì)測(cè)試用例以發(fā)現(xiàn)錯(cuò)誤的計(jì)算、不正確的比較和不正常的控制流向等錯(cuò)誤。在計(jì)算中比較常見的錯(cuò)誤是:誤解或錯(cuò)誤處理算術(shù)運(yùn)算的優(yōu)先次序、混用不同類的操作、計(jì)算精度不夠等。另外在控制軟件執(zhí)行流程的比較操作中比較常見的錯(cuò)誤有:不同數(shù)據(jù)類型的比較、不正確的邏輯操作符或不正確的優(yōu)先次序、因精度不夠使本應(yīng)相等的數(shù)不相等(如浮點(diǎn)數(shù))等。(4)軟件單元的局部數(shù)據(jù)結(jié)構(gòu)測(cè)試。軟件單元的局部數(shù)據(jù)結(jié)構(gòu)是一個(gè)主要的錯(cuò)誤來源,應(yīng)設(shè)計(jì)測(cè)試用例來發(fā)現(xiàn)不正確的或不一致的數(shù)據(jù)說明、初始化有錯(cuò)或沒有賦初值、不正確的變量名、不一致的數(shù)據(jù)類型、上溢/下溢或引用錯(cuò)誤等類型的錯(cuò)誤。(5)錯(cuò)誤處理路徑測(cè)試。一般軟件錯(cuò)誤處理路徑測(cè)試應(yīng)考慮下面幾種可能的錯(cuò)誤:對(duì)錯(cuò)誤的描述不易理解、指出的錯(cuò)誤并不是所遇到的錯(cuò)誤、出錯(cuò)時(shí)還沒有進(jìn)行出錯(cuò)處理就先進(jìn)行系統(tǒng)干預(yù)、錯(cuò)誤邊界條件的處理不正確、描述錯(cuò)誤的信息不正確從而不足以確定出錯(cuò)的原因等。(6)邊界測(cè)試。邊界測(cè)試是檢測(cè)軟件在其輸入/輸出域、過程參數(shù)、狀態(tài)轉(zhuǎn)換、功能界限等具有一定范圍的邊界或端點(diǎn)條件下的運(yùn)行情況,考核軟件的功能或性能在其邊界條件下或邊界的鄰近區(qū)域內(nèi)是否依然滿足設(shè)計(jì)要求。按照上去要求進(jìn)行單元測(cè)試時(shí),為達(dá)到要求的覆蓋條件,還需采取一定的技術(shù)手段對(duì)測(cè)試覆蓋率進(jìn)行記錄和分析,確保達(dá)到相應(yīng)的覆蓋率指標(biāo)。采用TBrun單元級(jí)測(cè)試工具,能自動(dòng)產(chǎn)生軟件測(cè)試驅(qū)動(dòng)、樁模塊,提供友好的輸入輸出人機(jī)交互和覆蓋率統(tǒng)計(jì)功能,能有效提高單元測(cè)試的測(cè)試效率。
2 Testbed在單元測(cè)試中的應(yīng)用
使用 Testbed/TBrun的基本方法是:設(shè)計(jì)測(cè)試用例;在Testbed/TBrun中加載被測(cè)單元文件,通過Testbed/TBrun對(duì)被測(cè)軟件進(jìn)行源程序自動(dòng)插裝;根據(jù)測(cè)試用例設(shè)定輸入和預(yù)期的輸出,執(zhí)行插裝好的源程序單元;分析輸入數(shù)據(jù)、預(yù)期輸出和實(shí)際輸出;得到被測(cè)軟件在當(dāng)前的測(cè)試用例執(zhí)行過程中代碼的覆蓋率。需要注意的是,每執(zhí)行一個(gè)測(cè)試用例就需要重新編譯并執(zhí)行。Testbed/TBrun的覆蓋率統(tǒng)計(jì)只具有累加的功能,因此不能查詢每一測(cè)試用例執(zhí)行后的覆蓋率信息。在執(zhí)行完所有的測(cè)試用例后會(huì)生成一個(gè)總的覆蓋率文件,Testbed/TBrun通過對(duì)覆蓋率文件的分析得出軟件單元相應(yīng)語句的覆蓋情況,根據(jù)這些覆蓋情況可以較快確定冗余的測(cè)試數(shù)據(jù)并增補(bǔ)遺漏的測(cè)試數(shù)據(jù),從而指導(dǎo)新的測(cè)試用例設(shè)計(jì)。在實(shí)際應(yīng)用Testbed單元測(cè)試時(shí),需注意以下三個(gè)方面:(1)數(shù)組和指針類型的變量的輸入。數(shù)組可以通過在Testbed/TBrun插裝后的源代碼中插入數(shù)組的初始化語句對(duì)數(shù)組賦值或者在 Testbed/TBrun 環(huán)境中對(duì)數(shù)
組的一部分賦值。因指針不能被直接賦一個(gè)地址,所以輸入指針可采用映射的方式來賦值,將指針變量映射成相應(yīng)的自定義變量,然后對(duì)自定義變量賦值。在測(cè)試執(zhí)行的過程中,這個(gè)自定義變量的值就是指針的輸入值。(2)被測(cè)單元代碼的必要修改。在實(shí)際的測(cè)試過程中,有的代碼單元不能直接使用Testbed/TBrun直接執(zhí)行測(cè)試。須在分析之前對(duì)代碼單元做少量修改。如Testbed/TBrun 插裝源代碼時(shí)會(huì)生成 main()函數(shù),因此被測(cè)單元中的 main()函數(shù)要改為其他的名稱以避免造成名字沖突;Testbed/TBrun 執(zhí)行分析時(shí)會(huì)執(zhí)行被測(cè)單元,因此被測(cè)單元中的 while(1)之類的死循環(huán)結(jié)構(gòu)要去掉,否則分析將無法結(jié)束。(3)模塊測(cè)試后顯示最終整體覆蓋率,不能查詢每一測(cè)試用例執(zhí)行后的覆蓋率信息。
3 結(jié)語
Testbed有效地支持了測(cè)試人員的測(cè)試工作,相對(duì)于完全人工測(cè)試提高了測(cè)試效率。該工具仍存在不足,還需在實(shí)踐中不斷完善使用方法。
參考文獻(xiàn)
篇4
功能測(cè)試主要通過單元測(cè)試和集成測(cè)試來完成系統(tǒng)的功能測(cè)試。單元測(cè)試的目的是測(cè)試源碼中最小單元的代碼是否正確處理它該處理的任務(wù)。單元測(cè)試重點(diǎn)測(cè)試了代碼中分支比較多的地方,以驗(yàn)證程序是否能根據(jù)條件執(zhí)行相應(yīng)的分支;并重點(diǎn)測(cè)試了代碼對(duì)于異常情況的處理,以驗(yàn)證代碼是否能對(duì)于發(fā)生的異常情況進(jìn)行相應(yīng)的處理;再就是對(duì)源碼中與數(shù)據(jù)庫相關(guān)的代碼和涉及用戶輸入輸出的代碼進(jìn)行了重點(diǎn)測(cè)試。集成測(cè)試是在單元測(cè)試的基礎(chǔ)上,將已經(jīng)通過單元測(cè)試的軟件單元組合起來,組成可以執(zhí)行的功能單元,然后進(jìn)行測(cè)試。通過測(cè)試的子功能單元再通過組合,組成更大一級(jí)的功能模塊進(jìn)行測(cè)試。集成測(cè)試重點(diǎn)測(cè)試軟件單元的組合能否正常工作,模塊之間的組合能否集成起來工作,還要測(cè)試構(gòu)成系統(tǒng)的所有模塊組合能否正常工作。集成測(cè)試主要有三種測(cè)試方案:自底向上進(jìn)行測(cè)試,自頂向下進(jìn)行測(cè)試,以及自底向上和自頂向下結(jié)合的方式進(jìn)行測(cè)試。自底向上的集成測(cè)試方式是最常使用的方法,這種方式從程序模塊結(jié)構(gòu)中最底層的單元模塊開始組裝和測(cè)試。自頂向下的集成測(cè)試方式正好與自底向上的方式相反,需要編寫樁模塊以支撐上層的測(cè)試。最理想的方案是能將這兩種集成方式結(jié)合起來,這樣在早期的時(shí)候,既能發(fā)現(xiàn)重大的問題,又能及早展開人力。但是這種方式實(shí)施起來有難度,需要軟件開發(fā)者一開始要做好合理的策劃和設(shè)計(jì)。由于系統(tǒng)在需求和設(shè)計(jì)階段做的工作比較扎實(shí),本系統(tǒng)主要采用了自底向上的集成測(cè)試方式:先把最底層的軟件單元組合,組成高一級(jí)的功能單元進(jìn)行測(cè)試;測(cè)試通過的功能單元再進(jìn)行組合,組成更高一級(jí)的模塊單元,并對(duì)模塊單元進(jìn)行測(cè)試;最后,模塊單元再集成到系統(tǒng)中進(jìn)行測(cè)試。測(cè)試重點(diǎn)集中在各單元與各單元之間的接口和信息交互。
2.用戶界面測(cè)試
通過用戶界面測(cè)試來驗(yàn)證用戶與系統(tǒng)的交互情況。界面測(cè)試的目標(biāo)是確保系統(tǒng)向用戶提供適當(dāng)?shù)脑L問和瀏覽被測(cè)對(duì)象功能的操作。測(cè)試方法,為每個(gè)窗口創(chuàng)建或修改測(cè)試,以核實(shí)各個(gè)應(yīng)用程序窗口和對(duì)象都可正確進(jìn)行瀏覽,并處于正常狀態(tài)。完成標(biāo)準(zhǔn),證實(shí)各個(gè)窗口與基準(zhǔn)版本保持一致,或符合接受標(biāo)準(zhǔn);需考慮的特殊事項(xiàng),并不是所有定制或第三方對(duì)象的特征都可訪問。
3.性能測(cè)試
性能測(cè)試采用了主觀評(píng)測(cè)和軟件評(píng)測(cè)相結(jié)合的方法,先部署上系統(tǒng),在環(huán)保局內(nèi)部試運(yùn)行,通過工作人員的使用來了解系統(tǒng)的反應(yīng)速度是否滿足客戶的需求。系統(tǒng)的性能需求主要是對(duì)系統(tǒng)web訪問的response時(shí)間和系統(tǒng)負(fù)載能力的要求。在性能測(cè)試過程中,我們利用Loadrunner模擬用戶向系統(tǒng)發(fā)送請(qǐng)求,并監(jiān)控系統(tǒng)的CPU,Memory等參數(shù)。
4.安全性測(cè)試
本系統(tǒng)采用先登錄,后操作的方式。因此,必須測(cè)試有效和無效的用戶名和密碼,并注意到是否大小寫敏感。本系統(tǒng)是有超時(shí)的限制,也就是說,用戶登錄后在一定時(shí)間內(nèi)(20分鐘)沒有點(diǎn)擊任何頁面,需要重新登錄才能正常使用。所以,也必須對(duì)其進(jìn)行測(cè)試。
5.測(cè)試結(jié)果
功能測(cè)試結(jié)果:滿足環(huán)保局功能需求,與需求不相符或者后增加的功能,將在后續(xù)版本中加入,本版將不做修改。
篇5
【關(guān)鍵詞】軟件測(cè)試 白盒 黑盒 單元測(cè)試 組裝測(cè)試 確認(rèn)測(cè)試 系統(tǒng)測(cè)試
一、軟件測(cè)試的常用方法
軟件測(cè)試就是在軟件投入運(yùn)行前,對(duì)軟件需求分析、設(shè)計(jì)規(guī)格說明和編碼的最終復(fù)審,是軟件開發(fā)過程的重要組成部分,是軟件質(zhì)量保證的關(guān)鍵步驟。采用面向?qū)ο蠹夹g(shù)進(jìn)行軟件開發(fā)產(chǎn)生了兩個(gè)結(jié)果:一是開發(fā)出功能更強(qiáng)大更便于用戶使用的軟件產(chǎn)品,二是生成規(guī)模龐大的程序代碼和文檔,這也必然導(dǎo)致更大規(guī)模的軟件測(cè)試和維護(hù)工作。因此,規(guī)范化的軟件測(cè)試勢(shì)在必行。規(guī)范化不只是測(cè)試的需求(有效代碼量、結(jié)構(gòu)/邏輯的復(fù)雜性、高性能/高精確性/高可靠性需求)和消耗資源(人力/時(shí)間/測(cè)試頻度)規(guī)?;笤诿鎸?duì)規(guī)模龐大的軟件測(cè)試需求,在合理的資源消耗基礎(chǔ)上,實(shí)施有效的測(cè)試。
1.人工測(cè)試的方法
(1)個(gè)人復(fù)查。個(gè)人復(fù)查是指程序員自行設(shè)計(jì)測(cè)試用例,對(duì)源代碼、詳細(xì)設(shè)計(jì)進(jìn)行仔細(xì)檢查,并記錄錯(cuò)誤、不足之處等。個(gè)人復(fù)查主要包括檢查變量的正確性、檢查標(biāo)號(hào)的正確性、檢查子程序、宏、函數(shù)、常量檢查、標(biāo)準(zhǔn)檢查、風(fēng)格檢查、比較控制流、選擇、激活路徑、對(duì)照詳細(xì)說明書,閱讀源代碼和補(bǔ)充文檔等方面的測(cè)試內(nèi)容。
(2)走查。走查是指測(cè)試人員先閱讀相應(yīng)的文檔和源代碼,然后人工將測(cè)試數(shù)據(jù)輸入被測(cè)試程序,并在紙上跟蹤監(jiān)視程序的執(zhí)行情況,人工沿著程序的邏輯走查運(yùn)行一遍,跟蹤走查運(yùn)行的進(jìn)程來發(fā)現(xiàn)程序的錯(cuò)誤。走查的具體測(cè)試內(nèi)容包括模塊特性、模塊接口、模塊的對(duì)外輸入或輸出、局部數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)計(jì)算錯(cuò)誤、控制流錯(cuò)誤、處理出錯(cuò)和邊界測(cè)試等方面。
(3)會(huì)審。會(huì)審是指測(cè)試人員在會(huì)審前仔細(xì)閱讀軟件的有關(guān)資料,根據(jù)錯(cuò)誤類型清單(根據(jù)以往的經(jīng)驗(yàn)、對(duì)源程序的估計(jì)等,并在以后測(cè)試中給以豐富補(bǔ)充)填寫檢測(cè)表,提出根據(jù)錯(cuò)誤類型要提出的問題。會(huì)審時(shí),由程序設(shè)計(jì)人員講解程序的設(shè)計(jì)方法,由程序編寫人員逐個(gè)講解程序代碼的編寫,測(cè)試人員需要逐個(gè)審查,提問,討論可能出現(xiàn)的問題。會(huì)審對(duì)程序的功能、結(jié)構(gòu)、邏輯和風(fēng)格都要進(jìn)行審定。會(huì)審的測(cè)試內(nèi)容與“走查”的內(nèi)容相同。
2.機(jī)器測(cè)試
(1)定義。機(jī)器測(cè)試的目的是檢查程序的動(dòng)態(tài)性能,檢查程序在執(zhí)行過程中存在的錯(cuò)誤。尤其是發(fā)現(xiàn)程序在實(shí)現(xiàn)功能、邏輯通路、數(shù)值計(jì)算、數(shù)據(jù)處理、邊界處理、錯(cuò)誤處理等方面存在的錯(cuò)誤。機(jī)器測(cè)試分為白盒測(cè)試和黑盒測(cè)試。
(2)黑盒測(cè)試。黑盒測(cè)試即功能測(cè)試,這種方法是把軟件看成一個(gè)看不見里面內(nèi)容的黑盒,在完全不考慮程序內(nèi)部結(jié)構(gòu)和特性的情況下,測(cè)試軟件的外部特性。根據(jù)軟件的需求規(guī)格說明書設(shè)計(jì)測(cè)試用例,從程序輸入和輸出特性上檢查程序是否滿足設(shè)定的功能。黑盒測(cè)試常采用的方法是設(shè)計(jì)適量有效和無效的輸入數(shù)據(jù)進(jìn)行測(cè)試,以期用最小的代價(jià)發(fā)現(xiàn)最多的錯(cuò)誤。
(3)白盒測(cè)試。白盒也稱結(jié)構(gòu)測(cè)試,這是將軟件看成一個(gè)透明的白盒子,按照程序的內(nèi)部結(jié)構(gòu)和處理邏輯來選定測(cè)試用例,對(duì)軟件的邏輯路徑及過程進(jìn)行測(cè)試,檢查它與設(shè)計(jì)是否相符。
二、軟件測(cè)試的流程
軟件測(cè)試雖然是一個(gè)獨(dú)立的階段,但在實(shí)際工作中,測(cè)試的流程主要包含單元測(cè)試、組裝測(cè)試、確認(rèn)測(cè)試等階段。
1.單元測(cè)試。單元測(cè)試也叫模塊測(cè)試,單元指清晰定義了子功能的最小單位,如程序的最小編譯單位等,是測(cè)試工作的第一步,通常單元測(cè)試需要編寫樁程序及耙程序。單元測(cè)試是要保證每個(gè)獨(dú)立的模塊完成清晰定義的子功能,發(fā)現(xiàn)編碼和詳細(xì)設(shè)計(jì)的錯(cuò)誤。它將整個(gè)系統(tǒng)分解,減少測(cè)試復(fù)雜度,在模塊范圍定位錯(cuò)誤的位置,并且可以多個(gè)模塊并行測(cè)試。測(cè)試可以由編碼人員也可以由測(cè)試人員來完成。測(cè)試方法以白盒測(cè)試為主,輔以必要的黑盒測(cè)試。測(cè)試內(nèi)容包括模塊接口、模塊內(nèi)部數(shù)據(jù)結(jié)構(gòu)、邏輯通路、邊界值、出錯(cuò)處理等。
2.組裝測(cè)試。組裝測(cè)試也叫綜合測(cè)試、集成測(cè)試、聯(lián)合測(cè)試,它是在單元測(cè)試之后需要按照設(shè)計(jì)時(shí)做出的層次模塊圖把測(cè)試模塊連接起來,進(jìn)行組裝測(cè)試。測(cè)試目的是檢查能夠獨(dú)立實(shí)現(xiàn)子功能的單元模塊能否在組裝過程中逐級(jí)實(shí)現(xiàn)組合起來的主功能。測(cè)試人員由編碼人員和測(cè)試人員共同進(jìn)行。測(cè)試方法是黑盒測(cè)試。組裝測(cè)試的策略分為非增式測(cè)試和增式測(cè)試,增式測(cè)試又分為自頂向下、自底向上和混合式三種。
3.確認(rèn)測(cè)試。確認(rèn)測(cè)試也叫合格性測(cè)試、驗(yàn)收測(cè)試,經(jīng)過組裝測(cè)試后,所有模塊已連接成為一體,確認(rèn)測(cè)試是將整個(gè)軟件作為測(cè)試對(duì)象,進(jìn)一步檢查軟件是否符合需求規(guī)格說明書的要求。確認(rèn)測(cè)試的目的是檢查系統(tǒng)是否能夠按預(yù)定要求工作。確認(rèn)測(cè)試主要由測(cè)試人員完成。確認(rèn)測(cè)試要進(jìn)行以下幾方面的內(nèi)容:在模擬的環(huán)境下,運(yùn)用黑盒測(cè)試的方法,驗(yàn)證測(cè)試可包括功能測(cè)試、可移植性、兼容性、錯(cuò)誤恢復(fù)能力、可維護(hù)性等性能測(cè)試。有些確認(rèn)測(cè)試還將軟件配置審查,α測(cè)試,β測(cè)試也包含進(jìn)來。
三、結(jié)束語
在現(xiàn)實(shí)生活中,業(yè)界人員所熱衷追求的往往是高效的軟件開發(fā)技能,而高效的軟件測(cè)試技能卻相對(duì)為人們所冷落。在當(dāng)今的大學(xué),計(jì)算機(jī)專業(yè)均沒有開設(shè)任何軟件測(cè)試方面的課程,每年畢業(yè)進(jìn)入業(yè)界的學(xué)生,幾乎全無軟件測(cè)試方面的知識(shí),軟件測(cè)試的培訓(xùn)與教育并無法滿足當(dāng)今IT產(chǎn)業(yè)的需求。隨著敏捷開發(fā)方法等新一代軟件工程概念的風(fēng)靡,軟件編碼和測(cè)試過程多次迭代,測(cè)試人員更積極地參與到軟件生命周期的各個(gè)階段中,使得整個(gè)項(xiàng)目團(tuán)隊(duì)收取事半功倍的成效。編碼和測(cè)試人員越來越緊密地協(xié)同工作,優(yōu)秀的程序必然需要了解測(cè)試的方法和概念,優(yōu)秀的測(cè)試人員所具備的技能也不再是僅僅是對(duì)現(xiàn)成的程序進(jìn)行直觀的功能測(cè)試,軟件測(cè)試的涵義和策略日益復(fù)雜,軟件質(zhì)量風(fēng)險(xiǎn)控制涉及到愈來愈多的方面。
參考文獻(xiàn):
[1]《淺析軟件測(cè)試技術(shù)現(xiàn)狀》 李靜 郭曉磊 《光盤技術(shù)》2009年第5期
[2]《軟件測(cè)試:跨越整個(gè)軟件開發(fā)生命周期》 (美國)愛弗里特 (Everett G.D.) (美國)Raymond MCleod 譯者:郭耀 清華大學(xué)出版社
篇6
關(guān)鍵詞:分類;規(guī)則;面向?qū)ο?繼承;封裝;多態(tài)
中圖分類號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2010)08-2010-02
The Study of Object Oriented of the Unit Test Based on Rule
ZHANG Ke-hong
(School of Statistics, Lanzhou Commercial College, Lanzhou 730030, China)
Abstract: The Object Oriented of the unit test depend on rule,which is required and analysed by the software system of Testing case. The traditional unit tests analysis the internal logic structure of programs, but The Object Oriented's unit test I am talking about stress the tests of the inherit, encapsulation and diversity of the class in Object Oriented development besides the function of the ones.This document depends on Data Mining of rule classification.
Key words: classification; rule; object oriented; inherit; encapsulation diversity
面向?qū)ο蟮臏y(cè)試技術(shù)是面向?qū)ο箝_發(fā)的重要一環(huán),也是軟件質(zhì)量和成熟度的保證。單元測(cè)試的指導(dǎo)思想是:能自生編譯運(yùn)行的最小程序單元[4]。這一理論對(duì)面向?qū)ο箝_發(fā)的軟件也是適用的,但它的不足是沒有明確在面向?qū)ο蟮臏y(cè)試中把方法還是把類看作單元,如果把方法看作單元會(huì)給以類為單元的面向?qū)ο蟮拈_發(fā)和測(cè)試帶來混亂,所以在軟件系統(tǒng)測(cè)試用例庫的單元測(cè)試中以類為單元進(jìn)行測(cè)試。
數(shù)據(jù)挖掘是指在數(shù)據(jù)中發(fā)現(xiàn)有效的、新穎的、潛在有用的、最終可理解的模式。為了從大量數(shù)據(jù)的低層數(shù)據(jù)中抽取高層知識(shí),數(shù)據(jù)挖掘利用其他學(xué)科知識(shí):機(jī)器學(xué)習(xí)、模式識(shí)別、數(shù)據(jù)庫、統(tǒng)計(jì)理論、人工智能、專家系統(tǒng)中的知識(shí)獲取、數(shù)據(jù)可視化,高性能計(jì)算等[9]?;谝?guī)則的分類是數(shù)據(jù)挖掘的分類方法中比較有效的一種技術(shù),它是適用于從少量信息和知識(shí)中獲取有用的信息,它的這一特點(diǎn)也可以在以類為單元進(jìn)行測(cè)試中得到應(yīng)用,也是對(duì)軟件測(cè)試技術(shù)的改進(jìn)。
1 軟件系統(tǒng)測(cè)試用例庫介紹
軟件測(cè)試項(xiàng)目的管理活動(dòng)包含測(cè)度、度量、估算、風(fēng)險(xiǎn)分析、進(jìn)度安排、跟蹤和控制[6]等,而軟件測(cè)試項(xiàng)目管理的基本內(nèi)容是計(jì)劃、組織和監(jiān)控,從另一個(gè)角度來說它有八個(gè)工作領(lǐng)域,即測(cè)試范圍管理、時(shí)間管理、成本管理、質(zhì)量管理、人力資源管理、溝通管理、風(fēng)險(xiǎn)管理和過程管理[10]。
軟件系統(tǒng)的開發(fā)工作有很大的工作量,軟件測(cè)試的工作占有很大的比重,因?yàn)檐浖y(cè)試工作存在于軟件系統(tǒng)測(cè)試用例庫軟件開發(fā)的各個(gè)階段,所以軟件測(cè)試項(xiàng)目的管理活動(dòng)也不是鎖定在那一個(gè)階段,而是存在于需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼階段、安裝與維護(hù)的各個(gè)階段[3]。
在軟件系統(tǒng)每一個(gè)測(cè)試階段,需要設(shè)計(jì)與之相關(guān)的測(cè)試用例,而測(cè)試用例設(shè)計(jì)和執(zhí)行是軟件系統(tǒng)測(cè)試工作的核心,直接關(guān)系到測(cè)試的效率、結(jié)果,也是工作量最大的任務(wù)之一,同時(shí)BUG的管理一般由數(shù)據(jù)庫系統(tǒng)來支持,如果在軟件系統(tǒng)中沒有很好的測(cè)試管理系統(tǒng)也就不能提高測(cè)試的效率。軟件系統(tǒng)測(cè)試用例庫的建設(shè)也是基于上述目標(biāo),當(dāng)然測(cè)試用例庫的建立有利于跟蹤和統(tǒng)計(jì)執(zhí)行測(cè)試結(jié)果的報(bào)告 ,也有利于實(shí)現(xiàn)軟件系統(tǒng)測(cè)試用例的標(biāo)準(zhǔn)化、回歸測(cè)試和系統(tǒng)的質(zhì)量分析。
軟件系統(tǒng)測(cè)試用例庫包括基本測(cè)試數(shù)據(jù)維護(hù)、測(cè)試信息查詢、安全、幫助、測(cè)試數(shù)據(jù)庫管理六個(gè)模塊,通過UML畫出軟件系統(tǒng)測(cè)試用例庫的用例圖1。
2 軟件系統(tǒng)測(cè)試用例庫單元測(cè)試中類測(cè)試的充分性
類測(cè)試充分性是面相對(duì)象中類測(cè)試的重要條件,也是質(zhì)量的保障,我們?cè)谠O(shè)計(jì)軟件系統(tǒng)測(cè)試用例庫單元測(cè)試用例的時(shí)候能不能保證對(duì)執(zhí)行的語句每一條都考慮到,能不能找到程序中的每一個(gè)Bug,同時(shí)也要考慮到相反的問題,那就是在效率優(yōu)先的前提下有沒有必要做到找出所有的Bug,也要考慮到類的繼承、多態(tài)、封裝等特點(diǎn)以及這些特點(diǎn)給測(cè)試帶來的在傳統(tǒng)測(cè)試中從沒遇到的新困難。為了有效地進(jìn)行面向?qū)ο蟮膯卧獪y(cè)試就要考慮類測(cè)試的充分性,它有3個(gè)標(biāo)準(zhǔn)[6]:
1) 基于類的狀態(tài)轉(zhuǎn)換的充分性:類的狀態(tài)有很多,在設(shè)計(jì)測(cè)試用例的時(shí)候要考慮到要充分考慮了的狀態(tài)轉(zhuǎn)換,如果在測(cè)試用例中沒有體現(xiàn)出至少一次的狀態(tài)轉(zhuǎn)換,那就意味著測(cè)試是失敗的,同時(shí)也要說明就是測(cè)完所有的狀態(tài)也可能存在著Bug。
2) 基于限制的充分性:對(duì)每一個(gè)操作來說它都可能存在前置約束條件和后置約束條件。在設(shè)計(jì)測(cè)試用例時(shí)就要考慮到這些約束條件對(duì)操作的影響,特別是要注意約束條件出現(xiàn)的可能性。
3) 基于路徑的充分性:在設(shè)計(jì)測(cè)試用例時(shí)還要考慮基于路徑的測(cè)試是否完全,也就是說在測(cè)試用例都執(zhí)行完時(shí),程序中的每行代碼都盡可能執(zhí)行一邊。但此時(shí)要強(qiáng)調(diào)測(cè)試的效率問題。
3 基于規(guī)則的單元測(cè)試技術(shù)研究
基于規(guī)則的分類法使用一組IF-THEN規(guī)則進(jìn)行分類,其表達(dá)式為:IF 條件THEN 結(jié)論,規(guī)則的IF部分乘坐規(guī)則前件,THEN部分是規(guī)則的結(jié)論。條件是由一個(gè)或多個(gè)連接詞AND連接的屬性測(cè)試組成,規(guī)則的結(jié)論是包含一個(gè)類預(yù)測(cè),如果給定的測(cè)試用例,其規(guī)則前件中的條件都成立,則規(guī)則前件被滿足,說明規(guī)則覆蓋該測(cè)試用例。一般規(guī)則的提取有決策樹和順序覆蓋算法,規(guī)則可以用覆蓋率和準(zhǔn)確律來評(píng)價(jià),其定義為[8]:
和
其中ncovers為規(guī)則覆蓋的測(cè)試用例數(shù),ncorrect為規(guī)則正確分類的測(cè)試用例數(shù),|D|為測(cè)試用例庫中D的測(cè)試用例數(shù)。
在設(shè)計(jì)軟件系統(tǒng)測(cè)試用例庫類的測(cè)試用例時(shí),用基于規(guī)則的思想考慮路徑的測(cè)試是否完全,也就是說在測(cè)試用例都執(zhí)行完時(shí),程序中的每行代碼都盡可能執(zhí)行一遍。但此時(shí)要強(qiáng)調(diào)測(cè)試的效率問題。例如:軟件系統(tǒng)測(cè)試用例庫的模糊查詢void CMainDialog::BlurTestSch(),主要是關(guān)鍵字KEY填寫和四個(gè)查詢類別的選擇,四個(gè)查詢類別是項(xiàng)目編號(hào)(XMBH)、優(yōu)先級(jí)(FIRST)、是否通過(YN)、和時(shí)間(TIME),優(yōu)先級(jí)又包括致命(D)、嚴(yán)重(S)、一般(U)、微小(M),用決策樹提取模糊查詢的規(guī)則如表1。
通過上述的規(guī)則,有關(guān)軟件系統(tǒng)測(cè)試用例庫的模糊查詢void CMainDialog::BlurTestSch()
的測(cè)試通過void CMainDialog::OnTest()實(shí)現(xiàn),其主要步驟如下:
void CMainDialog::OnTest()
{
CTestingSet m_testingset;//定義CTestingSet類的對(duì)象
…
if(!m_input.IsEmpty())
{
if(pare("項(xiàng)目編號(hào)")==0)
{
CMainDialog::BlurTestSch();
MessageBox("選擇項(xiàng)目編號(hào)關(guān)鍵字成功!");
}
if(pare("優(yōu)先級(jí)")==0)
{
CMainDialog::BlurTestSch());
MessageBox("選擇優(yōu)先級(jí)關(guān)鍵字成功!");
}
if(pare("是否通過")==0)
{
CMainDialog::BlurTestSch();
MessageBox("選擇是否通過關(guān)鍵字成功!");
}
if(pare("時(shí)間")==0)
{
CMainDialog::BlurTestSch();
MessageBox("選擇時(shí)間關(guān)鍵字成功!");
} }
else
{CMainDialog::BlurTestSch();
MessageBox("請(qǐng)?zhí)顚懖樵冴P(guān)鍵字成功!");
} }
通過測(cè)試程序的運(yùn)行,我們發(fā)現(xiàn)通過基于規(guī)則的分類方法設(shè)計(jì)的測(cè)試用例是非常有效的,例如在本次測(cè)試中設(shè)計(jì)測(cè)試數(shù)據(jù)集D=10,其中規(guī)則2時(shí)人為設(shè)計(jì)的錯(cuò)誤的規(guī)則,主要用于XMBH為空的測(cè)試。
它們的覆蓋率為:ncovers(1)=…= ncovers(9)=1/9。(下轉(zhuǎn)第2021頁)
(上接第2011頁)
它們的正確率有區(qū)別,主要是規(guī)則2覆蓋兩個(gè)測(cè)試用例,它的正確率 ncorrec(2)=1/2,其余的正確率是 ncorrec(1)=1/1,ncorrec(3)=…= ncorrec(9)=1/1。
從這些數(shù)據(jù)說明基于規(guī)則的分類方法使面向?qū)ο蟮臏y(cè)試的效率方面有很大的提高,這也是對(duì)軟件測(cè)試技術(shù)中白盒測(cè)試的比較有意義的探索,也是數(shù)據(jù)挖掘的方法和軟件測(cè)試技術(shù)有益的嘗試,從而促進(jìn)軟件測(cè)試技術(shù)的發(fā)展。
4 結(jié)束語
從軟件的生存周期看,單元測(cè)試是指在程序文檔結(jié)束以后進(jìn)行的測(cè)試,它在測(cè)試技術(shù)中主要是白盒測(cè)試,也就是說它是針對(duì)程序的邏輯結(jié)構(gòu)進(jìn)行的測(cè)試。從另一方面來說面向?qū)ο蟮拈_發(fā)技術(shù)下的面向?qū)ο蟮臏y(cè)試也是和傳統(tǒng)意義的測(cè)試有很多的不同點(diǎn),尤其是面向?qū)ο箢惖睦^承、封裝、和多態(tài)給測(cè)試造成了很大的困難,所以在本文中結(jié)合數(shù)據(jù)挖掘中的基于規(guī)則的分類技術(shù)這些特征的設(shè)計(jì)。又因?yàn)椴还苁莻鹘y(tǒng)意義的測(cè)試還是面向?qū)ο蟮臏y(cè)試,設(shè)計(jì)測(cè)試的依據(jù)是軟件系統(tǒng)測(cè)試用例庫規(guī)格說明書、軟件系統(tǒng)測(cè)試用例庫設(shè)計(jì)文檔和軟件系統(tǒng)測(cè)試用例庫使用說明書,如果是設(shè)計(jì)文檔錯(cuò)誤,不管哪種測(cè)試軟件質(zhì)量就難以保證,當(dāng)然測(cè)試的設(shè)計(jì)也就沒有保障。即使測(cè)試以后發(fā)現(xiàn)是設(shè)計(jì)的錯(cuò)誤,這時(shí)修改的代價(jià)是相當(dāng)昂貴的。因此,較理想的做法是深入了解軟件的特點(diǎn),按軟件工程各階段形成的文檔,分別進(jìn)行嚴(yán)格的審查和測(cè)試??傊畱?yīng)通過各種方法和新技術(shù)提高測(cè)試效率和軟件系統(tǒng)測(cè)試用例庫的健壯性、正確性和有效性!
參考文獻(xiàn):
[1] 郭寧.UML及建模[M].北京:清華大學(xué)出版社,2007.
[2] 國剛,周峰,孫更新.UML與Rational Rose 2003 軟件工程統(tǒng)一建模原理與實(shí)踐教程[M].北京:北京電子工業(yè)出版社,2007.
[3] Fenton N E,Pfleeger S L.軟件度量[M].2版.北京:機(jī)械工業(yè)出版社,2004.
[4] Jorgensen P C.軟件測(cè)試[M].2版.北京:機(jī)械工業(yè)出版社,2003.
[5] Priestley M.面向?qū)ο笤O(shè)計(jì)UML實(shí)踐[M].2版.北京:清華大學(xué)出版社,2005.
[6] 古樂,史九林.軟件測(cè)試技術(shù)概論[M].北京:清華大學(xué)出版社,2004.
[7] 宮云戰(zhàn).軟件測(cè)試[M].北京:國防工業(yè)出版社,2006.
[8] Han Jiawei,Kamber M.數(shù)據(jù)挖掘的概念與技術(shù)[M].北京:機(jī)械工業(yè)出版社,2008.
篇7
關(guān)鍵詞:軟件;測(cè)試;設(shè)計(jì);技術(shù)
中圖分類號(hào):TP311.52文獻(xiàn)標(biāo)識(shí)碼 A 文章編號(hào):1009-3044(2007)17-31323-02
Technique of Software Test and Design
GUO Qun
(Liaoning University of Intemational Business and Economics,Dalian 116024,China)
Abstract:Software test, the straightforward and rapid way to improve the quality of software, is the necessary condition for the improvement of the software quality. This paper, introducing the common concept, method and step of the software test, gives the solution to the software test.
Key words:software; test; design; technique
1 引言
在大型軟件開發(fā)過程中,人們使用了許多保證軟件質(zhì)量的方法分析、設(shè)計(jì)和實(shí)現(xiàn)軟件。但由干問題的復(fù)雜性,人們對(duì)客觀事物認(rèn)識(shí)的局限性及軟件開發(fā)人員配合不協(xié)調(diào)等因素,因而在軟件開發(fā)過程中難免有各種各樣的錯(cuò)誤。如果在軟件投入生產(chǎn)性運(yùn)行之前,沒有發(fā)現(xiàn)并糾正軟件中的大部分錯(cuò)誤,則這些錯(cuò)誤遲早會(huì)在生產(chǎn)過程中暴露出來,那時(shí)不僅改正這些錯(cuò)誤的代價(jià)更高,而且往往會(huì)造成很惡劣的后果。因此,一定要高度重視軟件測(cè)試工作。軟件測(cè)試是為了發(fā)現(xiàn)故障而執(zhí)行程序的過程。其目的是以盡可能少的時(shí)間和人力發(fā)現(xiàn)并改正軟件中潛在的各種故障及缺陷。所以,在軟件投入運(yùn)行之前必須進(jìn)行軟件測(cè)試,以盡可能多地發(fā)現(xiàn)軟件中的故障,提高軟件可靠性。
2 軟件測(cè)試定義
軟件測(cè)試就是在軟件投入運(yùn)行前,對(duì)軟件需求分析、設(shè)計(jì)規(guī)格說明和編碼的最終復(fù)審,是軟件質(zhì)量保證的關(guān)鍵步驟。軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程。或者說,軟件測(cè)試是根據(jù)軟件開發(fā)各階段的規(guī)格說明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計(jì)一批測(cè)試用例(即輸入數(shù)據(jù)及其預(yù)期的輸出結(jié)果),并利用這些測(cè)試用例去運(yùn)行程序,以發(fā)現(xiàn)程序錯(cuò)誤的過程。正確認(rèn)識(shí)軟件測(cè)試的定義是十分重要的,它決定了測(cè)試方案的設(shè)計(jì)。軟件測(cè)試只能查找程序中的錯(cuò)誤;不能證明程序中沒有錯(cuò)誤。
3 軟件測(cè)試方法
怎樣對(duì)軟件進(jìn)行測(cè)試呢?有兩種方法。一種稱為黑盒測(cè)試:如果知道了產(chǎn)品應(yīng)該具有的功能,可以通過測(cè)試來檢驗(yàn)是否每個(gè)功能都能正確使用,也叫功能測(cè)試;它是在程序的接口進(jìn)行的,把軟件看成是一個(gè)黑盒,測(cè)試時(shí)僅僅關(guān)心如何尋找出使程序不按要求運(yùn)行的情況,是最基本的測(cè)試法。另一種稱為白盒測(cè)試:如果知道產(chǎn)品內(nèi)部工作過程,可以通過測(cè)試來檢驗(yàn)產(chǎn)品內(nèi)部動(dòng)作是否按照規(guī)格說明書的規(guī)定正常進(jìn)行,也叫結(jié)構(gòu)測(cè)試。它是把軟件看成裝在一個(gè)透明的白盒子里,就是完全了解程序的結(jié)構(gòu)和處理過程,按照程序內(nèi)部的邏輯測(cè)試程序,檢驗(yàn)程序中的每條通路是否都能按規(guī)定要求正確工作。
4 軟件測(cè)試步驟
一個(gè)大型軟件系統(tǒng)通常由若干個(gè)子系統(tǒng)構(gòu)成,每個(gè)子系統(tǒng)又由若干個(gè)模塊構(gòu)成。軟件測(cè)試分以下幾個(gè)步驟:
(1)單元測(cè)試:又稱模塊測(cè)試,是針對(duì)軟件設(shè)計(jì)的最小單位――程序模塊,進(jìn)行正確性檢驗(yàn)的測(cè)試工作。其目的在于發(fā)現(xiàn)各模塊內(nèi)部可能存在的各種差錯(cuò)。單元測(cè)試需要從程序的內(nèi)部結(jié)構(gòu)出發(fā)設(shè)計(jì)測(cè)試用例。多個(gè)模塊可以平行的獨(dú)立進(jìn)行單元測(cè)試。
(2)組裝測(cè)試:又稱集成測(cè)試,通常,在單元測(cè)試的基礎(chǔ)上,需要將所有模塊按照設(shè)計(jì)要求組裝成為系統(tǒng)。這時(shí)需要考慮的問題是:在把各個(gè)模塊連接起來時(shí),穿越模塊接口的數(shù)據(jù)是否會(huì)丟失;一個(gè)模塊的功能是否會(huì)對(duì)另一個(gè)模塊的功能產(chǎn)生不利的影響;各個(gè)子功能組合起來,能否達(dá)到預(yù)期要求的父功能;全局?jǐn)?shù)據(jù)結(jié)構(gòu)是否有問題;單個(gè)模塊的誤差累積起來,是否會(huì)放大,從而達(dá)到不能接受的程度。
(3)確認(rèn)測(cè)試:又稱有效性測(cè)試。它的任務(wù)是驗(yàn)證軟件的功能和性能及其他特性是否與用戶的要求一致。首先要進(jìn)行有效性測(cè)試以及軟件配置復(fù)審,然后進(jìn)行驗(yàn)收測(cè)試和安裝測(cè)試,在通過了專家鑒定之后,才能成為可交付的軟件。
(4)系統(tǒng)測(cè)試:是將通過確認(rèn)測(cè)試的軟件,作為整個(gè)基于計(jì)算機(jī)系統(tǒng)的一個(gè)元素,與計(jì)算機(jī)硬件、外設(shè)、某些支持軟件、數(shù)據(jù)和人員等其他系統(tǒng)元素結(jié)合在一起,在實(shí)際運(yùn)行(使用)環(huán)境下,對(duì)計(jì)算機(jī)系統(tǒng)進(jìn)行一系列的組裝測(cè)試和確認(rèn)測(cè)試。系統(tǒng)測(cè)試的目的在于通過與系統(tǒng)的需求定義作比較,發(fā)現(xiàn)軟件與系統(tǒng)定義不符合或與之矛盾的地方。
5 軟件測(cè)試的策略
測(cè)試過程按4個(gè)步驟進(jìn)行,即單元測(cè)試、組裝(集成)測(cè)試、確認(rèn)測(cè)試和系統(tǒng)測(cè)試。如圖1所示。
圖1 軟件測(cè)試的過程
開始是單元測(cè)試,集中對(duì)用原代碼實(shí)現(xiàn)的每一個(gè)程序單元進(jìn)行測(cè)試,檢查各個(gè)程序模塊是否正確地實(shí)現(xiàn)了規(guī)定的功能。然后,把已測(cè)試過的模塊組裝起來,進(jìn)行組裝測(cè)試,主要對(duì)與設(shè)計(jì)相關(guān)的軟件體系結(jié)構(gòu)的構(gòu)造進(jìn)行測(cè)試。為此。在將一個(gè)一個(gè)實(shí)施了單元測(cè)試并確保無誤的程序模塊組裝成軟件系統(tǒng)的過程中,對(duì)正確性和程序結(jié)構(gòu)等方面進(jìn)行檢查。確認(rèn)測(cè)試則是要檢查已實(shí)現(xiàn)的軟件是否滿足了需求規(guī)格說明中確定了的各種需求,以及軟件配置是否完全、正確。最后是系統(tǒng)測(cè)試,把已經(jīng)經(jīng)過確認(rèn)的軟件納入實(shí)際運(yùn)行環(huán)境中,與其他系統(tǒng)成分組合在一起進(jìn)行測(cè)試。
6 結(jié)束語
軟件測(cè)試是保證軟件可靠性的主要手段,是軟件開發(fā)過程中最艱巨、最繁重的任務(wù)。軟件開發(fā)人員要明確軟件測(cè)試的目標(biāo),掌握軟件測(cè)試的方法、策略,選用最少量的高效測(cè)試數(shù)據(jù),做到盡可能完善的測(cè)試,從而盡可能多地發(fā)現(xiàn)軟件中的問題。降低軟件測(cè)試的成本,提高軟件測(cè)試效率。開發(fā)出用戶滿意的高質(zhì)量的軟件。
參考文獻(xiàn):
[1]張海藩.軟件工程導(dǎo)輪[M].北京:清華大學(xué)出版社,1992.6.
[2]鄭人杰,等.實(shí)用軟件工程[M]. 北京:清華大學(xué)出版社,1997.4.
篇8
筆者在課堂教學(xué)中建立了一套激發(fā)學(xué)生學(xué)習(xí)興趣和發(fā)展學(xué)生能力的“六項(xiàng)全能”的形成性評(píng)價(jià)方法,并把這種評(píng)價(jià)方法和傳統(tǒng)的終結(jié)性評(píng)價(jià)方法結(jié)合起來對(duì)學(xué)生進(jìn)行評(píng)價(jià)。這“六項(xiàng)全能”的評(píng)價(jià)方法包括課堂活動(dòng)評(píng)價(jià)、單元聽寫評(píng)價(jià)、單元測(cè)試評(píng)價(jià)、課文背誦評(píng)價(jià)、完成作業(yè)評(píng)價(jià)和課堂紀(jì)律評(píng)價(jià)。
一、課堂活動(dòng)評(píng)價(jià)
學(xué)生參與課堂活動(dòng)是形成性評(píng)價(jià)的一個(gè)重要內(nèi)容,課堂活動(dòng)包括課前have a speech,free talk,在課堂教學(xué)過程中開展的group work,pair work,教學(xué)游戲,回答上節(jié)課所學(xué)知識(shí)點(diǎn)等活動(dòng)。在課堂上采用小組評(píng)價(jià)法,把學(xué)生分成若干小組,以小組為單位開展討論,進(jìn)行比賽。采用記分制,完成任務(wù)的加3分,答錯(cuò)不加分。但是回答上節(jié)課所學(xué)知識(shí)點(diǎn)錯(cuò)了就扣3分。如果是個(gè)人完成的給個(gè)人加分,如果是小組合作完成的就給小組加分。
二、單元聽寫評(píng)價(jià)
把聽寫和形成性評(píng)價(jià)方法結(jié)合起來使用,幫助學(xué)生調(diào)控自己的學(xué)習(xí)過程,使學(xué)生獲得成就感,培養(yǎng)合作精神。
課堂聽寫前教師讓學(xué)生自己在家先聽寫,可以家長報(bào)也可以自己寫出漢語再默寫。聽寫的內(nèi)容是本單元的單詞、詞組、句子或是課外閱讀中的詞匯,由學(xué)生自己定。課堂聽寫采用記分制,達(dá)到100分的同學(xué)加10分,90分以上的加5分,沒達(dá)到90分的就算不合格,不合格的同學(xué)要找課代表重新聽寫。他們可以找本組組長尋求幫助,也可以找一幫一結(jié)的對(duì)子弄清楚沒寫會(huì)的內(nèi)容。重新聽寫達(dá)到90以上的可以補(bǔ)加3分,基礎(chǔ)差的同學(xué)可以降低標(biāo)準(zhǔn),達(dá)到60分即可加5分。對(duì)于重新聽寫合格的學(xué)生,教師應(yīng)及時(shí)給予表揚(yáng)鼓勵(lì),幫助學(xué)生建立自信,激發(fā)積極學(xué)習(xí)情感。
三、單元測(cè)試評(píng)價(jià)
單元測(cè)試作為階段性的測(cè)試結(jié)果是形成性評(píng)價(jià)的一種形式。教師在完成每個(gè)單元的教學(xué)后,運(yùn)用單元測(cè)試對(duì)學(xué)生進(jìn)行評(píng)價(jià)。
以上一次期中或期末考試成績作為評(píng)價(jià)標(biāo)準(zhǔn)。120分試卷,108分以上的加15分,96分以上的加10分,跟上次比較有進(jìn)步的同學(xué)再加五分。96分以下的同學(xué),跟上次比有進(jìn)步的加5分。
每次單元測(cè)試后,還要求學(xué)生進(jìn)行自我評(píng)價(jià),寫出試卷分析,對(duì)自己試卷的得失進(jìn)行一個(gè)小結(jié)。引導(dǎo)學(xué)生進(jìn)行單元測(cè)試后的自我評(píng)價(jià),對(duì)于強(qiáng)化學(xué)生對(duì)單元重點(diǎn)、難點(diǎn)的掌握起著至關(guān)重要的作用。
四、課文背誦的評(píng)價(jià)
背誦典型的對(duì)話或者課文是學(xué)習(xí)英語、培養(yǎng)語感的一種重要途徑。通過背誦幫助學(xué)生掌握生詞,養(yǎng)成英語思維的習(xí)慣,有助于提高聽說能力,還可以幫助學(xué)生提高閱讀理解能力。
對(duì)于課文背誦的評(píng)價(jià),可采取小組合作的方式進(jìn)行評(píng)價(jià)。在班上選出8個(gè)英語背誦小組長,組長先在教師這背。組員找組長背,不會(huì)讀的先向組長請(qǐng)教。全班基本完成后再進(jìn)行抽查,檢查和督促組長的工作。采用記分的方式,在規(guī)定時(shí)間背完的同學(xué)可以加5分,抽查過關(guān)的同學(xué)再加3分。對(duì)于英語基礎(chǔ)較差的學(xué)生,降低要求,讓他們看著課文的漢語背。無法看漢語背出的同學(xué),只要求朗讀。
五、完成作業(yè)評(píng)價(jià)
德國教育家第斯多惠說過:“教學(xué)的藝術(shù)不在于傳授本領(lǐng),而在于激勵(lì),喚醒和鼓舞。”對(duì)于完成作業(yè)的評(píng)價(jià),筆者主要是通過口頭表揚(yáng)并加分的方式。
對(duì)于按時(shí)交作業(yè),并且書寫認(rèn)真,正確率高的學(xué)生及時(shí)給予肯定,并加5分;對(duì)于沒按時(shí)交作業(yè)的學(xué)生扣5分。收作業(yè)的事情讓小組長參與,培養(yǎng)他們的責(zé)任心。
六、課堂紀(jì)律評(píng)價(jià)
形成性評(píng)價(jià)要求積極有效的課堂環(huán)境,而這與學(xué)生良好的紀(jì)律有著緊密聯(lián)系,有時(shí)課堂氣氛活躍,但課堂紀(jì)律卻難以控制,因此對(duì)課堂紀(jì)律評(píng)價(jià)尤為重要。
對(duì)于課堂紀(jì)律評(píng)價(jià)采取記分制,違反紀(jì)律一次扣10分。一個(gè)月內(nèi)紀(jì)律扣分最多的同學(xué)會(huì)告知家長共同管理該生。課堂紀(jì)律評(píng)價(jià)不僅要成為約束學(xué)生的一種方式,也要成為服務(wù)課堂的工具,使其成為提高課堂效率的一種有效手段。
對(duì)于“六項(xiàng)全能”的評(píng)價(jià)方法,每個(gè)單元進(jìn)行一次統(tǒng)計(jì),由兩名英語課代表分工記載和統(tǒng)計(jì)“六項(xiàng)全能”評(píng)價(jià)的分?jǐn)?shù)??偡峙徘?5名的學(xué)生評(píng)為優(yōu)秀學(xué)生,再選出10名有進(jìn)步的學(xué)生。在班級(jí)表揚(yáng)欄公布,并且在家長QQ群中表揚(yáng)信息。每個(gè)月進(jìn)行一次小結(jié),給總分排名前15名的學(xué)生頒發(fā)小小獎(jiǎng)勵(lì)。
篇9
關(guān)鍵詞:數(shù)學(xué) 教學(xué)步驟 認(rèn)知結(jié)構(gòu) 參照系
中圖分類號(hào):G623.5 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1673-9795(2014)02(c)-0102-01
根據(jù)每個(gè)單元的知識(shí)結(jié)構(gòu),從小學(xué)生的心理特點(diǎn)和認(rèn)知結(jié)構(gòu)出發(fā),由教師確定每個(gè)單元的教學(xué)目標(biāo),并找準(zhǔn)該單元的知識(shí)重點(diǎn),難點(diǎn)及關(guān)鍵,然后根據(jù)學(xué)生的認(rèn)知水平,組織有效的課堂教學(xué)活動(dòng),完成重點(diǎn)、難點(diǎn)及關(guān)鍵的教學(xué),教給學(xué)生學(xué)習(xí)的方法。
1 確定教學(xué)目標(biāo),把握教學(xué)內(nèi)容
制定單元教學(xué)目標(biāo),實(shí)際上是為單元教學(xué)定方向。方向能否定得正確,關(guān)鍵在于能否根據(jù)數(shù)學(xué)的學(xué)科特點(diǎn),正確處理好整體與部分,知識(shí)與能力的關(guān)系,使所定目標(biāo)切實(shí)具有科學(xué)性、準(zhǔn)確性和可測(cè)性。一旦所定目標(biāo)具有上述“三性”,就能真正成為教師組織教學(xué)活動(dòng),判斷教學(xué)效果,調(diào)控教學(xué)過程的出發(fā)點(diǎn)和參照系。這樣目標(biāo)備課,教學(xué)就會(huì)因方向明確而少走彎路。
2 抓關(guān)鍵、教給學(xué)生方法
首先弄清該單元所涉及的知識(shí)在新與舊、難與易,相互制約方面有哪些聯(lián)系,找準(zhǔn)其中起關(guān)鍵作用的知識(shí)。其次在認(rèn)真研究這一關(guān)鍵知識(shí)與哪些舊知識(shí)有密切聯(lián)系的基礎(chǔ)上,拿出3~5分鐘做好對(duì)舊知識(shí)的復(fù)習(xí)。一旦確認(rèn)學(xué)生已經(jīng)具備了學(xué)習(xí)新知識(shí)的認(rèn)知前提,就要把重點(diǎn)、難點(diǎn)知識(shí)的教學(xué)放到中心位置,采用適合兒童智力活動(dòng)規(guī)律的教學(xué)方法組織各種形式的教學(xué)活動(dòng),甚至使絕大多數(shù)學(xué)生對(duì)這一知識(shí)達(dá)到充分地理解,較好地掌握。
顯而易見,抓關(guān)鍵,主要包括兩層意思:一是研究教材的知識(shí)結(jié)構(gòu),找準(zhǔn)在整個(gè)單元教學(xué)中能牽一發(fā)而動(dòng)全局的重點(diǎn)、難點(diǎn)知識(shí)的教學(xué),使學(xué)生切實(shí)掌握學(xué)習(xí)本單元的方法。
例如:北師大版小學(xué)數(shù)學(xué)四年級(jí)下冊(cè),第二單元認(rèn)識(shí)圖形中,教學(xué)重點(diǎn):認(rèn)識(shí)直角三角形,銳角三角形,等腰三角形和等邊三角形等,三角形的內(nèi)角和等于180°,三角形任意兩邊的和大于第三邊。難點(diǎn)是:三角形內(nèi)角和的探索,三角形任意兩邊的和大于第三邊的探索。
讓學(xué)生體會(huì)先“量一量,算一算”產(chǎn)生猜想,再“拼一拼,折一折”進(jìn)行驗(yàn)證的數(shù)學(xué)思想方法,體會(huì)通過操作獲得一些數(shù)據(jù),并整理分析數(shù)據(jù),從中歸納出結(jié)論。
3 抓自學(xué),讓學(xué)生自己解答
自學(xué),是學(xué)生在教師輔導(dǎo)下的學(xué)習(xí)。
由于學(xué)生在第二步的單元教學(xué)中,已經(jīng)初步掌握了學(xué)習(xí)該單元的方法,因而進(jìn)入第三步后,教師的主要任務(wù)就變成了有計(jì)劃,有目的地深入到學(xué)生的自學(xué)中去,認(rèn)真觀察學(xué)生是怎樣運(yùn)用已掌握的方法去解答數(shù)學(xué)題的。及時(shí)發(fā)現(xiàn)學(xué)生在解答過程中存在的問題,并根據(jù)反饋情況進(jìn)行及時(shí)恰當(dāng)?shù)妮o導(dǎo)。
學(xué)生自學(xué)時(shí),往往會(huì)出現(xiàn)這樣一種現(xiàn)象:他們?cè)詾橐呀?jīng)掌握了重點(diǎn)、難點(diǎn)知識(shí)。在自學(xué)時(shí),又會(huì)遇到若干意想不到的困難和障礙,暴露出個(gè)別學(xué)生對(duì)方法并未真正掌握。這就需要教師有的放矢地采取得力措施,組織學(xué)生再學(xué)習(xí)、再思考。在這個(gè)反復(fù)的、曲折的思維過程中,教師的輔導(dǎo)是舉足輕重的。因?yàn)榍‘?dāng)?shù)膯l(fā)、點(diǎn)撥,可以指導(dǎo)學(xué)生及時(shí)走出迷谷,避免浪費(fèi)時(shí)間,保證學(xué)生在課堂上做更多的題,從而培養(yǎng)學(xué)生運(yùn)用關(guān)鍵知識(shí)解決實(shí)際問題的能力,達(dá)到熟能生巧,運(yùn)用自如。
4 抓練習(xí),讓學(xué)生舉一反三
學(xué)生通過自學(xué),初步掌握了該單元的知識(shí),但要培養(yǎng)學(xué)生思維的靈活性和深刻性,還要通過抓練習(xí),讓學(xué)生多層次,多角度,多形式地練習(xí),做到舉一反三。這種練習(xí)可分為三類:
(1)基本題。即與課本例題相似,且難度基本相同的單項(xiàng)練習(xí)題目。進(jìn)行這種練習(xí),目的是讓學(xué)生進(jìn)一步鞏固和熟練單元的基礎(chǔ)知識(shí),切實(shí)完成識(shí)記與理解這兩個(gè)層次的學(xué)習(xí)任務(wù)。
(2)變式題。源于例題,但形式與例題不盡相同,而解法與基本題又大致一樣的練習(xí)題。練習(xí)此類題目,可以深化本單元所學(xué)的知識(shí),逐步使學(xué)生形成技能技巧,有利于培養(yǎng)學(xué)生的分析,判斷能力。
例如:第五單元小數(shù)除法練習(xí)四第10題。
10:哪種食用油便宜些?
第一種:每瓶2.5千克 花35.00元
依據(jù):單價(jià)=總價(jià)÷數(shù)量
35÷2.5=14(元)
第二種:有兩瓶油
大瓶3千克 小瓶0.5千克
共需:48.30元
48.3÷(3+0.5)=13.8(元)
所以買第二種合算。
(3)綜合題。將本單元所學(xué)知識(shí)與有關(guān)知識(shí)混合編排而成的綜合型和智力型。做此類題,能培養(yǎng)學(xué)生解決實(shí)際問題的能力,使知識(shí)能靈活運(yùn)用;能讓學(xué)生把本單元學(xué)到的知識(shí)與有關(guān)舊知識(shí)聯(lián)系起來,形成知識(shí)體系,標(biāo)志著已完成綜合運(yùn)用這一教學(xué)目標(biāo)。
如:找座位(總復(fù)習(xí))。
這道題綜合考察學(xué)生的小數(shù)加、減、乘、除計(jì)算的能力(見圖1)。
5 單元測(cè)試,及時(shí)評(píng)價(jià)學(xué)習(xí)情況
先根據(jù)單元教學(xué)目標(biāo),分類編制單元標(biāo)準(zhǔn)測(cè)試題,再于該單元學(xué)完之后,進(jìn)行單元測(cè)試,以檢驗(yàn)各層次教學(xué)目標(biāo)的達(dá)成情況。編制可測(cè)性強(qiáng)的單元測(cè)試卷,是第五步驟的主要工作。在編制單元測(cè)試卷時(shí),特別應(yīng)注意以下三點(diǎn):
(1)題型多樣。既有考察基礎(chǔ)知識(shí)的填充、判斷、選擇題,又有考察各種能力的計(jì)算題、操作題和應(yīng)用題。
(2)覆蓋面廣。單元測(cè)試題能充分反映本單元教學(xué)目標(biāo)的各個(gè)方面,有利于對(duì)學(xué)生的學(xué)習(xí)情況進(jìn)行全面性診斷。
(3)呈階梯狀。既有與“識(shí)記、理解”相對(duì)應(yīng)的基本題,又有與“簡單應(yīng)用”相對(duì)應(yīng)的綜合題,還有少量難度較大的能考查創(chuàng)新能力的思考題。
通過測(cè)試,可以從識(shí)記、理解、應(yīng)用的不同層次上準(zhǔn)確反饋出學(xué)生的學(xué)習(xí)情況。使教師能據(jù)此采取相應(yīng)措施,及時(shí)進(jìn)行矯正和補(bǔ)救,有的放矢地對(duì)學(xué)生進(jìn)行重新講解和點(diǎn)撥,從而收到事半功倍的效果,使學(xué)生能扎實(shí)熟練地掌握并應(yīng)用所學(xué)的知識(shí)。
參考文獻(xiàn)
[1] 張景中,曹培生.從數(shù)學(xué)教育到教育數(shù)學(xué)[M].中國少年兒童出版社,2011.
篇10
Abstract: With the increasing complexity of software engineering, software engineering quality requirements continue to improve. The teaching of the traditional software testing course can't meet the needs of the times. From the traditional software testing experimental teaching, aiming at the existing problems and the overall objectives of the experimental teaching requirements, this paper explores the significance of project driven software testing and experimental teaching reform, which with reasonable distribution of the curriculum system, the distribution of appropriate experimental content, can meet the requirements of personnel training program.
關(guān)鍵詞:軟件測(cè)試;項(xiàng)目驅(qū)動(dòng);實(shí)驗(yàn)教學(xué);教學(xué)改革
Key words: software testing;project driven;experimental teaching;teaching reform
中圖分類號(hào):G642.0 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1006-4311(2017)03-0226-03
0 引言
軟件測(cè)試在很早以前就是軟件工程里的一個(gè)課程。但近幾年來才被國內(nèi)的軟件行業(yè)及軟件公司所重視。因而出現(xiàn)需要大量軟件測(cè)試人員的需求。所以國內(nèi)的很多高校因市場的需求,開設(shè)了相關(guān)的軟件測(cè)試專業(yè)或方向。但很多學(xué)校的開設(shè)的軟件測(cè)試的課程只停留在基本理論的學(xué)習(xí),或者測(cè)試工具的介紹上,以至于畢業(yè)出來的學(xué)生只能滿足最底層的測(cè)試工作。而較高要求的測(cè)試崗位很難招到人。所以培養(yǎng)“高素質(zhì)、復(fù)合型”的軟件測(cè)試人才,是學(xué)校的當(dāng)務(wù)之急,軟件測(cè)試的教學(xué)改革勢(shì)在必行[1]。
1 傳統(tǒng)測(cè)試課程教學(xué)存在的問題
教學(xué)課時(shí)少,課程結(jié)構(gòu)單一。傳統(tǒng)軟件測(cè)試是以軟件工程原理的一個(gè)章節(jié)來講的。講課的課時(shí)也就4個(gè)學(xué)分。老師授課只是對(duì)測(cè)試基本的概念及流程作講解,內(nèi)容偏重理論且抽象。學(xué)生理解和掌握難度比較大,在實(shí)際測(cè)試工作中無法入手。現(xiàn)如今對(duì)軟件測(cè)試的工作越來越重視,對(duì)軟件測(cè)試的工作要求越來越高。如此單一教學(xué)內(nèi)容,讓學(xué)生今后勝任軟件測(cè)試的相關(guān)工作是不現(xiàn)實(shí)的。
重理論,輕實(shí)踐。傳統(tǒng)軟件測(cè)試課程的教學(xué)一直以任課老師講授以主,學(xué)生被動(dòng)接受知識(shí),在理論的教學(xué)過程中,授課老師重點(diǎn)講解軟件測(cè)試的基本概念、原理及方法。但軟件測(cè)試的相關(guān)課程在實(shí)踐方面要求有較強(qiáng)的動(dòng)手的實(shí)踐能力。如在講解黑盒測(cè)試、白盒測(cè)試中的測(cè)試方法來設(shè)計(jì)測(cè)試用例時(shí),實(shí)際使用過程中需要結(jié)合多種方法來保證測(cè)試用例的完整性,這需要引入實(shí)際的生產(chǎn)案例來練習(xí)。再如在講解單元測(cè)試、集成測(cè)試時(shí),在講解單一類的測(cè)試、容器內(nèi)的測(cè)試、數(shù)據(jù)庫持久層的測(cè)試時(shí),如果老師在授課時(shí)只是講理論,沒有引入實(shí)際的生產(chǎn)案例,學(xué)生很難體會(huì)到課程的挑戰(zhàn)和樂趣,缺少主觀主動(dòng)性,學(xué)習(xí)效果較差。這樣的教學(xué)質(zhì)量難以保證,學(xué)生很難學(xué)以致用。
2 項(xiàng)目驅(qū)動(dòng)教學(xué)的內(nèi)涵
“項(xiàng)目教學(xué)法”最早見于美國教育家凱茲和加拿大教育家查德合著的《項(xiàng)目教學(xué)法》?!绊?xiàng)目教學(xué)法”的理論認(rèn)為:知識(shí)可以在一定的條件下自主建構(gòu)獲得;學(xué)習(xí)是知識(shí)、技能與行為、態(tài)度與價(jià)值觀等方面的長進(jìn);教育是滿足長進(jìn)需要的有意識(shí)、有系統(tǒng)、有組織的持續(xù)交流活動(dòng)。教育家陶行知先生說過:教、學(xué)、做應(yīng)是一體化的,教、學(xué)、做是一件事,不是三件事[2]。
項(xiàng)目教學(xué)法由以下內(nèi)容組成:有一定的教學(xué)內(nèi)容,具有實(shí)際應(yīng)用價(jià)值;能將理論知識(shí)和實(shí)際崗位技能結(jié)合起來;與企業(yè)實(shí)際生產(chǎn)或商業(yè)經(jīng)營等活動(dòng)有關(guān)系;學(xué)生可以獨(dú)立制定計(jì)劃并實(shí)施;學(xué)生可以運(yùn)用所學(xué)知識(shí)克服、處理在項(xiàng)目工作中出現(xiàn)的困難和問題;有一定的難度,學(xué)生在完成過程中能掌握和運(yùn)用新的知識(shí)和技能;要滲透情感、態(tài)度、價(jià)值觀的培養(yǎng);有明確而具體的成果展示,師生能共同評(píng)價(jià)項(xiàng)目完成情況和工作成果[3][4]。
3 項(xiàng)目驅(qū)動(dòng)的軟件測(cè)試實(shí)驗(yàn)教學(xué)的意義
以軟件行業(yè)發(fā)展需要為依托,面向軟件開發(fā)(敏捷開發(fā))過程中對(duì)軟件測(cè)試人才的迫切需求,以提高教學(xué)質(zhì)量為核心,以教學(xué)改革為動(dòng)力,以實(shí)現(xiàn)軟件開發(fā)與測(cè)試的學(xué)生知識(shí)、能力與素質(zhì)協(xié)同發(fā)展為原則,以培養(yǎng)學(xué)生實(shí)踐能力為目標(biāo),結(jié)合學(xué)科優(yōu)勢(shì),以主干課程建設(shè)為突破點(diǎn),開展項(xiàng)目驅(qū)動(dòng)軟件測(cè)試實(shí)驗(yàn)教學(xué)改革與研究,構(gòu)建和實(shí)踐面向應(yīng)用型本科軟件測(cè)試人才的專業(yè)實(shí)驗(yàn)教學(xué)體系。具體的意義可歸納為以下四點(diǎn):
①優(yōu)化測(cè)試相關(guān)專業(yè)主干課程體系,打造以項(xiàng)目驅(qū)動(dòng)軟件測(cè)試實(shí)驗(yàn)教學(xué)的專業(yè)特色。測(cè)試相關(guān)主干課程體系優(yōu)化與專業(yè)課程實(shí)驗(yàn)教學(xué)改革是項(xiàng)目的核心。專業(yè)主干課程體系的建設(shè)能直接反映專業(yè)課程建設(shè)的目的和培養(yǎng)目標(biāo),是提高人才素質(zhì)和保障教育質(zhì)量的核心環(huán)節(jié),也是衡量教學(xué)水平和教學(xué)質(zhì)量的重要標(biāo)志[5]。因此,面向軟件工程和軟件實(shí)踐背景,開展“項(xiàng)目驅(qū)動(dòng)軟件測(cè)試實(shí)驗(yàn)教學(xué)”,對(duì)于豐富和完善軟件測(cè)試課程教學(xué)改革,培養(yǎng)適應(yīng)軟件測(cè)試行業(yè)中“高素質(zhì),高要求”的復(fù)合型、應(yīng)用型管理人才,打造學(xué)科專業(yè)特色,形成學(xué)科專業(yè)競爭力,具有重要價(jià)值。
②以主干課程教學(xué)組織與團(tuán)隊(duì)建設(shè)為著手點(diǎn)。制定主干課程建設(shè)的方案和措施,通過課程示范作用,帶動(dòng)本專業(yè)相關(guān)其他課程的建設(shè)與改革。狠抓主干課程教材的選用與編寫、教學(xué)大綱的制定、應(yīng)用案例的編寫、教學(xué)內(nèi)容的精選、教學(xué)手段與教學(xué)方法的改革等環(huán)節(jié),夯實(shí)了主干課程建設(shè)的基礎(chǔ),并為該專業(yè)今后教學(xué)改革奠定基礎(chǔ)。
③以點(diǎn)帶面,擴(kuò)展軟件工程專業(yè)實(shí)驗(yàn)教學(xué)體系。通過在主干課程中適當(dāng)引入綜合性實(shí)驗(yàn)、設(shè)計(jì)性實(shí)驗(yàn)、軟件工程案例分析,可加強(qiáng)學(xué)生的實(shí)踐技能、創(chuàng)新意識(shí)和團(tuán)隊(duì)精神的培養(yǎng),提高學(xué)生的綜合運(yùn)用能力和競爭力。從長遠(yuǎn)來講,這項(xiàng)成果會(huì)進(jìn)一步提高我校該專業(yè)的人才綜合素質(zhì), 進(jìn)一步提高該學(xué)科專業(yè)綜合競爭力。
④擴(kuò)大畢業(yè)生就業(yè)率及提高就業(yè)檔次。通過該項(xiàng)目的建設(shè),希望能推動(dòng)該學(xué)科專業(yè)課程體系的優(yōu)化,改善廣州大學(xué)該專業(yè)本科學(xué)生的知識(shí)結(jié)構(gòu),提高軟件測(cè)試學(xué)生的綜合素質(zhì)和專業(yè)技能,擴(kuò)大畢業(yè)生就業(yè)率及提高就業(yè)檔次。
不管是站在專業(yè)學(xué)科建設(shè)的角度,還是站在學(xué)生培養(yǎng)的角度,從培養(yǎng)“高素質(zhì)、復(fù)合型”的軟件測(cè)試人才、解決學(xué)生就業(yè)的目標(biāo)來看,教學(xué)改革研究均具有重要的意義,有必要開展系統(tǒng)、深入的研究。
4 項(xiàng)目驅(qū)動(dòng)的軟件測(cè)試實(shí)驗(yàn)教學(xué)改革方案
以培養(yǎng)“高素質(zhì)、復(fù)合型”的軟件測(cè)試人才為目標(biāo),以專業(yè)主干課程體系優(yōu)化主干課程教學(xué)團(tuán)隊(duì),強(qiáng)化主干課程配套的實(shí)踐教學(xué)環(huán)節(jié),構(gòu)建了理論教學(xué)和實(shí)踐教學(xué)相結(jié)合的、 “測(cè)試?yán)碚?測(cè)試方法+測(cè)試工程”三位一體的主干課程培養(yǎng)體系,并開展長期的跟蹤實(shí)踐,努力在應(yīng)用型創(chuàng)新人才培養(yǎng)模式上形成自身的專業(yè)特色,完善“強(qiáng)基礎(chǔ)、重能力、多樣性、個(gè)性化”的人才培養(yǎng)方案。
4.1 軟件測(cè)試的課程體系的建立
隨著軟件行業(yè)對(duì)軟件測(cè)試重視,軟件測(cè)試對(duì)從業(yè)人員的要求也越來越高。傳統(tǒng)的教學(xué)內(nèi)容已經(jīng)不能滿足就業(yè)人員的需要。需對(duì)軟件測(cè)試的課程體系進(jìn)行擴(kuò)展、優(yōu)化。如圖1軟件測(cè)試教改實(shí)踐課程體系所示。
軟件測(cè)試基礎(chǔ):本課程從理論和實(shí)踐兩個(gè)層面引導(dǎo)學(xué)生學(xué)習(xí)軟件測(cè)試的基礎(chǔ)知識(shí),涵蓋軟件測(cè)試的思想、流程和方法,主要內(nèi)容包括軟件測(cè)試的基本概念和基本原理、白盒測(cè)試方法、黑盒測(cè)試方法以及面向?qū)ο筌浖y(cè)試等知識(shí)點(diǎn)。
高效單元測(cè)試:課程以最典型的單元測(cè)試框架JUnit為例講述了單元測(cè)試的方法和最佳實(shí)踐,介紹了在java軟件開發(fā)中使用junit進(jìn)行測(cè)試的原則、技巧與實(shí)踐,深入闡述如何編寫自動(dòng)測(cè)試。課程討論了實(shí)踐中的測(cè)試技術(shù),主要內(nèi)容包括:用mock objects進(jìn)行隔離測(cè)試、用ant和maven進(jìn)行自動(dòng)構(gòu)建、Cactus進(jìn)行容器內(nèi)測(cè)試的方法、對(duì)java應(yīng)用程序、數(shù)據(jù)庫應(yīng)用程序等進(jìn)行單元測(cè)試,以及Parasoft Jtest的使用。
WEB項(xiàng)目應(yīng)用測(cè)試:由淺入深、全面、細(xì)致地闡述了如何使用開源測(cè)試工具來完成Web自動(dòng)化測(cè)試,便于學(xué)生輕松掌握Web自動(dòng)化測(cè)試的原理、方法和實(shí)際操作。課程將教如何使用Selenium、WebDriver、Jmeter、Badboy搭建起一整套穩(wěn)定、高效、低成本的自動(dòng)化測(cè)試平臺(tái)。結(jié)合應(yīng)用實(shí)例展示web應(yīng)用項(xiàng)目測(cè)試的過程。
軟件測(cè)試質(zhì)量與保證:軟件測(cè)試質(zhì)量與保證是面向軟件測(cè)試方向一門專業(yè)必修課,在學(xué)習(xí)軟件測(cè)試基礎(chǔ)理論與技術(shù)的基礎(chǔ)上,加強(qiáng)對(duì)軟件質(zhì)量的認(rèn)識(shí)及質(zhì)量保證的重視,主要從軟件質(zhì)量的概述、軟件質(zhì)量工程體系、軟件質(zhì)量度量、軟件可靠性測(cè)試、軟件質(zhì)量標(biāo)準(zhǔn)、全面質(zhì)量控制等多方面展開對(duì)軟件質(zhì)量保證的深入學(xué)習(xí)。
性能測(cè)試與優(yōu)化管理:從測(cè)試項(xiàng)目實(shí)戰(zhàn)需求出發(fā),講述了性能測(cè)試技術(shù)和軟件性能測(cè)試工具應(yīng)用的實(shí)戰(zhàn)知識(shí)。引入項(xiàng)目案例,詳細(xì)講述性能測(cè)試方案實(shí)施、性能測(cè)試計(jì)劃制定、性能測(cè)試用例設(shè)計(jì)、性能測(cè)試腳本開發(fā)、性能總結(jié)、性能優(yōu)化管理及相關(guān)交付文檔。
軟件測(cè)試綜合項(xiàng)目實(shí)訓(xùn):本課程綜合應(yīng)用軟件測(cè)試方向各門專業(yè)課程,以一個(gè)實(shí)際案例貫穿整個(gè)教學(xué)過程,使學(xué)生對(duì)軟件測(cè)試的過程有深刻地理解,包括測(cè)試需求的獲取、制定測(cè)試計(jì)劃,設(shè)計(jì)測(cè)試用例,測(cè)試執(zhí)行、測(cè)試缺陷、測(cè)試評(píng)估及報(bào)告,并在實(shí)訓(xùn)過程中加強(qiáng)對(duì)團(tuán)隊(duì)協(xié)作的體會(huì)及文檔的協(xié)作能力。
移動(dòng)應(yīng)用程序測(cè)試:本課程將從實(shí)際應(yīng)用角度出發(fā),以智能終端和4G業(yè)務(wù)規(guī)劃為基礎(chǔ),介紹手機(jī)測(cè)試的方法和實(shí)踐技術(shù),主要內(nèi)容;手機(jī)設(shè)備軟硬件的現(xiàn)狀與趨勢(shì),手機(jī)軟件測(cè)試用例設(shè)計(jì)技術(shù)與方法,手機(jī)軟件體系結(jié)構(gòu)與手機(jī)軟件測(cè)試技術(shù)和常用測(cè)試工具。
4.2 項(xiàng)目驅(qū)動(dòng)實(shí)驗(yàn)教學(xué)的實(shí)施方針
由于課程深度的不同,項(xiàng)目驅(qū)動(dòng)實(shí)驗(yàn)教學(xué)的方針與過程也不同。其主干課程項(xiàng)目驅(qū)動(dòng)實(shí)驗(yàn)教學(xué)的實(shí)施方針如下:
《軟件測(cè)試基礎(chǔ)》由于是基礎(chǔ)課程,課程涉及的基礎(chǔ)概念比較多,且為低年級(jí)的學(xué)生。所以實(shí)驗(yàn)教學(xué)的案例要以單獨(dú)、經(jīng)典的小應(yīng)用實(shí)例為主,以鞏固和強(qiáng)化理論知識(shí)為目的。
《高效單元測(cè)試》軟件測(cè)試專業(yè)課。課程涉及代碼級(jí)軟件測(cè)試方法與技術(shù)。課程從應(yīng)用程序的角度可分為三個(gè)方面的單元測(cè)試:表示層單元測(cè)試、運(yùn)用層單元測(cè)試、數(shù)據(jù)層單元測(cè)試。從這三個(gè)方面再拆散成若干個(gè)小實(shí)驗(yàn)以便對(duì)應(yīng)相應(yīng)的理論知識(shí)。在實(shí)驗(yàn)案例選擇的原則要以高年級(jí)完成的課程設(shè)計(jì)或畢業(yè)設(shè)計(jì)為主,其原因是這樣的項(xiàng)目實(shí)例學(xué)生能更好的理解,上課的更有效果。
《WEB應(yīng)用項(xiàng)目測(cè)試》軟件測(cè)試專業(yè)課。課程主要講解Web自動(dòng)化測(cè)試的原理、方法和實(shí)際操作及測(cè)試工具的使用。在項(xiàng)目驅(qū)動(dòng)實(shí)驗(yàn)教學(xué)實(shí)例的選取了一些比較完善并同學(xué)比較熟悉的系統(tǒng),比如學(xué)院的信息管理系統(tǒng)或?qū)W院的郵件系統(tǒng)。學(xué)生對(duì)這些系統(tǒng)的業(yè)務(wù)比較了解。做自動(dòng)化測(cè)試比較容易上手。
《軟件測(cè)試綜合項(xiàng)目實(shí)訓(xùn)》是一個(gè)以實(shí)際案例貫穿整個(gè)教學(xué)過程,以學(xué)生為主,教師為輔的綜合項(xiàng)目實(shí)訓(xùn)課程。在實(shí)驗(yàn)教學(xué)的實(shí)例選取上要求要接近企業(yè)的工作要求。所以項(xiàng)目組在設(shè)計(jì)用例時(shí),直接向相關(guān)校企合作單位,要來需求和被測(cè)項(xiàng)目,并設(shè)計(jì)成實(shí)驗(yàn)教學(xué),以便學(xué)生在最接近現(xiàn)實(shí)的環(huán)境中作項(xiàng)目實(shí)訓(xùn)。
《移動(dòng)應(yīng)用程序測(cè)試》軟件測(cè)試選修課。課程主要講解移動(dòng)測(cè)試的原理、方法和實(shí)際操作及測(cè)試工具的使用。在項(xiàng)目驅(qū)動(dòng)實(shí)驗(yàn)教學(xué)實(shí)例的選取上,把學(xué)校組織參加比賽的移動(dòng)應(yīng)用項(xiàng)目拿來測(cè)試,這個(gè)項(xiàng)目影響較廣,學(xué)生對(duì)業(yè)務(wù)比較了解也比較。
5 小結(jié)
如何正確處理系統(tǒng)性理論知識(shí)體系與學(xué)生實(shí)際能力培養(yǎng)之間的矛盾?其解決的基本途徑是:重視實(shí)際能力培養(yǎng),強(qiáng)化軟件測(cè)試工程案例教學(xué),重視課程配套的課內(nèi)課外各種實(shí)踐教學(xué),強(qiáng)化學(xué)生人文素質(zhì)培養(yǎng)。只有這樣,才能解決學(xué)生專業(yè)知識(shí)面過窄、適應(yīng)能力差、滿足不了高要求的根本問題。如何搞好主干課程體系建設(shè)和主干課程師資隊(duì)伍建設(shè),其解決的基本途徑是:以測(cè)試相關(guān)主干課程和教學(xué)團(tuán)隊(duì)建設(shè)著手點(diǎn),建立完善的主干課程體系,發(fā)揮主干課程的帶動(dòng)效應(yīng),可達(dá)到以點(diǎn)帶面效果,解決課程教學(xué)內(nèi)容不先進(jìn)、教學(xué)方法單一、教學(xué)手段落后、教師業(yè)務(wù)能力不強(qiáng)等問題。
參考文獻(xiàn):
[1]宰光軍,任兩品,劉燕.復(fù)合型軟件測(cè)試人才培養(yǎng)模式的探索與創(chuàng)新[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2012(20).
[2]張世澤,劉同先,丁升選,呂淑敏.淺議項(xiàng)目教學(xué)法在我國的發(fā)展、應(yīng)用和建議[J].教育教學(xué)論壇,2014(50):168-169.
[3]鄭春瑛,郭偉青.項(xiàng)目教學(xué)法在管理信息系統(tǒng)課程中的應(yīng)用探討[J].中國職業(yè)技術(shù)教育,2007(22).
熱門標(biāo)簽
單元教學(xué)論文 單元整體教學(xué) 單元考試總結(jié) 單元 單元教學(xué)設(shè)計(jì) 單元流水 單元復(fù)習(xí)計(jì)劃 單元復(fù)習(xí) 單元教學(xué) 單元負(fù)責(zé)人 強(qiáng)磁場 強(qiáng)拆 強(qiáng)度 強(qiáng)管理
相關(guān)文章
1聚焦要素 精準(zhǔn)助讀 走近名著——統(tǒng)編教材五下冊(cè)古典名著單元教學(xué)策略
2高中歷史教學(xué)單元作業(yè)設(shè)計(jì)分析