日韩欧美视频一区-日韩欧美三区-日韩欧美群交P内射捆绑-日韩欧美精品有码在线播放免费-成人免费一区二区无码视频-成人免费一级毛片在线播放视频

樹(shù)人論文網(wǎng)一個(gè)專(zhuān)業(yè)的學(xué)術(shù)咨詢(xún)網(wǎng)站!!!
樹(shù)人論文網(wǎng)

測(cè)試驅(qū)動(dòng)開(kāi)發(fā)技術(shù)在航天領(lǐng)域的應(yīng)用實(shí)踐分析

來(lái)源: 樹(shù)人論文網(wǎng)發(fā)表時(shí)間:2019-06-14
簡(jiǎn)要:測(cè)試驅(qū)動(dòng)開(kāi)發(fā)技術(shù)作為軟件敏捷開(kāi)發(fā)中的一個(gè)重要組成部分,在軟件開(kāi)發(fā)實(shí)踐中得到了廣泛的應(yīng)用。本質(zhì)上,測(cè)試驅(qū)動(dòng)開(kāi)發(fā)技術(shù)是一種軟件開(kāi)發(fā)技術(shù),而不是一種軟件測(cè)試技術(shù),它的作

  測(cè)試驅(qū)動(dòng)開(kāi)發(fā)技術(shù)作為軟件敏捷開(kāi)發(fā)中的一個(gè)重要組成部分,在軟件開(kāi)發(fā)實(shí)踐中得到了廣泛的應(yīng)用。本質(zhì)上,測(cè)試驅(qū)動(dòng)開(kāi)發(fā)技術(shù)是一種軟件開(kāi)發(fā)技術(shù),而不是一種軟件測(cè)試技術(shù),它的作用在于通過(guò)測(cè)試來(lái)驅(qū)動(dòng)開(kāi)發(fā),以提高軟件的高內(nèi)聚、低耦合程度,改善軟件設(shè)計(jì)質(zhì)量,減少軟件代碼中的缺陷率,提高軟件開(kāi)發(fā)的效率,提升軟件產(chǎn)品的質(zhì)量。

