<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 通過(guò)測(cè)試避免嵌入式軟件缺陷

          通過(guò)測(cè)試避免嵌入式軟件缺陷

          作者: 時(shí)間:2017-03-23 來(lái)源:網(wǎng)絡(luò) 收藏
          當(dāng)表達(dá)一個(gè)要求時(shí),商務(wù)人員的期望是實(shí)現(xiàn)只要能夠正常工作。但對(duì)于最終產(chǎn)品是否真正按料想的方式工作,在商務(wù)或軟件歷史上就幾乎沒(méi)有達(dá)成過(guò)一致意見(jiàn)。從工程角度看,與性能、可靠性、安全性等相關(guān)的任何問(wèn)題如果不能滿足要求就都應(yīng)該被視作缺陷。而從商務(wù)角度看,人們認(rèn)為避免這些問(wèn)題本身就是所表達(dá)的要求的一部分。

          商務(wù)期望與在開(kāi)發(fā)和測(cè)試過(guò)程中的要求演變之間的這種隔閡原因比字面意義上要深刻得多。這是與傳統(tǒng)組織文化相關(guān)的典型癥狀,即工程師認(rèn)為商務(wù)人員不理解軟件開(kāi)發(fā)過(guò)程的復(fù)雜性。與此同時(shí),組織的商務(wù)側(cè)人員認(rèn)為工程師患有聰明開(kāi)發(fā)人員綜合病癥(SDS)——一種病態(tài)失調(diào),即工程師所做的都是他們認(rèn)為最好的,因?yàn)樗麄兟斆髀铩?

          實(shí)現(xiàn)策略

          那么解決方案是什么?一個(gè)組織如何在商務(wù)目標(biāo)和開(kāi)發(fā)過(guò)程之間架起溝通的橋梁?策略是確保工程師提供滿足期望值的軟件的關(guān)鍵,并且將品質(zhì)意識(shí)根植于軟件開(kāi)發(fā)流程。通過(guò)實(shí)現(xiàn)策略驅(qū)動(dòng)的開(kāi)發(fā)方法,組織就可以在從創(chuàng)建到支持的整個(gè)軟件開(kāi)發(fā)周期內(nèi)降低風(fēng)險(xiǎn)、提高產(chǎn)能并降低成本。策略驅(qū)動(dòng)的開(kāi)發(fā)基礎(chǔ)是三個(gè)核心行動(dòng):

          1. 定義策略形式的期望值,并以此指導(dǎo)工程師如何開(kāi)發(fā)和測(cè)試軟件

          2. 在驅(qū)動(dòng)這些策略的商務(wù)目標(biāo)方面培訓(xùn)工程師

          3. 在適當(dāng)?shù)幕A(chǔ)設(shè)施幫助下自動(dòng)監(jiān)視策略的堅(jiān)持力

          清晰地定義可實(shí)施和可測(cè)量的策略可形成前后一致性和很高的精度,確保用文字定義的嚴(yán)格質(zhì)量過(guò)程能夠貫徹實(shí)行。此外,為了高效地達(dá)到清晰性和可測(cè)量性,策略增強(qiáng)自動(dòng)化很有必要。

          指導(dǎo)方針還是策略

          如果你詢問(wèn)一個(gè)組織的開(kāi)發(fā)策略,許多人會(huì)很快指向他們的最佳實(shí)踐和指導(dǎo)方針。但指導(dǎo)方針和策略是不可互換的兩個(gè)概念。指導(dǎo)方針描述建議的行為,而策略描述期望的行為。所有策略都有以下三個(gè)組成部分:

          ● 策略必須是自動(dòng)可實(shí)施的:人工檢查工程師是否遵循策略是不可行的。必須使用某種自動(dòng)機(jī)制來(lái)檢查違例并加以提醒。

          ● 策略違例提醒必須有針對(duì)性:只有所編寫的代碼違反策略的工程師才應(yīng)被提醒。這樣,符合策略的工程師可以繼續(xù)不中斷地工作。

          ● 必須制定糾正策略違例的自動(dòng)化工作流程:應(yīng)該定義工程師發(fā)現(xiàn)和處理策略違例的方法并實(shí)現(xiàn)自動(dòng)化。

          對(duì)嵌入式軟件組織來(lái)說(shuō)好消息是,有現(xiàn)成的技術(shù)可用來(lái)自動(dòng)執(zhí)行策略,如果執(zhí)行正確的話,可以改善質(zhì)量、提高產(chǎn)能、降低開(kāi)發(fā)成本和風(fēng)險(xiǎn)。

          策略與過(guò)程的匹配

          “胡佛水壩必須滴水不漏”是一個(gè)合理的策略,它以平實(shí)明確的語(yǔ)言確立了一個(gè)組織的目標(biāo)?,F(xiàn)在考慮“每天檢查一次漏水情況”的策略。表面上,這個(gè)策略似乎可以推動(dòng)組織朝目標(biāo)邁進(jìn),但更仔細(xì)的檢查可以暴露出在許多嵌入式開(kāi)發(fā)商店中流行的缺點(diǎn)類型。

          這種策略達(dá)不到預(yù)期效果的地方是它允許問(wèn)題先發(fā)生。它不是支持第一個(gè)策略的目標(biāo),而只是檢查與不能滿足在“胡佛水壩必須滴水不漏”中確定的組織目標(biāo)相關(guān)的癥狀。遺憾的是,許多開(kāi)發(fā)測(cè)試實(shí)踐都遵循這種治標(biāo)不治本的模型。

          一個(gè)好得多的策略是“每天加強(qiáng)水壩的最弱點(diǎn)”。通過(guò)匹配策略和過(guò)程來(lái)滿足想要的商務(wù)目標(biāo),你可以創(chuàng)建一個(gè)框架來(lái)確保并保持嵌入式軟件的強(qiáng)度、安全性和可靠性。

          圖1:靜態(tài)增強(qiáng)編碼策略的開(kāi)發(fā)測(cè)試平臺(tái)。
          圖1:靜態(tài)增強(qiáng)編碼策略的開(kāi)發(fā)測(cè)試平臺(tái)。

          策略與開(kāi)發(fā)測(cè)試

          開(kāi)發(fā)測(cè)試是在整個(gè)開(kāi)發(fā)過(guò)程中對(duì)軟件測(cè)試行為的持續(xù)整合。它可以減少技術(shù)過(guò)失,防止缺陷生成,這是在應(yīng)用生命期內(nèi)提高效率和降低風(fēng)險(xiǎn)的關(guān)鍵。開(kāi)發(fā)測(cè)試平臺(tái)是實(shí)現(xiàn)開(kāi)發(fā)測(cè)試實(shí)踐一致性應(yīng)用自動(dòng)化的基礎(chǔ)設(shè)施,這些實(shí)踐活動(dòng)包括靜態(tài)分析、單元測(cè)試、對(duì)端檢查、覆蓋率分析、運(yùn)行時(shí)錯(cuò)誤檢測(cè),以及精確和客觀地測(cè)量產(chǎn)能和應(yīng)用質(zhì)量。

          每個(gè)組織可能發(fā)現(xiàn)不同的開(kāi)發(fā)測(cè)試活動(dòng)在特定環(huán)境下更有價(jià)值。策略驅(qū)動(dòng)的開(kāi)發(fā)測(cè)試可以確保這些開(kāi)發(fā)測(cè)試活動(dòng)以價(jià)值集中的、風(fēng)險(xiǎn)明確的、可核查的方式得到正確實(shí)施。開(kāi)發(fā)測(cè)試平臺(tái)接受策略形式的輸入,并將它們翻譯成一套定義一個(gè)或更多過(guò)程的規(guī)則。這種平臺(tái)使該過(guò)程自動(dòng)化、跟蹤策略的持續(xù)性并驗(yàn)證結(jié)果是否符合期望值。也就是說(shuō),開(kāi)發(fā)測(cè)試平臺(tái)可以讓商務(wù)領(lǐng)導(dǎo)更好地控制開(kāi)發(fā)過(guò)程,并更好地觀察過(guò)程改變的效果。

          本文小結(jié)

          值得注意的是,開(kāi)發(fā)測(cè)試并不能替代品質(zhì)管理(QA),而是作為確認(rèn)軟件功能是否正確實(shí)現(xiàn)了最初意圖的一個(gè)過(guò)程。開(kāi)發(fā)測(cè)試也不只是測(cè)試過(guò)程的“左移”。開(kāi)發(fā)測(cè)試的出現(xiàn)代表了與業(yè)界組織目前采用的更多反復(fù)、更為靈活的開(kāi)發(fā)過(guò)程的一致性。開(kāi)發(fā)測(cè)試是軟件開(kāi)發(fā)行為的一種模型,如果能夠貫徹執(zhí)行,將形成一種軟件缺陷無(wú)法生存的環(huán)境。



          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();