本發(fā)明涉及測試技術(shù)領(lǐng)域,尤其涉及一種智能電視的自動(dòng)化測試方法及裝置。
背景技術(shù):
隨著智能電視技術(shù)的不斷進(jìn)步,人們對通信產(chǎn)品的質(zhì)量和可靠性提出越來越高的要求,因此,對智能電視提出了更高的質(zhì)量要求。
當(dāng)前智能電視的操作系統(tǒng)有l(wèi)inux、Android等不同的操作系統(tǒng),在電視系統(tǒng)軟件在開發(fā)的過程中,不同產(chǎn)品電視系統(tǒng)的硬件參數(shù)配置、系統(tǒng)內(nèi)置功能配置及個(gè)性化軟件等存在較大差異。目前,在對不同產(chǎn)品電視系統(tǒng)進(jìn)行測試的過程中,需要測試人員手動(dòng)進(jìn)行測試。但是,由于不同的產(chǎn)品需要不同的測試軟件去測試,采用人工測試容易受人力因素的影響而造成測試力度不足,譬如在測試不同的產(chǎn)品時(shí),測試人員容易遺漏測試項(xiàng)而導(dǎo)致某些功能沒有測試或測試不到位,無法保證智能電視的質(zhì)量和可靠性。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種智能電視的自動(dòng)化測試方法及裝置,旨在解決在智能電視采用人工測試時(shí)受人力因素的影響而無法保證智能電視的質(zhì)量和可靠性的技術(shù)問題。
為實(shí)現(xiàn)上述目的,本發(fā)明提供的一種智能電視的自動(dòng)化測試方法,所述智能電視的自動(dòng)化測試方法包括以下步驟:
在接收到所述智能電視的測試指令時(shí),獲取所述智能電視對應(yīng)的測試樣本,其中,所述測試樣本包括多個(gè)測試腳本及所述測試腳本對應(yīng)的測試參數(shù);
在測試執(zhí)行器處于閑置狀態(tài)時(shí),依次獲取所述測試腳本的測試標(biāo)識(shí),并控制測試執(zhí)行器基于所述測試標(biāo)識(shí)對應(yīng)的測試參數(shù)運(yùn)行所述測試標(biāo)識(shí)對應(yīng)的測試腳本;
在所述測試腳本運(yùn)行完成時(shí),顯示所述測試腳本的測試結(jié)果。
優(yōu)選地,在所述獲取所述智能電視對應(yīng)的測試樣本的步驟之后,所述智能電視的自動(dòng)化測試方法還包括:
基于所述測試腳本生成測試列表,其中,所述測試列表包括所述測試腳本的腳本標(biāo)識(shí);
所述在測試執(zhí)行器處于閑置狀態(tài)時(shí),依次獲取所述測試腳本的測試標(biāo)識(shí),并控制測試執(zhí)行器基于所述測試標(biāo)識(shí)對應(yīng)的測試參數(shù)運(yùn)行所述測試標(biāo)識(shí)對應(yīng)的測試腳本的步驟包括:在測試執(zhí)行器處于閑置狀態(tài)時(shí),依次獲取所述測試列表中的測試標(biāo)識(shí),并控制測試執(zhí)行器基于所述測試標(biāo)識(shí)對應(yīng)的測試參數(shù)運(yùn)行所述測試標(biāo)識(shí)對應(yīng)的測試腳本。
優(yōu)選地,所述在測試執(zhí)行器處于閑置狀態(tài)時(shí),依次獲取所述測試列表中的測試標(biāo)識(shí),并控制測試執(zhí)行器基于所述測試標(biāo)識(shí)對應(yīng)的測試參數(shù)運(yùn)行所述測試標(biāo)識(shí)對應(yīng)的測試腳本的步驟包括:
在測試執(zhí)行器處于閑置狀態(tài)時(shí),依次將所述測試列表中的測試標(biāo)識(shí)存儲(chǔ)至測試池中;
控制所述測試執(zhí)行器獲取所述測試池中的測試標(biāo)識(shí),并基于所述測試標(biāo)識(shí)對應(yīng)的測試參數(shù)運(yùn)行所述測試標(biāo)識(shí)對應(yīng)的測試腳本。
優(yōu)選地,所述在接收到所述智能電視的測試請求時(shí),獲取所述智能電視對應(yīng)的測試樣本的步驟包括:
在接收到所述智能電視的測試請求時(shí),獲取所述智能電視的測試參數(shù),其中,所述測試參數(shù)包括所述智能電視的硬件參數(shù)及系統(tǒng)參數(shù);
基于所述測試參數(shù)獲取所述智能電視對應(yīng)的測試腳本。
優(yōu)選地,在所述測試腳本運(yùn)行完成時(shí),顯示所述測試腳本的測試結(jié)果的步驟之后,所述智能電視的自動(dòng)化測試方法還包括:
在接收到測試結(jié)果的導(dǎo)出指令時(shí),檢測當(dāng)前是否已連接外部存儲(chǔ)設(shè)備;
在當(dāng)前已連接外部存儲(chǔ)設(shè)備時(shí),將所述測試結(jié)果存儲(chǔ)至所述外部存儲(chǔ)設(shè)備。
此外,為實(shí)現(xiàn)上述目的,本發(fā)明還提供一種智能電視的自動(dòng)化測試裝置,所述智能電視的自動(dòng)化測試裝置包括:
第一獲取模塊,用于在接收到所述智能電視的測試指令時(shí),獲取所述智能電視對應(yīng)的測試樣本,其中,所述測試樣本包括多個(gè)測試腳本及所述測試腳本對應(yīng)的測試參數(shù);
第二獲取模塊,用于在測試執(zhí)行器處于閑置狀態(tài)時(shí),依次獲取所述測試腳本的測試標(biāo)識(shí),并控制測試執(zhí)行器基于所述測試標(biāo)識(shí)對應(yīng)的測試參數(shù)運(yùn)行所述測試標(biāo)識(shí)對應(yīng)的測試腳本;
顯示模塊,用于在所述測試腳本運(yùn)行完成時(shí),顯示所述測試腳本的測試結(jié)果。
優(yōu)選地,所述智能電視的自動(dòng)化測試裝置還包括:
生成模塊,用于基于所述測試腳本生成測試列表,其中,所述測試列表包括所述測試腳本的腳本標(biāo)識(shí);
所述第二獲取模塊還用于在測試執(zhí)行器處于閑置狀態(tài)時(shí),依次獲取所述測試列表中的測試標(biāo)識(shí),并控制測試執(zhí)行器基于所述測試標(biāo)識(shí)對應(yīng)的測試參數(shù)運(yùn)行所述測試標(biāo)識(shí)對應(yīng)的測試腳本。
優(yōu)選地,所述第二獲取模塊包括:
存儲(chǔ)單元,用于在測試執(zhí)行器處于閑置狀態(tài)時(shí),依次將所述測試列表中的測試標(biāo)識(shí)存儲(chǔ)至測試池中;
控制單元,用于控制所述測試執(zhí)行器獲取所述測試池中的測試標(biāo)識(shí),并基于所述測試標(biāo)識(shí)對應(yīng)的測試參數(shù)運(yùn)行所述測試標(biāo)識(shí)對應(yīng)的測試腳本。
優(yōu)選地,所述第一獲取模塊包括:
第一獲取單元,用于在接收到所述智能電視的測試請求時(shí),獲取所述智能電視的測試參數(shù),其中,所述測試參數(shù)包括所述智能電視的硬件參數(shù)及系統(tǒng)參數(shù);
第二獲取單元,用于基于所述測試參數(shù)獲取所述智能電視對應(yīng)的測試腳本。
優(yōu)選地,所述智能電視的自動(dòng)化測試裝置還包括:
檢測模塊,用于在接收到測試結(jié)果的導(dǎo)出指令時(shí),檢測當(dāng)前是否已連接外部存儲(chǔ)設(shè)備;
存儲(chǔ)模塊,用于在當(dāng)前已連接外部存儲(chǔ)設(shè)備時(shí),將所述測試結(jié)果存儲(chǔ)至所述外部存儲(chǔ)設(shè)備。
本發(fā)明通過在接收到所述智能電視的測試指令時(shí),獲取所述智能電視對應(yīng)的測試樣本,而后在測試執(zhí)行器處于閑置狀態(tài)時(shí),依次獲取所述測試腳本的測試標(biāo)識(shí),并控制測試執(zhí)行器基于所述測試標(biāo)識(shí)對應(yīng)的測試參數(shù)運(yùn)行所述測試標(biāo)識(shí)對應(yīng)的測試腳本,最后在所述測試腳本運(yùn)行完成時(shí),顯示所述測試腳本的測試結(jié)果,實(shí)現(xiàn)了智能電視的自動(dòng)化測試,避免了采用人工的方式進(jìn)行測試時(shí)受人力因素的影響而造成測試力度不足的情況,提高了測試效率以及測試效果,進(jìn)而提高了智能電視的質(zhì)量和可靠性。
附圖說明
圖1為本發(fā)明智能電視的自動(dòng)化測試方法第一實(shí)施例的流程示意圖;
圖2為本發(fā)明智能電視的自動(dòng)化測試方法第二實(shí)施例中依次獲取所述測試列表中的測試標(biāo)識(shí),并控制測試執(zhí)行器基于所述測試標(biāo)識(shí)對應(yīng)的測試參數(shù)運(yùn)行所述測試標(biāo)識(shí)對應(yīng)的測試腳本步驟的細(xì)化流程示意圖;
圖3為本發(fā)明智能電視的自動(dòng)化測試方法第三實(shí)施例中獲取所述智能電視對應(yīng)的測試樣本步驟的細(xì)化流程示意圖;
圖4為本發(fā)明智能電視的自動(dòng)化測試方法第四實(shí)施例的流程示意圖;
圖5為本發(fā)明智能電視的自動(dòng)化測試裝置第一實(shí)施例的功能模塊示意圖;
圖6為本發(fā)明智能電視的自動(dòng)化測試裝置第二實(shí)施例中第二獲取模塊的細(xì)化功能模塊示意圖;
圖7為本發(fā)明智能電視的自動(dòng)化測試裝置第三實(shí)施例中第一獲取模塊的細(xì)化功能模塊示意圖;
圖8為本發(fā)明智能電視的自動(dòng)化測試裝置第四實(shí)施例的功能模塊示意圖。
本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說明。
具體實(shí)施方式
應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明提供一種智能電視的自動(dòng)化測試方法。參照圖1,圖1為本發(fā)明智能電視的自動(dòng)化測試方法第一實(shí)施例的流程示意圖。
在本實(shí)施例中,該智能電視的自動(dòng)化測試方法包括:
步驟S10,在接收到所述智能電視的測試指令時(shí),獲取所述智能電視對應(yīng)的測試樣本,其中,所述測試樣本包括多個(gè)測試腳本及所述測試腳本對應(yīng)的測試參數(shù);
本實(shí)施例中,在接收到所述智能電視的測試指令時(shí),獲取智能電視的機(jī)芯、機(jī)型、Android版本等基本信息,通過智能電視的基本信息確認(rèn)該智能電視是否支持特殊測試項(xiàng)目,如該智能電視是否支持外置SD卡、是否攜帶攝像頭、是否支持開機(jī)動(dòng)畫等,同時(shí)結(jié)合智能電視基本通用功能的測試項(xiàng),動(dòng)態(tài)生成針對該智能電視的測試樣本,并動(dòng)態(tài)生成一個(gè)測試列表。
其中,測試參數(shù)包括機(jī)芯參數(shù)、機(jī)型參數(shù)、Android版本參數(shù)、sd卡支持參數(shù)、鼠標(biāo)支持參數(shù)、手柄支持參數(shù)、鍵盤支持參數(shù)等;測試腳本是針對該智能電視的每一種硬件以及功能所對應(yīng)的測試程序。測試指令可以由測試人員通過服務(wù)器或其他設(shè)備發(fā)送至智能電視的自動(dòng)化測試裝置,或者在智能電視的自動(dòng)化測試裝置上設(shè)置有測試按鈕/按鍵,用于在需要時(shí)觸發(fā)測試指令。
上述測試腳本至少包括以下之一:機(jī)型測試腳本、內(nèi)存測試腳本、分區(qū)測試腳本、簽名測試腳本、系統(tǒng)權(quán)限測試腳本、字體測試腳本、鍵盤測試腳本、U盤測試腳本、鼠標(biāo)測試腳本、手柄測試腳本、開機(jī)動(dòng)畫測試腳本及恢復(fù)出廠測試腳本。其中,機(jī)型測試腳本,是用于自動(dòng)獲取產(chǎn)品中包含機(jī)芯,機(jī)型,系統(tǒng)版本號的基本信息的測試程序;內(nèi)存測試腳本,是用于測試產(chǎn)品總共的內(nèi)存大小、系統(tǒng)起來后可以使用的內(nèi)存大小等功能的測試程序;分區(qū)測試腳本,是用于測試系統(tǒng)中定義的分區(qū)是否存在,并確保每個(gè)分區(qū)的大小是否合乎產(chǎn)品定義的設(shè)計(jì)的測試程序;簽名測試腳本,是用于測試當(dāng)前產(chǎn)品是使用的系統(tǒng)的默認(rèn)簽名還是廠商自定義簽名;系統(tǒng)權(quán)限測試腳本,是用于檢測系統(tǒng)中主要分區(qū)及目錄的權(quán)限是否滿足設(shè)計(jì)的要求,是否有開放過大的權(quán)限導(dǎo)致可能系統(tǒng)存在安全風(fēng)險(xiǎn)的測試程序;字體測試腳本,是用于檢測系統(tǒng)中是否有內(nèi)置產(chǎn)品自定義的通用字體的測試程序;恢復(fù)出廠測試腳本,是用于測試產(chǎn)品回復(fù)出廠后,以及智能電視的相關(guān)設(shè)計(jì)是否達(dá)到了出廠的要求的測試程序;鍵盤測試腳本,是用于檢測當(dāng)前產(chǎn)品系統(tǒng)對于鍵盤的支持情況,這個(gè)時(shí)候需要用戶操作鍵盤的測試程序;U盤測試腳本,是用于檢測當(dāng)前產(chǎn)品系統(tǒng)對于外界存儲(chǔ)設(shè)備U盤的支持情況,對U盤進(jìn)行讀寫操作,查看當(dāng)前系統(tǒng)共對U盤的識(shí)別、存儲(chǔ)的測試程序;鼠標(biāo)測試腳本,是用于檢測當(dāng)前系統(tǒng)對鼠標(biāo)的支持情況,當(dāng)前系統(tǒng)是否支持鼠標(biāo)的測試程序;手柄測試腳本,是用于檢測當(dāng)前系統(tǒng)對不同的游戲手柄的支持情況,是否支持主流游戲手柄的測試程序;開機(jī)動(dòng)畫測試腳本,是用于檢測當(dāng)前系統(tǒng)對開機(jī)動(dòng)畫測支持情況,能否支持標(biāo)準(zhǔn)的開機(jī)動(dòng)畫的測試程序。
步驟S20,在測試執(zhí)行器處于閑置狀態(tài)時(shí),依次獲取所述測試腳本的測試標(biāo)識(shí),并控制測試執(zhí)行器基于所述測試標(biāo)識(shí)對應(yīng)的測試參數(shù)運(yùn)行所述測試標(biāo)識(shí)對應(yīng)的測試腳本;
本實(shí)施例中,在測試執(zhí)行器閑置時(shí),根據(jù)測試標(biāo)識(shí)對應(yīng)的測試參數(shù)依次運(yùn)行測試列表中的測試標(biāo)識(shí)對應(yīng)的測試腳本,以進(jìn)行相關(guān)測試,在每一次測試腳本運(yùn)行完成時(shí),控制測試執(zhí)行器運(yùn)行下一個(gè)測試標(biāo)識(shí)對應(yīng)的測試腳本,進(jìn)而使得測試列表中的測試腳本能夠全部運(yùn)行完成。
步驟S30,在所述測試腳本運(yùn)行完成時(shí),顯示所述測試腳本的測試結(jié)果。
本實(shí)施例中,對于測試執(zhí)行器完成的測試結(jié)果,測試執(zhí)行器和程序交互UI之間通過回調(diào)的方式獲取測試結(jié)果數(shù)據(jù),程序交互層UI接收到測試結(jié)果數(shù)據(jù)后,對測試結(jié)果數(shù)據(jù)進(jìn)行反序列化獲得數(shù)據(jù)對象,并對反序列化后的數(shù)據(jù)對象進(jìn)行解析獲取測試結(jié)果,具體地,對獲取的測試結(jié)果讀取測試腳本的名稱、測試是否通過等信息,以“測試名稱:測試是否通過”的形式呈現(xiàn)在UI界面中,對于沒有通過的測試項(xiàng),將會(huì)在所有測試腳本完成的時(shí)候一起呈現(xiàn)給用戶,并同時(shí)展現(xiàn)對應(yīng)的未通過原因,以及測試通過具有的標(biāo)準(zhǔn),以及當(dāng)前測試腳本每一個(gè)點(diǎn)測試的結(jié)果信息;測試結(jié)果數(shù)據(jù)包括當(dāng)前測試腳本的測試結(jié)果數(shù)據(jù)中包含:是否測試通過、當(dāng)前測試腳本的檢測標(biāo)準(zhǔn)、當(dāng)前測試腳本中每一個(gè)點(diǎn)的測試結(jié)果情況。
進(jìn)一步地,在其他實(shí)施例中,在步驟S10之后,該智能電視的自動(dòng)化測試方法還包括:基于所述測試腳本生成測試列表,其中,所述測試列表包括所述測試腳本的腳本標(biāo)識(shí);
本實(shí)施例中,基于測試腳本生成測試列表是指按照隨機(jī)的順序?qū)@取到的所有測試樣本中測試腳本的腳本標(biāo)識(shí)存儲(chǔ)至測試列表中。
步驟S20包括在測試執(zhí)行器處于閑置狀態(tài)時(shí),依次獲取所述測試列表中的測試標(biāo)識(shí),并控制測試執(zhí)行器基于所述測試標(biāo)識(shí)對應(yīng)的測試參數(shù)運(yùn)行所述測試標(biāo)識(shí)對應(yīng)的測試腳本;
本實(shí)施例中,在測試執(zhí)行器閑置時(shí),根據(jù)測試列表中的測試標(biāo)識(shí)對應(yīng)的測試參數(shù)依次運(yùn)行測試列表中的測試標(biāo)識(shí)對應(yīng)的測試腳本,以進(jìn)行相關(guān)測試,在每一次測試腳本運(yùn)行完成時(shí),控制測試執(zhí)行器運(yùn)行下一個(gè)測試標(biāo)識(shí)對應(yīng)的測試腳本,進(jìn)而使得測試列表中的測試腳本能夠全部運(yùn)行完成。
本實(shí)施例中,通過在接收到所述智能電視的測試指令時(shí),獲取所述智能電視對應(yīng)的測試樣本,接著在測試執(zhí)行器處于閑置狀態(tài)時(shí),依次獲取所述測試腳本的測試標(biāo)識(shí),并控制測試執(zhí)行器基于所述測試標(biāo)識(shí)對應(yīng)的測試參數(shù)運(yùn)行所述測試標(biāo)識(shí)對應(yīng)的測試腳本,最后在所述測試腳本運(yùn)行完成時(shí),顯示所述測試腳本的測試結(jié)果,實(shí)現(xiàn)了智能電視的自動(dòng)化測試,避免了采用人工的方式進(jìn)行測試時(shí)受人力因素的影響而造成測試力度不足的情況,提高了測試效率以及測試效果,進(jìn)而提高了智能電視的質(zhì)量和可靠性。
基于第一實(shí)施例提出本發(fā)明智能電視的自動(dòng)化測試方法的第二實(shí)施例,參照圖2,在本實(shí)施例中,步驟S20包括:
步驟S21,在測試執(zhí)行器處于閑置狀態(tài)時(shí),依次將所述測試列表中的測試標(biāo)識(shí)存儲(chǔ)至測試池中;
本實(shí)施例中,設(shè)置一個(gè)存放測試列表中的測試標(biāo)識(shí)的存儲(chǔ)空間即測試池,用于臨時(shí)存放測試標(biāo)識(shí),以避免測試過程中出現(xiàn)程序運(yùn)行紊亂。
步驟S22,控制所述測試執(zhí)行器獲取所述測試池中的測試標(biāo)識(shí),并基于所述測試標(biāo)識(shí)對應(yīng)的測試參數(shù)運(yùn)行所述測試標(biāo)識(shí)對應(yīng)的測試腳本。
根據(jù)測試標(biāo)識(shí)對應(yīng)的測試參數(shù)依次運(yùn)行測試列表中的測試標(biāo)識(shí)對應(yīng)的測試腳本,以進(jìn)行相關(guān)測試,在每一次測試腳本運(yùn)行完成時(shí),控制測試執(zhí)行器運(yùn)行下一個(gè)測試標(biāo)識(shí)對應(yīng)的測試腳本,進(jìn)而使得測試列表中的測試腳本能夠全部運(yùn)行完成。
在具體實(shí)現(xiàn)中,對確認(rèn)的測試樣本列表,依次取出每一個(gè)測試項(xiàng),對取出的每一個(gè)測試項(xiàng)封裝在一個(gè)測試腳本中,其中,具體封裝方式為:將測試項(xiàng)的名稱作為對應(yīng)的測試腳本的測試名稱,將測試項(xiàng)的預(yù)定輸入數(shù)據(jù)作為參數(shù)傳入,測試結(jié)果等待測試結(jié)束的時(shí)候?qū)懭霚y試腳本之中;測試腳本包含:測試腳本的名稱、測試腳本需要傳遞的參數(shù)、測試結(jié)果數(shù)據(jù)結(jié)構(gòu)體;對構(gòu)造的單個(gè)測試腳本通過注冊接口的方式添加到測試池中;對于測試池中注入的測試腳本,依次分配一個(gè)線程,分配的線程等待上一個(gè)線程結(jié)束后即在測試執(zhí)行器處于閑置狀態(tài)時(shí)執(zhí)行。
對于注冊到測試池中的測試腳本,程序中具有一個(gè)線程管理模塊即測試控制器,測試控制器負(fù)責(zé)線程池中的線程生命周期,包含:線程開始,線程執(zhí)行,線程結(jié)束,線程終止;測試控制器依次取出測試腳本,對取出的每一個(gè)測試腳本分配一個(gè)線程進(jìn)行測試,測試的過程中,每一個(gè)測試腳本線程都有不同的測試狀態(tài),包含:測試開始、測試中、測試結(jié)束、測試停止四個(gè)狀態(tài),測試腳本線程開始進(jìn)入測試開始狀態(tài),表示即將開始測試,測試進(jìn)行后,通過測試腳本中的測試名稱,調(diào)用對應(yīng)的基礎(chǔ)測試腳本庫中的測試代碼進(jìn)行測試,此時(shí)測試線程進(jìn)入測試中狀態(tài),當(dāng)測試完成后,將測試結(jié)果寫入到測試腳本中的上測試結(jié)果保存數(shù)據(jù),此時(shí)進(jìn)入測試結(jié)束狀態(tài),當(dāng)前測試腳本測試完成;同時(shí)對于在測試過程中的測試線程,當(dāng)遇到用戶主動(dòng)操作終止當(dāng)前測試,測試控制器將會(huì)主動(dòng)終止當(dāng)前正在運(yùn)行的測試腳本線程,此時(shí)測試線程的狀態(tài)變成測試停止?fàn)顟B(tài);針對已經(jīng)完成的測試任務(wù)的測試腳本的測試結(jié)果,測試控制器將會(huì)對測試腳本進(jìn)行序列化,系列化后的數(shù)據(jù)保存在內(nèi)存中;當(dāng)測試腳本被測試控制器執(zhí)行完成后,對序列化到內(nèi)存中的數(shù)據(jù)返回給到程序交互層UI,在程序交互層UI進(jìn)行當(dāng)前測試結(jié)果的呈現(xiàn)。
本實(shí)施例中,通過在測試執(zhí)行器處于閑置狀態(tài)時(shí),依次將所述測試列表中的測試標(biāo)識(shí)存儲(chǔ)至測試池中,而后控制所述測試執(zhí)行器獲取所述測試池中的測試標(biāo)識(shí),并基于所述測試標(biāo)識(shí)對應(yīng)的測試參數(shù)運(yùn)行所述測試標(biāo)識(shí)對應(yīng)的測試腳本,實(shí)現(xiàn)了智能電視的自動(dòng)化測試,并且通過測試池能夠避免測試過程中發(fā)送程序紊亂的情況,進(jìn)一步提高了測試效率以及測試效果,進(jìn)而提高了智能電視的質(zhì)量和可靠性。
基于第一實(shí)施例提出本發(fā)明智能電視的自動(dòng)化測試方法的第三實(shí)施例,參照圖3,在本實(shí)施例中,步驟S10包括:
步驟S11,在接收到所述智能電視的測試請求時(shí),獲取所述智能電視的測試參數(shù),其中,所述測試參數(shù)包括所述智能電視的硬件參數(shù)及系統(tǒng)參數(shù);
具體地,測試參數(shù)包括機(jī)芯參數(shù)、機(jī)型參數(shù)、Android版本參數(shù)、sd卡支持參數(shù)、鼠標(biāo)支持參數(shù)、手柄支持參數(shù)、鍵盤支持參數(shù)等。測試指令可以由測試人員通過服務(wù)器或其他設(shè)備發(fā)送至智能電視的自動(dòng)化測試裝置,或者在智能電視的自動(dòng)化測試裝置上設(shè)置有測試按鈕/按鍵,用于在需要時(shí)觸發(fā)測試指令。
步驟S12,基于所述測試參數(shù)獲取所述智能電視對應(yīng)的測試腳本。
其中,測試腳本至少包括以下之一:機(jī)型測試腳本、內(nèi)存測試腳本、分區(qū)測試腳本、簽名測試腳本、系統(tǒng)權(quán)限測試腳本、字體測試腳本、鍵盤測試腳本、U盤測試腳本、鼠標(biāo)測試腳本、手柄測試腳本、開機(jī)動(dòng)畫測試腳本及恢復(fù)出廠測試腳本。
本實(shí)施例中,通過在接收到所述智能電視的測試請求時(shí),獲取所述智能電視的測試參數(shù),而后基于所述測試參數(shù)獲取所述智能電視對應(yīng)的測試腳本,實(shí)現(xiàn)了根據(jù)智能電視的測試參數(shù)獲取測試腳本,進(jìn)而能夠準(zhǔn)確、完全的獲取智能電視需要的測試腳本,能夠避免遺漏測試項(xiàng)而導(dǎo)致某些功能沒有測試或測試不到位的情況,進(jìn)一步提高了測試效率以及測試效果,進(jìn)而提高了智能電視的質(zhì)量和可靠性。
基于第一實(shí)施例提出本發(fā)明智能電視的自動(dòng)化測試方法的第四實(shí)施例,參照圖4,在本實(shí)施例中,在步驟S30之后,智能電視的自動(dòng)化測試方法還包括:
步驟S40,在接收到測試結(jié)果的導(dǎo)出指令時(shí),檢測當(dāng)前是否已連接外部存儲(chǔ)設(shè)備;
本實(shí)施例中,可以在智能電視的測試過程中、或者智能電視全部測試完成時(shí),將所有測試腳本運(yùn)行得到的測試結(jié)果導(dǎo)出,以供測試人員進(jìn)行后續(xù)進(jìn)一步的數(shù)據(jù)處理,因此在接收到測試結(jié)果的導(dǎo)出指令時(shí),檢測當(dāng)前是否已連接外部存儲(chǔ)設(shè)備。
步驟S50,在當(dāng)前已連接外部存儲(chǔ)設(shè)備時(shí),將所述測試結(jié)果存儲(chǔ)至所述外部存儲(chǔ)設(shè)備。
本實(shí)施例中,對于每一次的測試結(jié)果,分別讀取測試腳本的測試名稱、測試結(jié)果,對每一項(xiàng)按照測試是否通過,測試如果沒有通過,依次讀取沒有通過的項(xiàng)目,以及測試通過的檢測標(biāo)準(zhǔn)寫入到指定文件中;當(dāng)用戶需要導(dǎo)出數(shù)據(jù)的時(shí)候,先判斷用戶是否插入外部存儲(chǔ)設(shè)備,如U盤或者SD卡,如果有插入存儲(chǔ)設(shè)備,則將保存數(shù)據(jù)的文件拷貝到存儲(chǔ)設(shè)備中,并給到用戶提示導(dǎo)出的路徑文件目錄;否則提示用戶沒有外接存儲(chǔ)設(shè)備,提示用戶插入存儲(chǔ)設(shè)備。
本實(shí)施例中,通過在接收到測試結(jié)果的導(dǎo)出指令時(shí),檢測當(dāng)前是否已連接外部存儲(chǔ)設(shè)備;而后在當(dāng)前已連接外部存儲(chǔ)設(shè)備時(shí),將所述測試結(jié)果存儲(chǔ)至所述外部存儲(chǔ)設(shè)備,實(shí)現(xiàn)了將測試結(jié)果導(dǎo)出至外部存儲(chǔ)設(shè)備,以便于測試人員對測試結(jié)果進(jìn)行后續(xù)的數(shù)據(jù)處理。
本發(fā)明進(jìn)一步提供一種智能電視的自動(dòng)化測試裝置。參照圖5,圖5為本發(fā)明智能電視的自動(dòng)化測試裝置第一實(shí)施例的功能模塊示意圖。
在本實(shí)施例中,該智能電視的自動(dòng)化測試裝置包括:
第一獲取模塊10,用于在接收到所述智能電視的測試指令時(shí),獲取所述智能電視對應(yīng)的測試樣本,其中,所述測試樣本包括多個(gè)測試腳本及所述測試腳本對應(yīng)的測試參數(shù);
本實(shí)施例中,在接收到所述智能電視的測試指令時(shí),第一獲取模塊10獲取智能電視的機(jī)芯、機(jī)型、Android版本等基本信息,通過智能電視的基本信息確認(rèn)該智能電視是否支持特殊測試項(xiàng)目,如該智能電視是否支持外置SD卡、是否攜帶攝像頭、是否支持開機(jī)動(dòng)畫等,同時(shí)結(jié)合智能電視基本通用功能的測試項(xiàng),動(dòng)態(tài)生成針對該智能電視的測試樣本,并動(dòng)態(tài)生成一個(gè)測試列表。
其中,測試參數(shù)包括機(jī)芯參數(shù)、機(jī)型參數(shù)、Android版本參數(shù)、sd卡支持參數(shù)、鼠標(biāo)支持參數(shù)、手柄支持參數(shù)、鍵盤支持參數(shù)等;測試腳本是針對該智能電視的每一種硬件以及功能所對應(yīng)的測試程序。測試指令可以由測試人員通過服務(wù)器或其他設(shè)備發(fā)送至智能電視的自動(dòng)化測試裝置,或者在智能電視的自動(dòng)化測試裝置上設(shè)置有測試按鈕/按鍵,用于在需要時(shí)觸發(fā)測試指令。
上述測試腳本至少包括以下之一:機(jī)型測試腳本、內(nèi)存測試腳本、分區(qū)測試腳本、簽名測試腳本、系統(tǒng)權(quán)限測試腳本、字體測試腳本、鍵盤測試腳本、U盤測試腳本、鼠標(biāo)測試腳本、手柄測試腳本、開機(jī)動(dòng)畫測試腳本及恢復(fù)出廠測試腳本。其中,機(jī)型測試腳本,是用于自動(dòng)獲取產(chǎn)品中包含機(jī)芯,機(jī)型,系統(tǒng)版本號的基本信息的測試程序;內(nèi)存測試腳本,是用于測試產(chǎn)品總共的內(nèi)存大小、系統(tǒng)起來后可以使用的內(nèi)存大小等功能的測試程序;分區(qū)測試腳本,是用于測試系統(tǒng)中定義的分區(qū)是否存在,并確保每個(gè)分區(qū)的大小是否合乎產(chǎn)品定義的設(shè)計(jì)的測試程序;簽名測試腳本,是用于測試當(dāng)前產(chǎn)品是使用的系統(tǒng)的默認(rèn)簽名還是廠商自定義簽名;系統(tǒng)權(quán)限測試腳本,是用于檢測系統(tǒng)中主要分區(qū)及目錄的權(quán)限是否滿足設(shè)計(jì)的要求,是否有開放過大的權(quán)限導(dǎo)致可能系統(tǒng)存在安全風(fēng)險(xiǎn)的測試程序;字體測試腳本,是用于檢測系統(tǒng)中是否有內(nèi)置產(chǎn)品自定義的通用字體的測試程序;恢復(fù)出廠測試腳本,是用于測試產(chǎn)品回復(fù)出廠后,以及智能電視的相關(guān)設(shè)計(jì)是否達(dá)到了出廠的要求的測試程序;鍵盤測試腳本,是用于檢測當(dāng)前產(chǎn)品系統(tǒng)對于鍵盤的支持情況,這個(gè)時(shí)候需要用戶操作鍵盤的測試程序;U盤測試腳本,是用于檢測當(dāng)前產(chǎn)品系統(tǒng)對于外界存儲(chǔ)設(shè)備U盤的支持情況,對U盤進(jìn)行讀寫操作,查看當(dāng)前系統(tǒng)共對U盤的識(shí)別、存儲(chǔ)的測試程序;鼠標(biāo)測試腳本,是用于檢測當(dāng)前系統(tǒng)對鼠標(biāo)的支持情況,當(dāng)前系統(tǒng)是否支持鼠標(biāo)的測試程序;手柄測試腳本,是用于檢測當(dāng)前系統(tǒng)對不同的游戲手柄的支持情況,是否支持主流游戲手柄的測試程序;開機(jī)動(dòng)畫測試腳本,是用于檢測當(dāng)前系統(tǒng)對開機(jī)動(dòng)畫測支持情況,能否支持標(biāo)準(zhǔn)的開機(jī)動(dòng)畫的測試程序。
第二獲取模塊20,用于在測試執(zhí)行器處于閑置狀態(tài)時(shí),依次獲取所述測試列表中的測試標(biāo)識(shí),并控制測試執(zhí)行器基于所述測試標(biāo)識(shí)對應(yīng)的測試參數(shù)運(yùn)行所述測試標(biāo)識(shí)對應(yīng)的測試腳本;
本實(shí)施例中,在測試執(zhí)行器閑置時(shí),第二獲取模塊20根據(jù)測試標(biāo)識(shí)對應(yīng)的測試參數(shù)依次運(yùn)行測試列表中的測試標(biāo)識(shí)對應(yīng)的測試腳本,以進(jìn)行相關(guān)測試,在每一次測試腳本運(yùn)行完成時(shí),控制測試執(zhí)行器運(yùn)行下一個(gè)測試標(biāo)識(shí)對應(yīng)的測試腳本,進(jìn)而使得測試列表中的測試腳本能夠全部運(yùn)行完成。
顯示模塊30,用于在所述測試腳本運(yùn)行完成時(shí),顯示所述測試腳本的測試結(jié)果。
本實(shí)施例中,對于測試執(zhí)行器完成的測試結(jié)果,測試執(zhí)行器和程序交互UI之間通過回調(diào)的方式獲取測試結(jié)果數(shù)據(jù),程序交互層UI接收到測試結(jié)果數(shù)據(jù)后,對測試結(jié)果數(shù)據(jù)進(jìn)行反序列化獲得數(shù)據(jù)對象,并對反序列化后的數(shù)據(jù)對象進(jìn)行解析獲取測試結(jié)果,具體地,對獲取的測試結(jié)果讀取測試腳本的名稱、測試是否通過等信息,以“測試名稱:測試是否通過”的形式呈現(xiàn)在UI界面中,對于沒有通過的測試項(xiàng),將會(huì)在所有測試腳本完成的時(shí)候一起呈現(xiàn)給用戶,并同時(shí)展現(xiàn)對應(yīng)的未通過原因,以及測試通過具有的標(biāo)準(zhǔn),以及當(dāng)前測試腳本每一個(gè)點(diǎn)測試的結(jié)果信息;測試結(jié)果數(shù)據(jù)包括當(dāng)前測試腳本的測試結(jié)果數(shù)據(jù)中包含:是否測試通過、當(dāng)前測試腳本的檢測標(biāo)準(zhǔn)、當(dāng)前測試腳本中每一個(gè)點(diǎn)的測試結(jié)果情況。
進(jìn)一步地,在一實(shí)施例中,該智能電視的自動(dòng)化測試裝置還包括:生成模塊,用于基于所述測試腳本生成測試列表,其中,所述測試列表包括所述測試腳本的腳本標(biāo)識(shí);
本實(shí)施例中,基于測試腳本生成測試列表是指按照隨機(jī)的順序?qū)@取到的所有測試樣本中測試腳本的腳本標(biāo)識(shí)存儲(chǔ)至測試列表中。
第二獲取模塊20還用于在測試執(zhí)行器處于閑置狀態(tài)時(shí),依次獲取所述測試列表中的測試標(biāo)識(shí),并控制測試執(zhí)行器基于所述測試標(biāo)識(shí)對應(yīng)的測試參數(shù)運(yùn)行所述測試標(biāo)識(shí)對應(yīng)的測試腳本;
本實(shí)施例中,在測試執(zhí)行器閑置時(shí),第二獲取模塊20根據(jù)測試列表中的測試標(biāo)識(shí)對應(yīng)的測試參數(shù)依次運(yùn)行測試列表中的測試標(biāo)識(shí)對應(yīng)的測試腳本,以進(jìn)行相關(guān)測試,在每一次測試腳本運(yùn)行完成時(shí),控制測試執(zhí)行器運(yùn)行下一個(gè)測試標(biāo)識(shí)對應(yīng)的測試腳本,進(jìn)而使得測試列表中的測試腳本能夠全部運(yùn)行完成。
本實(shí)施例中,通過在接收到所述智能電視的測試指令時(shí),第一獲取模塊10獲取所述智能電視對應(yīng)的測試樣本,接著在測試執(zhí)行器處于閑置狀態(tài)時(shí),第二獲取模塊20依次獲取測試腳本的測試標(biāo)識(shí),并控制測試執(zhí)行器基于所述測試標(biāo)識(shí)對應(yīng)的測試參數(shù)運(yùn)行所述測試標(biāo)識(shí)對應(yīng)的測試腳本,最后在所述測試腳本運(yùn)行完成時(shí),顯示模塊30顯示所述測試腳本的測試結(jié)果,實(shí)現(xiàn)了智能電視的自動(dòng)化測試,避免了采用人工的方式進(jìn)行測試時(shí)受人力因素的影響而造成測試力度不足的情況,提高了測試效率以及測試效果,進(jìn)而提高了智能電視的質(zhì)量和可靠性。
基于第一實(shí)施例提出本發(fā)明智能電視的自動(dòng)化測試裝置的第二實(shí)施例,參照圖6,在本實(shí)施例中,第二獲取模塊20包括:
存儲(chǔ)單元21,用于在測試執(zhí)行器處于閑置狀態(tài)時(shí),依次將所述測試列表中的測試標(biāo)識(shí)存儲(chǔ)至測試池中;
本實(shí)施例中,設(shè)置一個(gè)存放測試列表中的測試標(biāo)識(shí)的存儲(chǔ)空間即測試池,用于臨時(shí)存放測試標(biāo)識(shí),以避免測試過程中出現(xiàn)程序運(yùn)行紊亂。
控制單元22,用于控制所述測試執(zhí)行器獲取所述測試池中的測試標(biāo)識(shí),并基于所述測試標(biāo)識(shí)對應(yīng)的測試參數(shù)運(yùn)行所述測試標(biāo)識(shí)對應(yīng)的測試腳本。
控制單元22根據(jù)測試標(biāo)識(shí)對應(yīng)的測試參數(shù)依次運(yùn)行測試列表中的測試標(biāo)識(shí)對應(yīng)的測試腳本,以進(jìn)行相關(guān)測試,在每一次測試腳本運(yùn)行完成時(shí),控制測試執(zhí)行器運(yùn)行下一個(gè)測試標(biāo)識(shí)對應(yīng)的測試腳本,進(jìn)而使得測試列表中的測試腳本能夠全部運(yùn)行完成。
在具體實(shí)現(xiàn)中,對確認(rèn)的測試樣本列表,依次取出每一個(gè)測試項(xiàng),對取出的每一個(gè)測試項(xiàng)封裝在一個(gè)測試腳本中,其中,具體封裝方式為:將測試項(xiàng)的名稱作為對應(yīng)的測試腳本的測試名稱,將測試項(xiàng)的預(yù)定輸入數(shù)據(jù)作為參數(shù)傳入,測試結(jié)果等待測試結(jié)束的時(shí)候?qū)懭霚y試腳本之中;測試腳本包含:測試腳本的名稱、測試腳本需要傳遞的參數(shù)、測試結(jié)果數(shù)據(jù)結(jié)構(gòu)體;對構(gòu)造的單個(gè)測試腳本通過注冊接口的方式添加到測試池中;對于測試池中注入的測試腳本,依次分配一個(gè)線程,分配的線程等待上一個(gè)線程結(jié)束后即在測試執(zhí)行器處于閑置狀態(tài)時(shí)執(zhí)行。
對于注冊到測試池中的測試腳本,程序中具有一個(gè)線程管理模塊即測試控制器,測試控制器負(fù)責(zé)線程池中的線程生命周期,包含:線程開始,線程執(zhí)行,線程結(jié)束,線程終止;測試控制器依次取出測試腳本,對取出的每一個(gè)測試腳本分配一個(gè)線程進(jìn)行測試,測試的過程中,每一個(gè)測試腳本線程都有不同的測試狀態(tài),包含:測試開始、測試中、測試結(jié)束、測試停止四個(gè)狀態(tài),測試腳本線程開始進(jìn)入測試開始狀態(tài),表示即將開始測試,測試進(jìn)行后,通過測試腳本中的測試名稱,調(diào)用對應(yīng)的基礎(chǔ)測試腳本庫中的測試代碼進(jìn)行測試,此時(shí)測試線程進(jìn)入測試中狀態(tài),當(dāng)測試完成后,將測試結(jié)果寫入到測試腳本中的上測試結(jié)果保存數(shù)據(jù),此時(shí)進(jìn)入測試結(jié)束狀態(tài),當(dāng)前測試腳本測試完成;同時(shí)對于在測試過程中的測試線程,當(dāng)遇到用戶主動(dòng)操作終止當(dāng)前測試,測試控制器將會(huì)主動(dòng)終止當(dāng)前正在運(yùn)行的測試腳本線程,此時(shí)測試線程的狀態(tài)變成測試停止?fàn)顟B(tài);針對已經(jīng)完成的測試任務(wù)的測試腳本的測試結(jié)果,測試控制器將會(huì)對測試腳本進(jìn)行序列化,系列化后的數(shù)據(jù)保存在內(nèi)存中;當(dāng)測試腳本被測試控制器執(zhí)行完成后,對序列化到內(nèi)存中的數(shù)據(jù)返回給到程序交互層UI,在程序交互層UI進(jìn)行當(dāng)前測試結(jié)果的呈現(xiàn)。
本實(shí)施例中,通過在測試執(zhí)行器處于閑置狀態(tài)時(shí),存儲(chǔ)單元21依次將所述測試列表中的測試標(biāo)識(shí)存儲(chǔ)至測試池中,而后控制單元22控制所述測試執(zhí)行器獲取所述測試池中的測試標(biāo)識(shí),并基于所述測試標(biāo)識(shí)對應(yīng)的測試參數(shù)運(yùn)行所述測試標(biāo)識(shí)對應(yīng)的測試腳本,實(shí)現(xiàn)了智能電視的自動(dòng)化測試,并且通過測試池能夠避免測試過程中發(fā)送程序紊亂的情況,進(jìn)一步提高了測試效率以及測試效果,進(jìn)而提高了智能電視的質(zhì)量和可靠性。
基于第一實(shí)施例提出本發(fā)明智能電視的自動(dòng)化測試裝置的第三實(shí)施例,參照圖7,在本實(shí)施例中,第一獲取模塊10包括:
第一獲取單元11,用于在接收到所述智能電視的測試請求時(shí),獲取所述智能電視的測試參數(shù),其中,所述測試參數(shù)包括所述智能電視的硬件參數(shù)及系統(tǒng)參數(shù);
具體地,測試參數(shù)包括機(jī)芯參數(shù)、機(jī)型參數(shù)、Android版本參數(shù)、sd卡支持參數(shù)、鼠標(biāo)支持參數(shù)、手柄支持參數(shù)、鍵盤支持參數(shù)等。測試指令可以由測試人員通過服務(wù)器或其他設(shè)備發(fā)送至智能電視的自動(dòng)化測試裝置,或者在智能電視的自動(dòng)化測試裝置上設(shè)置有測試按鈕/按鍵,用于在需要時(shí)觸發(fā)測試指令。
第二獲取單元12,用于基于所述測試參數(shù)獲取所述智能電視對應(yīng)的測試腳本。
其中,測試腳本至少包括以下之一:機(jī)型測試腳本、內(nèi)存測試腳本、分區(qū)測試腳本、簽名測試腳本、系統(tǒng)權(quán)限測試腳本、字體測試腳本、鍵盤測試腳本、U盤測試腳本、鼠標(biāo)測試腳本、手柄測試腳本、開機(jī)動(dòng)畫測試腳本及恢復(fù)出廠測試腳本。
本實(shí)施例中,通過在接收到所述智能電視的測試請求時(shí),第一獲取單元11獲取所述智能電視的測試參數(shù),而后第二獲取單元12基于所述測試參數(shù)獲取所述智能電視對應(yīng)的測試腳本,實(shí)現(xiàn)了根據(jù)智能電視的測試參數(shù)獲取測試腳本,進(jìn)而能夠準(zhǔn)確、完全的獲取智能電視需要的測試腳本,能夠避免遺漏測試項(xiàng)而導(dǎo)致某些功能沒有測試或測試不到位的情況,進(jìn)一步提高了測試效率以及測試效果,進(jìn)而提高了智能電視的質(zhì)量和可靠性。
基于第一實(shí)施例提出本發(fā)明智能電視的自動(dòng)化測試裝置的第四實(shí)施例,參照圖8,在本實(shí)施例中,智能電視的自動(dòng)化測試裝置還包括:
檢測模塊40,用于在接收到測試結(jié)果的導(dǎo)出指令時(shí),檢測當(dāng)前是否已連接外部存儲(chǔ)設(shè)備;
本實(shí)施例中,可以在智能電視的測試過程中、或者智能電視全部測試完成時(shí),將所有測試腳本運(yùn)行得到的測試結(jié)果導(dǎo)出,以供測試人員進(jìn)行后續(xù)進(jìn)一步的數(shù)據(jù)處理,因此在接收到測試結(jié)果的導(dǎo)出指令時(shí),檢測當(dāng)前是否已連接外部存儲(chǔ)設(shè)備。
存儲(chǔ)模塊50,用于在當(dāng)前已連接外部存儲(chǔ)設(shè)備時(shí),將所述測試結(jié)果存儲(chǔ)至所述外部存儲(chǔ)設(shè)備。
本實(shí)施例中,對于每一次的測試結(jié)果,分別讀取測試腳本的測試名稱、測試結(jié)果,對每一項(xiàng)按照測試是否通過,測試如果沒有通過,依次讀取沒有通過的項(xiàng)目,以及測試通過的檢測標(biāo)準(zhǔn)寫入到指定文件中;當(dāng)用戶需要導(dǎo)出數(shù)據(jù)的時(shí)候,先判斷用戶是否插入外部存儲(chǔ)設(shè)備,如U盤或者SD卡,如果有插入存儲(chǔ)設(shè)備,則將保存數(shù)據(jù)的文件拷貝到存儲(chǔ)設(shè)備中,并給到用戶提示導(dǎo)出的路徑文件目錄;否則提示用戶沒有外接存儲(chǔ)設(shè)備,提示用戶插入存儲(chǔ)設(shè)備。
本實(shí)施例中,通過在接收到測試結(jié)果的導(dǎo)出指令時(shí),檢測模塊40檢測當(dāng)前是否已連接外部存儲(chǔ)設(shè)備;而后在當(dāng)前已連接外部存儲(chǔ)設(shè)備時(shí),存儲(chǔ)模塊50將所述測試結(jié)果存儲(chǔ)至所述外部存儲(chǔ)設(shè)備,實(shí)現(xiàn)了將測試結(jié)果導(dǎo)出至外部存儲(chǔ)設(shè)備,以便于測試人員對測試結(jié)果進(jìn)行后續(xù)的數(shù)據(jù)處理。
以上僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。