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