新四季網

基於覆蓋率測試的android系統裁剪方法

2023-05-30 07:00:26

基於覆蓋率測試的android系統裁剪方法
【專利摘要】本發明涉及android系統優化技術,其公開了一種基於覆蓋率測試的android系統裁剪方法,解決android系統裁剪對軟體研發人員要求高、裁剪難度大的問題。該方法包括以下步驟:a.依據項目需求對android中的linux內核層進行裁剪;b.在linux內核裁剪的基礎上,進行android系統軟體研發;c.對開發完成的系統軟體進行插樁;d.以用戶使用的角度,對產品進行全功能測試;e.進行測試覆蓋分析;f.進行android裁剪,包括:分析解讀未執行到的文件,了解相應功能,後將其刪除;根據解讀情況,修改android系統啟動項,優化啟動過程,提升啟動速度;g.即對裁剪後的產品軟體,以用戶的角度進行全功能測試驗證。本發明適用於對android系統進行優化。
【專利說明】基於覆蓋率測試的android系統裁剪方法
【技術領域】
[0001]本發明涉及android系統優化技術,具體涉及一種基於覆蓋率測試的android系統裁剪方法。
【背景技術】
[0002]隨著計算機及軟體技術的發展,消費電子產品逐步從功能性轉化為智能型。Android作業系統以其開放、易用的特徵,越來越多的被智能消費電子產品所採用。Android系統的產生,主要源於智慧型手機的需求,因此系統帶有很鮮明的手機特徵,如電話、簡訊、藍牙等功能均為系統內置功能,系統也相對複雜,然而,在以家電產品智能化進程中,存在與手機完全不同的需求,如家電產品主要功能以控制、交互、數據採集為主,不需要電話、簡訊等功能,要求系統啟動速度快等,因此,要滿足智能家電產品需求,需要對android系統進行定製裁剪。
[0003]Android是一種基於Linux的自由及開放原始碼的作業系統,其架構總體可分為四層,從高層到低層分別是應用程式層、應用程式框架層、系統運行庫層和Linux內核層。Android系統的裁剪,是一項非常專業的工作,針對某一簡單功能的android系統裁剪,往往都要涉及到android系統的四個層級,因此需要軟體研發人員對android系統架構及其實現細節均有深入的了解,而由於android系統的發展迅猛、版本更新換代頻繁,導致android系統裁剪成為了一項難度非常高的一項任務。

【發明內容】

[0004]本發明所要解決的技術問題是:提出一種基於覆蓋率測試的android系統裁剪方法,解決android系統裁剪對軟體研發人員要求高、裁剪難度大的問題。
[0005]本發明解決上述技術問題所採用的方案是:
[0006]基於覆蓋率測試的android系統裁剪方法,包括以下步驟:
[0007]a.依據項目需求對android中的Iinux內核層進行裁剪;
[0008]b.在Iinux內核裁剪的基礎上,進行android系統軟體研發,實現產品需求的全部功能;
[0009]c.對開發完成的系統軟體進行插樁,保證樁語句覆蓋到系統中的每個函數或文件,後對插樁後的軟體進行編譯、軟硬體集成;
[0010]d.以用戶使用的角度,對產品進行全功能測試;
[0011]e.進行測試覆蓋分析,根據樁語句執行情況,進行語句、函數、文件的運行情況統計,找出軟體運行過程中未執行到文件;
[0012]f.進行android裁剪,包括:分析解讀未執行到的文件,了解相應功能,後將其刪除;根據解讀情況,修改android系統啟動項,優化啟動過程,提升啟動速度;
[0013]g.即對裁剪後的產品軟體,以用戶的角度進行全功能測試驗證,確保裁剪後的系統能夠正常使用。[0014]進一步,步驟a中,所述依據項目需求對android中的Iinux內核層進行裁剪,包括:
[0015]利用在menuconfig中配置,可以對Linux內核配置選項進行刪改,刪除不需要的功能豐旲塊。
[0016]進一步,步驟c中,通過覆蓋率工具或人工方式,對開發完成的系統軟體進行插樁。
[0017]具體的是,所述覆蓋率工具包括:C/C++覆蓋率測試工具GC0V、JAVA覆蓋率測試工具 EMMA。
[0018]本發明的有益效果是:利用覆蓋率測試,能夠輔助開發人員掌握哪些代碼沒有運行到,進而針對性的進行可視化裁剪,提升裁剪效率,保證系統的穩定性。
【專利附圖】