航天標(biāo)準(zhǔn)化

  《航天標(biāo)準(zhǔn)化》(季刊)創(chuàng)刊于1983年,由中國(guó)航天標(biāo)準(zhǔn)化研究所主辦。以從事航天行業(yè)的技術(shù)領(lǐng)導(dǎo)和廣大的工程技術(shù)、科技管理和標(biāo)準(zhǔn)化專(zhuān)業(yè)人員為主要閱讀對(duì)象。期刊以宣傳國(guó)家和行業(yè)的標(biāo)準(zhǔn)化工作方針和政策、貫徹技術(shù)民主與爭(zhēng)鳴的原則,以嚴(yán)謹(jǐn)?shù)膽B(tài)度開(kāi)展標(biāo)準(zhǔn)化理論研究,研究市場(chǎng)經(jīng)濟(jì)下標(biāo)準(zhǔn)化工作發(fā)展方向及工作方法,探討型號(hào)研制標(biāo)準(zhǔn)化及產(chǎn)品三化等的意義和作用,目的是促進(jìn)航天事業(yè)的技術(shù)進(jìn)步和發(fā)展、實(shí)現(xiàn)國(guó)防現(xiàn)代化、趕超世界先進(jìn)水平。

  測(cè)試驅(qū)動(dòng)開(kāi)發(fā)技術(shù)相對(duì)于傳統(tǒng)的軟件開(kāi)發(fā)流程,是一種開(kāi)發(fā)思維上的轉(zhuǎn)變。它是一種基于目標(biāo)驅(qū)動(dòng)的軟件開(kāi)發(fā)思想,與傳統(tǒng)的先編寫(xiě)代碼再進(jìn)行調(diào)試的開(kāi)發(fā)流程不同,強(qiáng)調(diào)在編寫(xiě)產(chǎn)品代碼之前先思考作為用戶(hù)該如何去使用這個(gè)功能,先確定如何去用這個(gè)目標(biāo),并通過(guò)測(cè)試代碼使目標(biāo)明確可運(yùn)行,之后再去思考如何實(shí)現(xiàn)這個(gè)功能,需要開(kāi)發(fā)人員在用戶(hù)與功能開(kāi)發(fā)者之間不斷進(jìn)行角色切換,多角度思考。先編寫(xiě)測(cè)試代碼,再編寫(xiě)產(chǎn)品代碼,用測(cè)試來(lái)驅(qū)動(dòng)開(kāi)發(fā)。

  測(cè)試驅(qū)動(dòng)開(kāi)發(fā)技術(shù)是隨著敏捷開(kāi)發(fā)技術(shù)不斷發(fā)展應(yīng)用起來(lái)的,敏捷開(kāi)發(fā)除了測(cè)試驅(qū)動(dòng)之外,還包括用戶(hù)故事、結(jié)對(duì)編程、持續(xù)集成等要素。本文不針對(duì)測(cè)試驅(qū)動(dòng)開(kāi)發(fā)在敏捷開(kāi)發(fā)中的實(shí)踐,而是將測(cè)試驅(qū)動(dòng)開(kāi)發(fā)技術(shù)應(yīng)用于傳統(tǒng)的軟件開(kāi)發(fā),與傳統(tǒng)的領(lǐng)域開(kāi)發(fā)流程相結(jié)合,介紹測(cè)試驅(qū)動(dòng)開(kāi)發(fā)技術(shù)在領(lǐng)域應(yīng)用中的實(shí)踐。

  1 測(cè)試驅(qū)動(dòng)開(kāi)發(fā)

  本節(jié)介紹測(cè)試驅(qū)動(dòng)開(kāi)發(fā)的概念及測(cè)試驅(qū)動(dòng)開(kāi)發(fā)所起到的作用。

  1.1 測(cè)試驅(qū)動(dòng)開(kāi)發(fā)概念

  測(cè)試驅(qū)動(dòng)開(kāi)發(fā)技術(shù)是由Kent Beck于20世紀(jì)90年代提出并不斷發(fā)展起來(lái)的,基本方法是編寫(xiě)所有產(chǎn)品代碼的目的都是為了使失敗的測(cè)試能夠通過(guò)。首先編寫(xiě)一個(gè)測(cè)試,由于它要運(yùn)行的功能還不存在,所以它會(huì)運(yùn)行失敗。然后,編寫(xiě)產(chǎn)品代碼使測(cè)試通過(guò)。作為結(jié)果,一個(gè)非常完整的測(cè)試用例集就和產(chǎn)品代碼一起發(fā)展起來(lái)。軟件重構(gòu)、領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)、敏捷軟件開(kāi)發(fā)與實(shí)踐等技術(shù)或?qū)嵺`均將測(cè)試驅(qū)動(dòng)開(kāi)發(fā)作為一個(gè)必要條件和實(shí)踐原則,它們的一個(gè)共同特點(diǎn)是均采用迭代開(kāi)發(fā)思想,在開(kāi)發(fā)過(guò)程中不斷對(duì)已有產(chǎn)品進(jìn)行精化和完善。軟件重構(gòu)關(guān)注改善既有代碼的設(shè)計(jì),從代碼層面不斷對(duì)軟件進(jìn)行優(yōu)化,使代碼結(jié)構(gòu)更合理、擴(kuò)展性更好,可理解性更強(qiáng)。領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)關(guān)注領(lǐng)域模型與代碼實(shí)現(xiàn)的綁定,強(qiáng)調(diào)軟件各個(gè)部分的設(shè)計(jì)應(yīng)忠實(shí)地反映領(lǐng)域模型,與模型相對(duì)應(yīng),在開(kāi)發(fā)過(guò)程中通過(guò)不斷的重構(gòu)與精煉去獲得和實(shí)現(xiàn)深層次的領(lǐng)域模型。敏捷軟件開(kāi)發(fā)與實(shí)踐將測(cè)試驅(qū)動(dòng)開(kāi)發(fā)作為一個(gè)基礎(chǔ)實(shí)踐,與其他實(shí)踐結(jié)合形成一個(gè)完整的迭代開(kāi)發(fā)流程。

  1.2 設(shè)計(jì)作用

  測(cè)試驅(qū)動(dòng)開(kāi)發(fā)要求在編寫(xiě)產(chǎn)品代碼之前先編寫(xiě)測(cè)試,開(kāi)發(fā)人員首先必須站在產(chǎn)品代碼使用者的角度去思考應(yīng)該怎么去使用這個(gè)功能,這個(gè)功能應(yīng)該提供哪些接口供測(cè)試代碼來(lái)訪問(wèn),這種思考方式會(huì)促使開(kāi)發(fā)人員先從接口的角度考慮功能模塊的設(shè)計(jì),促進(jìn)功能模塊的接口設(shè)計(jì)的正確性與合理性,同時(shí)會(huì)激發(fā)開(kāi)發(fā)人員去解除各個(gè)功能模塊之間的耦合,這樣才能夠?qū)Ω鞴δ苣K進(jìn)行獨(dú)立的測(cè)試,形成高內(nèi)聚、低耦合的軟件設(shè)計(jì)與實(shí)現(xiàn)。從一定程度上說(shuō),編程就是設(shè)計(jì),測(cè)試驅(qū)動(dòng)開(kāi)發(fā)可以實(shí)現(xiàn)更好的設(shè)計(jì)。

  1.3 文檔作用

  測(cè)試驅(qū)動(dòng)開(kāi)發(fā)的第二個(gè)作用是提供精確的功能模塊使用說(shuō)明文檔。隨著測(cè)試驅(qū)動(dòng)開(kāi)發(fā)過(guò)程的不斷進(jìn)行,會(huì)建立起一套非常完整的測(cè)試用例集,該用例集精確的描述了各個(gè)功能模塊的使用方法,功能模塊的使用者通過(guò)測(cè)試用例可以準(zhǔn)確的查看功能模塊的接口及其使用方法,明確功能模塊需要的前置條件及執(zhí)行結(jié)果的后置條件,更好的理解模塊的功能和作用。從一定程度上說(shuō),源代碼就是文檔,測(cè)試代碼可以提供更準(zhǔn)確、可驗(yàn)證的模塊使用說(shuō)明文檔。

  1.4 測(cè)試作用

  測(cè)試驅(qū)動(dòng)開(kāi)發(fā)的第三個(gè)作用是測(cè)試,測(cè)試集是隨著開(kāi)發(fā)過(guò)程不斷建立起來(lái)的,且均是先編寫(xiě)測(cè)試代碼,后編寫(xiě)產(chǎn)品代碼,通過(guò)這套完整的可運(yùn)行的測(cè)試用例集,可以隨時(shí)對(duì)產(chǎn)品代碼運(yùn)行測(cè)試用例,對(duì)開(kāi)發(fā)過(guò)程中運(yùn)行的所有測(cè)試實(shí)現(xiàn)可重復(fù)的自動(dòng)化的運(yùn)行,因此從開(kāi)發(fā)人員角度考慮,可以認(rèn)為產(chǎn)品代碼的正確性與測(cè)試用例是否全部通過(guò)是等價(jià)的。同時(shí)開(kāi)發(fā)人員工作是否完成的標(biāo)志從編譯是否正確變成了測(cè)試用例是否全部通過(guò)。

  1.5 基礎(chǔ)設(shè)施作用

  一個(gè)優(yōu)秀的軟件架構(gòu)和軟件產(chǎn)品的產(chǎn)生,需要結(jié)合應(yīng)用領(lǐng)域不斷的進(jìn)行實(shí)踐、重構(gòu)、優(yōu)化,包括代碼級(jí)別的重構(gòu)、設(shè)計(jì)模式級(jí)別的重構(gòu)、領(lǐng)域模型的重構(gòu)及軟件架構(gòu)的重構(gòu)。對(duì)一個(gè)軟件架構(gòu)或產(chǎn)品不斷進(jìn)行不同級(jí)別的各種重構(gòu),勢(shì)必會(huì)對(duì)已經(jīng)可以正常工作的軟件代碼造成很大的影響,引入各種各樣的軟件Bug,這也是很多開(kāi)發(fā)人員不愿意或沒(méi)有勇氣對(duì)已有軟件進(jìn)行重構(gòu)或調(diào)整的原因。而測(cè)試驅(qū)動(dòng)開(kāi)發(fā)技術(shù)可以很好的解決這個(gè)問(wèn)題,將測(cè)試驅(qū)動(dòng)開(kāi)發(fā)產(chǎn)生的測(cè)試代碼作為軟件產(chǎn)品開(kāi)發(fā)的一個(gè)重要組成部分與基礎(chǔ)設(shè)施,一定程度上,軟件的正確性與測(cè)試是否全部通過(guò)是等價(jià)的。在重構(gòu)的過(guò)程中不斷進(jìn)行測(cè)試,如果因重構(gòu)引出問(wèn)題,測(cè)試結(jié)果會(huì)立刻顯示出來(lái),由于每一步的重構(gòu)動(dòng)作都是很小的一步,且剛剛進(jìn)行過(guò)修改,印象深刻,結(jié)合有問(wèn)題的測(cè)試用例,可以很快地定位問(wèn)題的原因,確保在不影響軟件正確性的前提下,軟件的各類(lèi)重構(gòu)能夠有序進(jìn)行。

  2 航天領(lǐng)域應(yīng)用實(shí)踐

  航天領(lǐng)域作為一個(gè)高風(fēng)險(xiǎn)的行業(yè),對(duì)應(yīng)用軟件的正確性與可靠性提出了更高的要求,要既能滿(mǎn)足航天工程所需的軟件需求及其變更,又要確保軟件的正確性與可靠性。測(cè)試驅(qū)動(dòng)開(kāi)發(fā)技術(shù)作為軟件開(kāi)發(fā)活動(dòng)中的一個(gè)優(yōu)秀實(shí)踐,可有效提高航天領(lǐng)域軟件產(chǎn)品的正確性與可靠性。

  2.1 工程實(shí)踐

  測(cè)試驅(qū)動(dòng)開(kāi)發(fā)的工程實(shí)踐包括學(xué)習(xí)測(cè)試框架、搭建測(cè)試環(huán)境、實(shí)施測(cè)試驅(qū)動(dòng)開(kāi)發(fā)等步驟。測(cè)試驅(qū)動(dòng)開(kāi)發(fā)的實(shí)踐原則是非常簡(jiǎn)單的,重要的是開(kāi)發(fā)人員要從思想上接受這種模式并通過(guò)不斷的訓(xùn)練,使測(cè)試驅(qū)動(dòng)開(kāi)發(fā)技術(shù)真正融入到日常的軟件開(kāi)發(fā)活動(dòng)中。

  2.2 學(xué)習(xí)測(cè)試框架

  要應(yīng)用測(cè)試驅(qū)動(dòng)開(kāi)發(fā)技術(shù),首先必須學(xué)習(xí)一些常用的測(cè)試框架及測(cè)試的方法。目前C++、Java、C#等主流的程序開(kāi)發(fā)語(yǔ)言都有優(yōu)秀且開(kāi)源的測(cè)試框架,如xUnit系列測(cè)試框架支持Java、C#、C++等語(yǔ)言的測(cè)試,GTest是一個(gè)支持C++語(yǔ)言的跨平臺(tái)的測(cè)試框架,提供了支持測(cè)試的各項(xiàng)功能。另外,還需要學(xué)習(xí)對(duì)測(cè)試框架的初始化、測(cè)試用例的建立與退出、支持各種數(shù)據(jù)類(lèi)型的聲明和斷言。當(dāng)然,測(cè)試框架也不是必須的,在沒(méi)有可直接使用的測(cè)試框架的條件下,自己也可以開(kāi)發(fā)一個(gè)簡(jiǎn)單測(cè)試環(huán)境,重要的還是測(cè)試驅(qū)動(dòng)開(kāi)發(fā)的思想。

  2.3 搭建測(cè)試環(huán)境

  原則上,測(cè)試代碼一般作為一個(gè)獨(dú)立的可運(yùn)行的測(cè)試項(xiàng)目,與產(chǎn)品代碼所在項(xiàng)目保持獨(dú)立。在真正的產(chǎn)品代碼開(kāi)發(fā)之前,先把測(cè)試項(xiàng)目運(yùn)行起來(lái),然后通過(guò)編寫(xiě)測(cè)試驅(qū)動(dòng)產(chǎn)品代碼的編寫(xiě)。測(cè)試代碼項(xiàng)目隨著產(chǎn)品代碼項(xiàng)目不斷發(fā)展,形成一套完整的測(cè)試集。

  2.4 實(shí)施測(cè)試驅(qū)動(dòng)開(kāi)發(fā)

  測(cè)試驅(qū)動(dòng)開(kāi)發(fā)的基本的實(shí)施步驟是,首先編寫(xiě)一個(gè)測(cè)試,由于它要運(yùn)行的功能還不存在,所以它會(huì)運(yùn)行失敗。然后,編寫(xiě)產(chǎn)品代碼使測(cè)試通過(guò)。每次編寫(xiě)的產(chǎn)品代碼只需要確保測(cè)試能夠通過(guò)。在切換到測(cè)試代碼的編寫(xiě),重復(fù)此過(guò)程。一般測(cè)試代碼與產(chǎn)品代碼的切換非常快,通過(guò)“編寫(xiě)測(cè)試代碼→運(yùn)行測(cè)試失敗→編寫(xiě)產(chǎn)品代碼→運(yùn)行測(cè)試成功→重構(gòu)”的循環(huán)模式,推進(jìn)軟件產(chǎn)品的開(kāi)發(fā)過(guò)程。

  2.5 訓(xùn)練方式

  要將測(cè)試驅(qū)動(dòng)開(kāi)發(fā)技術(shù)真正應(yīng)用于開(kāi)發(fā)實(shí)踐,使其成為軟件開(kāi)發(fā)人員開(kāi)發(fā)思想的一個(gè)必不可少的組成部分,需要進(jìn)行有效的訓(xùn)練和刻意的練習(xí),整個(gè)過(guò)程可分為三個(gè)階段:第一階段,強(qiáng)迫自己先寫(xiě)測(cè)試代碼,再寫(xiě)產(chǎn)品代碼;第二階段,在實(shí)踐中應(yīng)用,有時(shí)可能會(huì)無(wú)意識(shí)地轉(zhuǎn)換回傳統(tǒng)的軟件開(kāi)發(fā)流程,直接去編寫(xiě)產(chǎn)品代碼,在開(kāi)發(fā)過(guò)程中,當(dāng)意識(shí)到這段產(chǎn)品代碼還沒(méi)有編寫(xiě)測(cè)試時(shí),應(yīng)馬上停下來(lái),補(bǔ)充相應(yīng)的測(cè)試代碼,有意識(shí)的不斷訓(xùn)練;第三階段,會(huì)自覺(jué)的先編寫(xiě)測(cè)試代碼,再編寫(xiě)產(chǎn)品代碼,如果某一時(shí)刻直接去編寫(xiě)產(chǎn)品代碼,自己會(huì)覺(jué)得很不舒服,感覺(jué)缺少了什么東西或?qū)κ裁词虑椴环判模瑫?huì)立刻意識(shí)到應(yīng)該去編寫(xiě)測(cè)試代碼。到該階段,測(cè)試驅(qū)動(dòng)開(kāi)發(fā)的思想會(huì)真正融入到開(kāi)發(fā)人員的開(kāi)發(fā)思維中,形成一種自覺(jué)的開(kāi)發(fā)行為模式。

  2.6 效率問(wèn)題

  剛開(kāi)始接觸測(cè)試驅(qū)動(dòng)開(kāi)發(fā)的人員都會(huì)有編寫(xiě)測(cè)試會(huì)不會(huì)降低開(kāi)發(fā)效率的問(wèn)題。傳統(tǒng)的軟件開(kāi)發(fā)模式中,編碼與調(diào)試所耗費(fèi)開(kāi)發(fā)人員時(shí)間的比例一般為1∶3,調(diào)試會(huì)占用開(kāi)發(fā)人員大量的時(shí)間,耗費(fèi)開(kāi)發(fā)人員的精力。測(cè)試驅(qū)動(dòng)開(kāi)發(fā)技術(shù)會(huì)徹底改變這種傳統(tǒng)的工作模式,通過(guò)不斷編寫(xiě)測(cè)試用例、頻繁的運(yùn)行測(cè)試,幾乎不再需要進(jìn)行軟件調(diào)試的工作,即使需要調(diào)試,也會(huì)很快定位并解決問(wèn)題,因此測(cè)試驅(qū)動(dòng)開(kāi)發(fā)會(huì)很大地提高軟件開(kāi)發(fā)的效率。

  3 結(jié)語(yǔ)

  本文介紹了將測(cè)試驅(qū)動(dòng)開(kāi)發(fā)技術(shù)應(yīng)用于傳統(tǒng)的軟件開(kāi)發(fā)流程,并詳細(xì)介紹了測(cè)試驅(qū)動(dòng)開(kāi)發(fā)在航天工程領(lǐng)域的應(yīng)用實(shí)踐,應(yīng)用結(jié)果表明,測(cè)試驅(qū)動(dòng)開(kāi)發(fā)可以有效提高航天軟件的開(kāi)發(fā)效率,確保軟件的正確性與可靠性,提升軟件質(zhì)量,促進(jìn)航天軟件的產(chǎn)品化。

主站蜘蛛池模板: 高清无码中文字幕在线观看视频 | 丝袜美女自摸 | 日韩欧美亚洲精品综合在线 | 亚洲精品国产熟女久久久 | 免费成人高清在线视频 | 国产人成精品综合欧美成人 | 一本大道熟女人妻中文字幕在线 | 亚洲精品久久久久AV无码林星阑 | 久久这里只有精品1 | 中文字幕国产视频 | 久久天堂视频 | 蜜芽国产在线精品欧美 | 91精品欧美一区二区三区 | 久久久99精品成人片中文 | 老熟女毛茸茸浓毛 | 熟女人妻-蜜臀AV-首页 | 一本道在线综合久久88 | 欧美肥胖女人bbwbbw视频 | 秋霞鲁丝片Av无码 | 国产AV亚洲精品久久久久软件 | np高h肉辣一女多男 no视频在线观看 | 色欲久久99精品久久久久久AV | 99re热精品视频国产免费 | 欧美AAAA片免费播放观看 | 国产精品久久久久久影院 | 久久久久国产一级毛片高清片 | 亚州AV中文无码乱人伦在线 | 最新影音先锋av资源台 | av亚洲2017色天堂 | 亚洲人美女肛交真人全程 | 中文字幕A片视频一区二区 中文字幕AV在线一二三区 | 亚洲黄色高清视频 | 果冻传媒最新视频在线观看 | 久久综合色一综合色88 | 内射一区二区精品视频在线观看 | 一区二区三区高清视频 | 日韩男明星 | xfplay 无码专区 亚洲 | 国产精品7777人妻精品冫 | 一级做a爰片久久毛片潮喷动漫 | gogogo免费视频观看 |