嵌入式軟件測(cè)試流程,一款好的軟件,最為主要的就是測(cè)試了,接下來(lái)就隨小編了解下IT行業(yè)資深人士,嵌入式開(kāi)發(fā)和軟件開(kāi)發(fā),軟件測(cè)試什么關(guān)系??,嵌入式軟件測(cè)試技巧有哪些???
1.IT行業(yè)資深人士,嵌入式開(kāi)發(fā)和軟件開(kāi)發(fā),軟件測(cè)試什么關(guān)系??
軟件開(kāi)發(fā)和軟件測(cè)試是大的分類(lèi),嵌入式是軟件開(kāi)發(fā)的其中一個(gè)小分類(lèi)軟件開(kāi)發(fā)就是編程序,實(shí)現(xiàn)計(jì)算機(jī)的使用,比如會(huì)計(jì)軟件、游戲等而嵌入式主要針對(duì)受工業(yè)單片機(jī)控制的電視、洗衣機(jī)等智能家電以及手機(jī)、機(jī)頂盒等設(shè)備的編程,也是為了能使用設(shè)備而軟件測(cè)試顧名思義就是用各種儀器、手段對(duì)開(kāi)發(fā)的軟件有效性進(jìn)行驗(yàn)證,查找問(wèn)題,類(lèi)似于產(chǎn)品生產(chǎn)的質(zhì)量檢驗(yàn)工作。樓上有一點(diǎn)描述的有問(wèn)題,軟件測(cè)試可以在開(kāi)發(fā)過(guò)程中進(jìn)行,同時(shí)也要在開(kāi)發(fā)完成形成產(chǎn)品時(shí)進(jìn)行,也就是常說(shuō)的單元測(cè)試、模塊測(cè)試和系統(tǒng)測(cè)試。
2.嵌入式軟件測(cè)試技巧有哪些?
嵌入式軟件開(kāi)發(fā)過(guò)程中,一般來(lái)說(shuō),花在測(cè)試和花在編碼的時(shí)間比為3:1(實(shí)際上可能更多)。這個(gè)比例隨著你的編程和測(cè)試水平的提高而不斷下降,但不論怎樣,軟件測(cè)試對(duì)一般人來(lái)講很重要。很多年前,一位開(kāi)發(fā)人員為了在對(duì)嵌入式有更深層次的理解,向Oracle詢(xún)問(wèn)了這樣的一個(gè)問(wèn)題:我怎么才能知道并懂得我的系統(tǒng)到底在干些什么呢? Oracle面對(duì)這個(gè)問(wèn)題有些吃驚,因?yàn)樵诋?dāng)時(shí)沒(méi)有人這么問(wèn)過(guò),而同時(shí)代的嵌入式開(kāi)發(fā)人員問(wèn)的最多的大都圍繞“我怎么才能使程序跑的更快”、“什么編譯器*”等膚淺的問(wèn)題。所以,面對(duì)這個(gè)不同尋常卻異乎成熟的問(wèn)題,Oracle感到欣喜并認(rèn)真回復(fù)了他:你的問(wèn)題很有深度很成熟,因?yàn)橹挥胁粩嗟厝ド钊肜斫獠庞锌赡懿粩嗟靥岣咚?。并且Oracle為了鼓勵(lì)這位執(zhí)著的程序員,把10條關(guān)于嵌入式軟件開(kāi)發(fā)測(cè)試的秘訣告訴了他: 1.懂得使用工具2.盡早發(fā)現(xiàn)內(nèi)存問(wèn)題3.深入理解代碼優(yōu)化4.不要讓自己大海撈針5.重現(xiàn)并隔離問(wèn)題6.以退為進(jìn)7.確定測(cè)試的完整性8.提高代碼質(zhì)量意味著節(jié)省時(shí)間9.發(fā)現(xiàn)它,分析它,解決它10.利用初學(xué)者的思維 這十條秘訣在業(yè)界廣為流傳,使很多人受益。本文圍繞這十條秘訣展開(kāi)論述。 1.懂得使用工具 通常嵌入式系統(tǒng)對(duì)可靠性的要求比較高。嵌入式系統(tǒng)安全性的失效可能會(huì)導(dǎo)致災(zāi)難性的后果,即使是非安全性系統(tǒng),由于大批量生產(chǎn)也會(huì)導(dǎo)致嚴(yán)重的經(jīng)濟(jì)損失。這就要求對(duì)嵌入式系統(tǒng),包括嵌入式軟件進(jìn)行嚴(yán)格的測(cè)試、確認(rèn)和驗(yàn)證。隨著越來(lái)越多的領(lǐng)域使用軟件和微處理器控制各種嵌入式設(shè)備,對(duì)門(mén)益復(fù)雜的嵌入式軟件進(jìn)行快速有效的測(cè)試愈加顯得重要。 就象修車(chē)需要工具一樣,好的程序員應(yīng)該能夠熟練運(yùn)用各種軟件工具。不同的工具,有不同的使用范圍,有不同的功能。使用這些工具,你可以看到你的系統(tǒng)在干些什么,它又占用什么資源,它到底和哪些外界的東西打交道。讓你郁悶好幾天的問(wèn)題可能通過(guò)某個(gè)工具就能輕松搞定,可惜你就是不知道。那么為什么那么多的人總是在折騰個(gè)半死之后才想到要用測(cè)試工具呢?原因很多,主要有兩個(gè)。一個(gè)是害怕,另一個(gè)是惰性。害怕是因?yàn)榧尤霚y(cè)試用具或測(cè)試模塊到代碼需要技巧同時(shí)有可能引入新的錯(cuò)誤,所以他們總喜歡寄希望于通過(guò)不斷地修改重編譯代碼來(lái)消除bug,結(jié)果卻無(wú)濟(jì)于事。懶惰是因?yàn)樗麄兞?xí)慣了使用printf之類(lèi)的簡(jiǎn)單測(cè)試手段。下面來(lái)介紹一些嵌入式常用的測(cè)試工具。.源碼級(jí)調(diào)試器[Source-level Debugger] 這種調(diào)試器一般提供單步或多步調(diào)試、斷點(diǎn)設(shè)置、內(nèi)存檢測(cè)、變量查看等功能,是嵌入式調(diào)試最根本有效的調(diào)試方法。比如VxWorks TornadoII提供的gdb就屬于這一種。.簡(jiǎn)單實(shí)用的打印顯示工具[printf] printf或其它類(lèi)似的打印顯示工具估計(jì)是最靈活最簡(jiǎn)單的調(diào)試工具。打印代碼執(zhí)行過(guò)程中的各種變量可以讓你知道代碼執(zhí)行的情況。但是,printf對(duì)正常的代碼執(zhí)行干擾比較大(一般printf占用CPU比較長(zhǎng)的時(shí)間),需要慎重使用,*設(shè)置打印開(kāi)關(guān)來(lái)控制打印。.ICE或JTAG調(diào)試器[In-circuit Emulator] ICE是用來(lái)仿真CPU核心的設(shè)備,它可以在不干擾運(yùn)算器的正常運(yùn)行情況下,實(shí)時(shí)的檢測(cè)CPU的內(nèi)部工作情況。像桌面調(diào)試軟件所提供的:復(fù)雜的條件斷點(diǎn)、先進(jìn)的實(shí)時(shí)跟蹤、性能分析和端口分析這些功能,它也都能提供。ICE一般都有一個(gè)比較特殊的CPU,稱(chēng)為外合(bond-out)CPU。這是一種被打開(kāi)了封裝的CPU,并且通過(guò)特殊的連接,可以訪問(wèn)到CPU的內(nèi)部信號(hào),而這些信號(hào),在CPU被封裝時(shí),是沒(méi)法“看到”的。當(dāng)和工作站上強(qiáng)大的調(diào)試軟件聯(lián)合使用時(shí),ICE就能提供你所能找到的最全面的調(diào)試功能。但I(xiàn)CE同樣有一些缺點(diǎn):昂貴;不能全速工作;同樣,并不是所有的CPU都可以作為外合CPU的,從另一個(gè)角度說(shuō),這些外合CPU也不大可能及時(shí)的被新出的CPU所更換。JTAG(Joint Test Action Group)雖然它最初開(kāi)發(fā)出來(lái)是為了監(jiān)測(cè)IC和電路連接,但是這種串行接口擴(kuò)展了用途,包括對(duì)調(diào)試的支持。AD公司為Blackfin設(shè)計(jì)的Visual Dsp++就支持高速的 JTAG調(diào)試。
通過(guò)上文中對(duì)IT行業(yè)資深人士,嵌入式開(kāi)發(fā)和軟件開(kāi)發(fā),軟件測(cè)試什么關(guān)系??,嵌入式軟件測(cè)試技巧有哪些???的了解,還需其他了解,請(qǐng)聯(lián)系客服。