<ruby id="h6500"><table id="h6500"></table></ruby>
    1. <ruby id="h6500"><video id="h6500"></video></ruby>
          1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>
            • 軟件測試技術(shù)
            • 軟件測試博客
            • 軟件測試視頻
            • 開(kāi)源軟件測試技術(shù)
            • 軟件測試論壇
            • 軟件測試沙龍
            • 軟件測試資料下載
            • 軟件測試雜志
            • 軟件測試人才招聘
              暫時(shí)沒(méi)有公告

            字號: | 推薦給好友 上一篇 | 下一篇

            嵌入式軟件測試的9大秘訣

            發(fā)布: 2010-9-28 09:41 | 作者: webmaster | 來(lái)源: 本站原創(chuàng ) | 查看: 140次 | 進(jìn)入軟件測試論壇討論

            領(lǐng)測軟件測試網(wǎng)

              很多嵌入式應用帶有某種形式的圖形用戶(hù)界面進(jìn)行交互,有些系統性能測試足根掘用戶(hù)輸入響應時(shí)間進(jìn)行的。GUI測試工具可以作為腳本工具有開(kāi)發(fā)環(huán)境中運行測試用例,其功能包括對操作的記錄和回放、抓取屏幕顯示供以后分析和比較、設置和管理測試過(guò)程(Rational公司的robotMercury的Loadrunner工具是杰出的代表)。很多嵌入式設備沒(méi)有GUI,但常?梢詫η度胧皆O備進(jìn)行插裝來(lái)運行GUI測試腳本,雖然這種方式可能要求對被測代碼進(jìn)行更改,但是節省了功能測試回歸測試的時(shí)間。

              .自制工具[Home-made tester]

              在嵌入式應用中,有時(shí)候為了特定的目的,需要自行編寫(xiě)一些工具來(lái)達到某種測試目的。本人曾經(jīng)編寫(xiě)的視頻流錄顯工具在測試視頻會(huì )議數據流向和變化上幫了大忙,幫公司找到了幾個(gè)隱藏很深的bug。

              2.盡早發(fā)現內存問(wèn)題

              內存問(wèn)題危害很大,不容易排查,主要有三種類(lèi)型:內存泄露、內存碎片和內存崩潰。對于內存問(wèn)題態(tài)度必須要明確,那就是早發(fā)現早“治療”。在軟件設計中,內存泄露的“名氣”最大,主要由于不斷分配的內存無(wú)法及時(shí)地被釋放,久而久之,系統的內存耗盡。即使細心的編程老手有時(shí)后也會(huì )遭遇內存泄露問(wèn)題。有測試過(guò)內存泄露的朋友估計都有深刻地體驗,那就是內存泄露問(wèn)題一般隱藏很深,很難通過(guò)代碼閱讀來(lái)發(fā)現。有些內存泄露甚至可能出現在庫當中。有可能這本身是庫中的bug,也有可能是因為程序員沒(méi)有正確理解它們的接口說(shuō)明文檔造成錯用。

              在很多時(shí)候,大多數的內存泄露問(wèn)題無(wú)法探測,但可能表現為隨機的故障。程序員們往往會(huì )把這種現象怪罪于硬件問(wèn)題。如果用戶(hù)對系統穩定性不是很高,那么重啟系統問(wèn)題也不大;但,如果用戶(hù)對系統穩定很高,那么這種故障就有可能使用戶(hù)對產(chǎn)品失去信心,同時(shí)也意味著(zhù)你的項目是個(gè)失敗的項目。由于內存泄露危害巨大,現在已經(jīng)有許多工具來(lái)解決這個(gè)問(wèn)題。這些工具通過(guò)查找沒(méi)有引用或重復使用的代碼塊、垃圾內存收集、庫跟蹤等技術(shù)來(lái)發(fā)現內存泄露的問(wèn)題。每個(gè)工具都有利有弊,不過(guò)總的來(lái)說(shuō),用要比不用好?傊,負責的開(kāi)發(fā)人員應該去測試內存泄露的問(wèn)題,做到防患于未然。

              內存碎片比內存泄露隱藏還要深。隨著(zhù)內存的不斷分配并釋放,大塊內存不斷分解為小塊內存,從而形成碎片,久而久之,當需要申請大塊內存是,有可能就會(huì )失敗。如果系統內存夠大,那么堅持的時(shí)間會(huì )長(cháng)一些,但最終還是逃不出分配失敗的厄運。在使用動(dòng)態(tài)分配的系統中,內存碎片經(jīng)常發(fā)生。目前,解決這個(gè)問(wèn)題最效的方法就是使用工具通過(guò)顯示系統中內存的使用情況來(lái)發(fā)現誰(shuí)是導致內存碎片的罪魁禍首,然后改進(jìn)相應的部分。

              由于動(dòng)態(tài)內存管理的種種問(wèn)題,在嵌入式應用中,很多公司干脆就禁用malloc/free的以絕后患。

              內存崩潰是內存使用最嚴重的結果,主要原因有數組訪(fǎng)問(wèn)越界、寫(xiě)已經(jīng)釋放的內存、指針計算錯誤、訪(fǎng)問(wèn)堆棧地址越界等等。這種內存崩潰造成系統故障是隨機的,而且很難查找,目前提供用于排查的工具也很少。

              總之,如果要使用內存管理單元的話(huà),必須要小心,并嚴格遵守它們的使用規則,比如誰(shuí)分配誰(shuí)釋放。

              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)閉等等。

            延伸閱讀

            文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/

            43/4<1234>

            關(guān)于領(lǐng)測軟件測試網(wǎng) | 領(lǐng)測軟件測試網(wǎng)合作伙伴 | 廣告服務(wù) | 投稿指南 | 聯(lián)系我們 | 網(wǎng)站地圖 | 友情鏈接
            版權所有(C) 2003-2010 TestAge(領(lǐng)測軟件測試網(wǎng))|領(lǐng)測國際科技(北京)有限公司|軟件測試工程師培訓網(wǎng) All Rights Reserved
            北京市海淀區中關(guān)村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
            技術(shù)支持和業(yè)務(wù)聯(lián)系:info@testage.com.cn 電話(huà):010-51297073

            軟件測試 | 領(lǐng)測國際ISTQBISTQB官網(wǎng)TMMiTMMi認證國際軟件測試工程師認證領(lǐng)測軟件測試網(wǎng)

            老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月
              <ruby id="h6500"><table id="h6500"></table></ruby>
              1. <ruby id="h6500"><video id="h6500"></video></ruby>
                    1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>