【附圖說明】
[0019]圖1為本發明中基於覆蓋率測試的android系統裁剪方法流程圖。
【具體實施方式】
[0020]在Android系統架構中,應用層主要為瀏覽器、電話本等核心應用程式;應用程式框架層主要提供android應用開發的系類組件;系統運行庫層主要包含系統庫和android運行時,系統運行庫主要為android系統組件開發所必須的C/C++庫、媒體庫等,android運行時為android核心庫和虛擬機;linux內核層主要提供核心驅動及進程管理等。Android系統軟體開發中,針對某特定功能,往往僅需要了解應用框架層的支持組件,就可以完成功能研發;然而在此特定功能軟體的運行中,均存在從應用層到應用程式框架層、系統運行庫層、Iinux內核層的逐級調用關係,採用傳統的方法裁剪,首先需要了解各個層級之間的架構以及相互間的聯繫,這也是android系統裁剪中的難點所在。
[0021]若軟體運行過程中,我們能夠顯性的看到哪些軟體代碼執行到了,哪些軟體沒有執行到,進而刪除掉沒有運行到的代碼,實現對系統裁剪,這樣不但能夠實現系統的可視化裁剪,提升裁剪效率,還能夠保證系統的穩定性。基於此,本發明提供了一種基於覆蓋率測試的android系統裁剪方法。覆蓋率測試,是軟體測試領域較為常用的一項測試技術,通常採用專用的軟體測試工具,以在目標軟體代碼中插樁的方式,檢測軟體代碼的運行情況,實現軟體代碼覆蓋率統計,度量測試完整性。在本方案中,利用覆蓋率測試,能夠輔助開發人員掌握哪些代碼沒有運行到,進而針對性的進行裁剪。
[0022]如圖1所示,本發明中基於覆蓋率測試的android系統裁剪方法,包括以下實現步驟:
[0023]Ulinux內核裁剪:依據項目需求對android中的Iinux內核層進行裁剪,利用在menuconfig中配置,可以對進行Linux內核配置選項及刪改刪除不需要的功能模塊,以保證軟體研發過程中不會產生無意識的調用,降低裁剪效果;
[0024]2、產品軟體研發:在Iinux內核裁剪的基礎上,進行android系統軟體研發,實現產品需求的全部功能,此部分軟體研發主要涉及應用層、系統框架層的修改;
[0025]3、測試插樁:利用覆蓋率工具或人工方式,對開發完成的系統軟體進行插樁,保證樁語句覆蓋到系統中的每個函數或文件,後對插樁後的軟體進行編譯、軟硬體集成;[0026]4、全功能測試:以用戶使用的角度,對產品進行全功能測試;
[0027]5、測試覆蓋分析:根據樁語句執行情況,進行語句、函數、文件的運行情況統計,找出軟體運行過程中未執行到文件。由於此時未進行android啟動項優化,因此在系統啟動加載過程中,會運行到多個未來不需要的啟動項,因此此時不進行覆蓋情況統計,統計的起始時間沮圍在系統啟動後,全功能測試階段;
[0028]6、android裁剪:進行android裁剪,包括兩部分內容:一是分析解讀未執行到的文件,了解相應功能,後將其刪除;二是根據解讀情況,修改android系統啟動項,優化啟動過程,提升啟動速度;
[0029]7、全功能測試驗證:即對裁剪後的產品軟體,以用戶的角度進行全功能測試驗證,確保裁剪後的系統能夠正常使用。
[0030]下面結合android系統裁剪實施的工程案例,對測試方法進行詳細描述:
[0031]「藍牙」模塊是android系統中的標準模塊,本案例所述的產品方案中不涉及「藍牙」功能,案例將結合「藍牙」功能模塊裁剪案例,對本方法進行描述,具體步驟如下:
[0032]步驟1:linux 內核裁剪,在 menuconfig 中配置,將 Bluetooth subsystem support選N,重新生成config文件,並使用該文件進行編譯,即去除了藍牙部分功能;
[0033]步驟2:產品功能研發,此處不詳述;
[0034]步驟3:利用C/C++覆蓋率測試工具GCOV、JAVA覆蓋率測試工具EMMA,分別進行對android系統中各層軟體代碼進行打樁;
[0035]步驟4:對軟體實施全功能測試,此處不詳述;
[0036]步驟5:查看測試工具的測試覆蓋情況報告,,找出全功能測試中未被執行到的文件,其中應用層藍牙設備配置文件、Bluetooth, apk等未被執行到,系統運行庫層部分庫文件未被執行到;
[0037]步驟6:分析被執行到的文件,後將其刪除;修改啟動項,將藍牙啟動部分關閉;
[0038]步驟7:利用全功能測試對系統進行驗證。
[0039]以上所述,僅為本發明的【具體實施方式】,但本發明的保護範圍並不局限於此,任何熟悉本【技術領域】的技術人員在本發明揭露的技術範圍內,可輕易想到變化或替換,都應涵蓋在本發明的保護範圍之內。因此,本發明的保護範圍應以所述權利要求的保護範圍為準。
【權利要求】
1.基於覆蓋率測試的android系統裁剪方法,其特徵在於,包括以下步驟: a.依據項目需求對android中的Iinux內核層進行裁剪; b.在Iinux內核裁剪的基礎上,進行android系統軟體研發,實現產品需求的全部功倉泛; c.對開發完成的系統軟體進行插樁,保證樁語句覆蓋到系統中的每個函數或文件,後對插樁後的軟體進行編譯、軟硬體集成; d.以用戶使用的角度,對產品進行全功能測試; e.進行測試覆蓋分析,根據樁語句執行情況,進行語句、函數、文件的運行情況統計,找出軟體運行過程中未執行到文件; f.進行android裁剪,包括:分析解讀未執行到的文件,了解相應功能,後將其刪除;根據解讀情況,修改android系統啟動項,優化啟動過程,提升啟動速度; g.即對裁剪後的產品軟體,以用戶的角度進行全功能測試驗證,確保裁剪後的系統能夠正常使用。
2.如權利要求1所述的基於覆蓋率測試的android系統裁剪方法,其特徵在於,步驟a中,所述依據項目需求對android中的Iinux內核層進行裁剪,包括: 利用在menuconfig中配置,可以對Linux內核配置選項進行刪改,刪除不需要的功能模塊。
3.如權利要求1或2所述的基於覆蓋率測試的android系統裁剪方法,其特徵在於,步驟c中,通過覆蓋率工具或人工方式,對開發完成的系統軟體進行插樁。
4.如權利要求3所述的基於覆蓋率測試的android系統裁剪方法,其特徵在於,所述覆蓋率工具包括:C/C++覆蓋率測試工具GCOV、JAVA覆蓋率測試工具EMMA。
【文檔編號】G06F9/44GK104035766SQ201410221840
【公開日】2014年9月10日 申請日期:2014年5月23日 優先權日:2014年5月23日
【發明者】何豔 申請人:四川長虹電器股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