3.深入理解代碼優化
講到系統穩定性,人們更多地會想到實時性和速度,因為代碼效率對嵌入式系統來說太重要了。知道怎么優化代碼是每個嵌入式軟件開發人員必須具備的技能。就象女孩子減肥一樣,起碼知道她哪個地方最需要減,才能去購買減肥藥或器材來減掉它?梢,代碼優化的前提是找到真正需要優化的地方,然后對癥下藥,優化相應部分的代碼。前面提到的profile(性能分析工具,一些功能齊全IDE都提供這種內置的工具)能夠記錄各種情況比如各個任務的CPU占用率、各個任務的優先級是否分配妥當、某個數據被拷貝了多少次、訪問磁盤多少次、是否調用了網絡收發的程序、測試代碼是否已經關閉等等。
但是,profile工具在分析實時系統性能方面還是有不夠的地方。一方面,人們使用profile工具往往是在系統出現問題即CPU耗盡之后,而profile工具本身對CPU占用較大,所以profile對這種情況很可能不起作用。根據Heisenberg效應,任何測試手段或多或少都會改變系統運行,這個對profiler同樣適用!
總之,提高運行效率的前提是你必須要知道CPU到底干了些什么干的怎么樣。
LOGISCOPE 是一組嵌入式軟件測試工具集。它貫穿于軟件開發、代碼評審、單元/集成測試、系統測試、以及軟件維護階段。它面向源代碼進行工作。LOGISCOPE 針對編碼、測試和維護。因此,LOGISCOPE 的重點是幫助代碼評審(Review )和動態覆蓋測試(Testing )。
LOGISCOPE對軟件的分析,采用基于國際間使用的度量方法(Halstead、McCabe等)的質量模型,以及從多家公司收集的編程規則集,可以從軟件的編程規則,靜態特征和動態測試覆蓋等多個方面,量化地定義質量模型,并檢查、評估軟件質量。
LOGISCOPE 在開發階段,查找可尋找潛在的錯誤。
在代碼評審階段,LOGISCOPE 定位那些具有80%錯誤的程序模塊。
通過對未被測試代碼的定位,LOGISCOPE 幫助找到隱藏在未測試代碼中的缺陷。
項目領導和質量工程師用LOGISCOPE 定期地檢查整個軟件的質量。
在各個階段用LOGISCOPE ,改進軟件工程的實踐,訓練程序員的編寫良好的代碼和測試活動,確保系統易于維護,減少風險。
在有合同關系時,合同方可以用LOGISCOPE 明確定義驗收時質量等級和執行測試。承制方可以用LOGISCOPE 演示其軟件的質量。
LOGISCOPE 獲取ISO/IEC9126 定義的"Quality Characteristics ";
LOGISCOPE 為ISO-9001提供需求(test acceptance criteria and qulity records );
LOGISCOPE 為開發者提供SEI/CMM在第2 級(Repeatable )所要求的軟件質量跟蹤等關鍵實踐的要求,推進開發組織盡快達到SEI/SMM 的3 級。
文章來源于領測軟件測試網 http://www.kjueaiud.com/