新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 通過測試避免嵌入式軟件缺陷

        通過測試避免嵌入式軟件缺陷

        作者: 時間:2017-03-23 來源:網絡 收藏
        當表達一個要求時,商務人員的期望是實現只要能夠正常工作。但對于最終產品是否真正按料想的方式工作,在商務或軟件歷史上就幾乎沒有達成過一致意見。從工程角度看,與性能、可靠性、安全性等相關的任何問題如果不能滿足要求就都應該被視作缺陷。而從商務角度看,人們認為避免這些問題本身就是所表達的要求的一部分。

        商務期望與在開發和測試過程中的要求演變之間的這種隔閡原因比字面意義上要深刻得多。這是與傳統組織文化相關的典型癥狀,即工程師認為商務人員不理解軟件開發過程的復雜性。與此同時,組織的商務側人員認為工程師患有聰明開發人員綜合病癥(SDS)——一種病態失調,即工程師所做的都是他們認為最好的,因為他們聰明嘛。

        實現策略

        那么解決方案是什么?一個組織如何在商務目標和開發過程之間架起溝通的橋梁?策略是確保工程師提供滿足期望值的軟件的關鍵,并且將品質意識根植于軟件開發流程。通過實現策略驅動的開發方法,組織就可以在從創建到支持的整個軟件開發周期內降低風險、提高產能并降低成本。策略驅動的開發基礎是三個核心行動:

        1. 定義策略形式的期望值,并以此指導工程師如何開發和測試軟件

        2. 在驅動這些策略的商務目標方面培訓工程師

        3. 在適當的基礎設施幫助下自動監視策略的堅持力

        清晰地定義可實施和可測量的策略可形成前后一致性和很高的精度,確保用文字定義的嚴格質量過程能夠貫徹實行。此外,為了高效地達到清晰性和可測量性,策略增強自動化很有必要。

        指導方針還是策略

        如果你詢問一個組織的開發策略,許多人會很快指向他們的最佳實踐和指導方針。但指導方針和策略是不可互換的兩個概念。指導方針描述建議的行為,而策略描述期望的行為。所有策略都有以下三個組成部分:

        ● 策略必須是自動可實施的:人工檢查工程師是否遵循策略是不可行的。必須使用某種自動機制來檢查違例并加以提醒。

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

        ● 必須制定糾正策略違例的自動化工作流程:應該定義工程師發現和處理策略違例的方法并實現自動化。

        嵌入式軟件組織來說好消息是,有現成的技術可用來自動執行策略,如果執行正確的話,可以改善質量、提高產能、降低開發成本和風險。

        策略與過程的匹配

        “胡佛水壩必須滴水不漏”是一個合理的策略,它以平實明確的語言確立了一個組織的目標。現在考慮“每天檢查一次漏水情況”的策略。表面上,這個策略似乎可以推動組織朝目標邁進,但更仔細的檢查可以暴露出在許多嵌入式開發商店中流行的缺點類型。

        這種策略達不到預期效果的地方是它允許問題先發生。它不是支持第一個策略的目標,而只是檢查與不能滿足在“胡佛水壩必須滴水不漏”中確定的組織目標相關的癥狀。遺憾的是,許多開發測試實踐都遵循這種治標不治本的模型。

        一個好得多的策略是“每天加強水壩的最弱點”。通過匹配策略和過程來滿足想要的商務目標,你可以創建一個框架來確保并保持嵌入式軟件的強度、安全性和可靠性。

        圖1:靜態增強編碼策略的開發測試平臺。
        圖1:靜態增強編碼策略的開發測試平臺。

        策略與開發測試

        開發測試是在整個開發過程中對軟件測試行為的持續整合。它可以減少技術過失,防止缺陷生成,這是在應用生命期內提高效率和降低風險的關鍵。開發測試平臺是實現開發測試實踐一致性應用自動化的基礎設施,這些實踐活動包括靜態分析、單元測試、對端檢查、覆蓋率分析、運行時錯誤檢測,以及精確和客觀地測量產能和應用質量。

        每個組織可能發現不同的開發測試活動在特定環境下更有價值。策略驅動的開發測試可以確保這些開發測試活動以價值集中的、風險明確的、可核查的方式得到正確實施。開發測試平臺接受策略形式的輸入,并將它們翻譯成一套定義一個或更多過程的規則。這種平臺使該過程自動化、跟蹤策略的持續性并驗證結果是否符合期望值。也就是說,開發測試平臺可以讓商務領導更好地控制開發過程,并更好地觀察過程改變的效果。

        本文小結

        值得注意的是,開發測試并不能替代品質管理(QA),而是作為確認軟件功能是否正確實現了最初意圖的一個過程。開發測試也不只是測試過程的“左移”。開發測試的出現代表了與業界組織目前采用的更多反復、更為靈活的開發過程的一致性。開發測試是軟件開發行為的一種模型,如果能夠貫徹執行,將形成一種軟件缺陷無法生存的環境。



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 海伦市| 东宁县| 湘乡市| 铜山县| 云南省| 临泽县| 泸州市| 抚顺县| 皋兰县| 专栏| 漠河县| 六枝特区| 观塘区| 竹溪县| 渑池县| 什邡市| 花垣县| 上饶市| 修武县| 澄迈县| 仲巴县| 宁强县| 厦门市| 锡林郭勒盟| 武城县| 房产| 宜君县| 湖南省| 南川市| 鄂尔多斯市| 喜德县| 安义县| 石渠县| 营口市| 吉安县| 柏乡县| 梅河口市| 嘉峪关市| 荆门市| 黔江区| 昆明市|