麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

一種應用程序APP的測試方法、裝置和介質與流程

文檔序號:11230359閱讀:1034來源:國知局
一種應用程序APP的測試方法、裝置和介質與流程

本發明的實施方式涉及測試領域,更具體地,本發明的實施方式涉及一種應用程序app的測試方法、裝置和介質。



背景技術:

本部分旨在為權利要求書中陳述的本發明的實施方式提供背景或上下文。此處的描述不因為包括在本部分中就承認是現有技術。

在智能終端越來越普遍的時代,應用在智能終端中的app(application,應用程序)也慢慢得到普及,人們使用app的頻次逐漸增加。由于用戶對app的類型和功能的要求不斷提高,因此,為了滿足用戶的不同需求,開發商開發了具備不同功能的app。

一般情況下,需要對新開發的app進行測試,目前主要采用如下幾種測試方法:

1、采用單一的手機進行測試:例如,有道詞典的所有版本均使用安卓5.0的華為p8青春版進行測試,由于手機的淘汰速率非常快,2015年的旗艦機,到2017年時很可能已經成為比較落伍的配置了,市場占有率可能已經低于1%了,此時,測試結果已經不能反映實際用戶量最多或者普遍意義上的性能指標,因此,如果采用單一機型進行測試的話,一般一年半左右就需要改用其他新的旗艦機來進行測試了,因此,存在測試結果的有效性維持時間較短的缺陷;

2、采用第三方提供的topn的終端進行測試:由于第三方提供的topn的終端并不是使用被測應用的topn的終端,存在準確度較低的缺陷。



技術實現要素:

因此,目前的app的測試方法存在測試結果的有效性維持時間較短、準確度較低的缺陷,這是非常令人煩惱的過程。

為此,非常需要一種改進的app測試方法,以解決現有技術中存在的有效性維持時間較短、準確度較低的缺陷。

在本上下文中,本發明的實施方式期望提供一種新的app的測試方法和裝置。

在本發明實施方式的第一方面中,提供了一種應用程序app的測試方法,包括:

判斷日志系統中是否存在待測app的用戶日志,根據判斷結果確定用于測試待測app的n個終端型號,所述n為>0的整數;

通過所述n個終端型號對應的終端對所述待測app進行測試,得到目標類型測試數據。

在一個實施方式中,根據本發明的上述實施方式所述的方法,所述用戶日志包括在每一個終端型號下分別使用所述待測app的用戶數量信息。

在一些實施方式中,根據本發明的上述任一實施方式所述的方法,根據判斷結果確定用于測試待測app的n個終端型號,包括:

若所述日志系統中存在待測app的用戶日志,針對每一個終端型號,分別計算使用所述待測app的用戶數量,將計算得到的用戶數量進行排序,并將排序后從最大用戶數量開始的前n個用戶數量對應的終端型號作為確定出的n個終端型號;

若所述日志系統中不存在待測app的用戶日志,將按照特定規則排序后的前n個終端型號作為確定出的n個終端型號。

在一些實施方式中,根據本發明的上述任一實施方式所述的方法,通過所述n個終端型號對應的終端對所述待測app進行測試,得到目標類型測試數據,包括:

對在所述n個終端型號中的每一個終端型號對應的終端上安裝的所述待測app進行功能測試,得到功能測試數據。

在一些實施方式中,根據本發明的上述任一實施方式所述的方法,對在所述n個終端型號中的每一個終端型號對應的終端上安裝的所述待測app進行功能測試,包括:

對在所述n個終端型號中的每一個終端型號對應的終端上安裝的所述待測app均進行如下操作:

獲取測試腳本,對所述測試腳本進行校驗,若校驗成功,根據所述測試腳本對所述待測app進行功能測試;若校驗失敗,對所述待測app進行monkey測試。

在一些實施方式中,根據本發明的上述任一實施方式所述的方法,通過所述n個終端型號對應的終端對所述待測app進行測試,得到目標類型測試數據,包括:

針對目標參數中的任意一目標參數,采用如下方式計算所述待測app的所述任意一目標參數的性能測試數據:

a=(x1*y1+……+xi*yi+……+xn*yn)/(y1+……+yi+……+yn)

其中,a為所述待測app的所述任意一目標參數的性能測試數據;

若所述日志系統中存在待測app的用戶日志,y1表示采用所述待測app的終端型號1的終端在所有終端中的比例、yi表示采用所述待測app的終端型號i的終端在所有終端中的比例、yn表示采用所述待測app的終端型號n的終端在所有終端中的比例;若所述日志系統中不存在待測app的用戶日志,y1表示終端型號1的終端在市場中的占有率、yi表示終端型號i的終端在市場中的占有率、yn表示終端型號n的終端在市場中的占有率;

x1表示所述待測app在終端型號1的終端中時所述任意一目標參數的數值、xi表示所述待測app在終端型號i的終端中時所述任意一目標參數的數值、xn表示所述待測app在終端型號n的終端中時所述任意一目標參數的數值。

在一些實施方式中,根據本發明的上述任一實施方式所述的方法,xi采用如下方式計算:

xi=((a1+a2+……+aj)/j)*m%+((b1+b2+……+bk)/k)*(1-m%)

其中,j為所述待測app在終端型號i的終端上首次啟動的次數,a1表示所述待測app在終端型號i的終端上第一次首次啟動時的所述任意一目標參數的數值、a2表示所述待測app在終端型號i的終端上第二次首次啟動時的所述任意一目標參數的數值、……、aj表示所述待測app在終端型號i的終端上第j次首次啟動時的所述任意一目標參數的數值;

k為所述待測app在終端型號i的終端上非首次啟動的次數,b1表示所述待測app在終端型號i的終端上第一次非首次啟動時的所述任意一目標參數的數值、b2表示所述待測app在終端型號i的終端上第二次非首次啟動時的所述任意一目標參數的數值、……、bk表示所述待測app在終端型號i的終端上第k次非首次啟動時的所述任意一目標參數的數值;

m%為所述待測app在終端型號i的終端上首次啟動次數在總的啟動次數中所占的比例。

在一些實施方式中,根據本發明的上述任一實施方式所述的方法,所述目標參數包括啟動時間、流量、耗電量、所述待測app所占內存的大小、所述待測app對中央處理器cpu的占有率、幀率中的至少一種。

在一些實施方式中,根據本發明的上述任一實施方式所述的方法,所述方法還包括:采用系統系數對所述待測app的該目標參數的性能測試數據進行優化。

在本發明實施方式的第二方面中,提供了一種應用程序app的測試裝置,包括:

確定單元,用于判斷日志系統中是否存在待測app的用戶日志,根據判斷結果確定用于測試待測app的n個終端型號,所述n為>0的整數;

測試單元,用于通過所述n個終端型號對應的終端對所述待測app進行測試,得到目標類型測試數據。

在一個實施方式中,根據本發明的上述實施方式所述的裝置,所述用戶日志包括在每一個終端型號下分別使用所述待測app的用戶數量信息。

在一些實施方式中,根據本發明的上述任一實施方式所述的裝置,所述確定單元根據判斷結果確定用于測試待測app的n個終端型號時,具體為:

若所述日志系統中存在待測app的用戶日志,針對每一個終端型號,分別計算使用所述待測app的用戶數量,將計算得到的用戶數量進行排序,并將排序后從最大用戶數量開始的前n個用戶數量對應的終端型號作為確定出的n個終端型號;

若所述日志系統中不存在待測app的用戶日志,將按照特定規則排序后的前n個終端型號作為確定出的n個終端型號。

在一些實施方式中,根據本發明的上述任一實施方式所述的裝置,所述測試單元通過所述n個終端型號對應的終端對所述待測app進行測試,得到目標類型測試數據時,具體為:

對在所述n個終端型號中的每一個終端型號對應的終端上安裝的所述待測app進行功能測試,得到功能測試數據。

在一些實施方式中,根據本發明的上述任一實施方式所述的裝置,所述測試單元對在所述n個終端型號中的每一個終端型號對應的終端上安裝的所述待測app進行功能測試時,具體為:

對在所述n個終端型號中的每一個終端型號對應的終端上安裝的所述待測app均進行如下操作:

獲取測試腳本,對所述測試腳本進行校驗,若校驗成功,根據所述測試腳本對所述待測app進行功能測試;若校驗失敗,對所述待測app進行monkey測試。

在一些實施方式中,根據本發明的上述任一實施方式所述的裝置,所述測試單元通過所述n個終端型號對應的終端對所述待測app進行測試,得到目標類型測試數據時,具體為:

針對目標參數中的任意一目標參數,采用如下方式計算所述待測app的所述任意一目標參數的性能測試數據:

a=(x1*y1+……+xi*yi+……+xn*yn)/(y1+……+yi+……+yn)

其中,a為所述待測app的所述任意一目標參數的性能測試數據;

若所述日志系統中存在待測app的用戶日志,y1表示采用所述待測app的終端型號1的終端在所有終端中的比例、yi表示采用所述待測app的終端型號i的終端在所有終端中的比例、yn表示采用所述待測app的終端型號n的終端在所有終端中的比例;若所述日志系統中不存在待測app的用戶日志,y1表示終端型號1的終端在市場中的占有率、yi表示終端型號i的終端在市場中的占有率、yn表示終端型號n的終端在市場中的占有率;

x1表示所述待測app在終端型號1的終端中時所述任意一目標參數的數值、xi表示所述待測app在終端型號i的終端中時所述任意一目標參數的數值、xn表示所述待測app在終端型號n的終端中時所述任意一目標參數的數值。

在一些實施方式中,根據本發明的上述任一實施方式所述的裝置,xi采用如下方式計算:

xi=((a1+a2+……+aj)/j)*m%+((b1+b2+……+bk)/k)*(1-m%)

其中,j為所述待測app在終端型號i的終端上首次啟動的次數,a1表示所述待測app在終端型號i的終端上第一次首次啟動時的所述任意一目標參數的數值、a2表示所述待測app在終端型號i的終端上第二次首次啟動時的所述任意一目標參數的數值、……、aj表示所述待測app在終端型號i的終端上第j次首次啟動時的所述任意一目標參數的數值;

k為所述待測app在終端型號i的終端上非首次啟動的次數,b1表示所述待測app在終端型號i的終端上第一次非首次啟動時的所述任意一目標參數的數值、b2表示所述待測app在終端型號i的終端上第二次非首次啟動時的所述任意一目標參數的數值、……、bk表示所述待測app在終端型號i的終端上第k次非首次啟動時的所述任意一目標參數的數值;

m%為所述待測app在終端型號i的終端上首次啟動次數在總的啟動次數中所占的比例。

在一些實施方式中,根據本發明的上述任一實施方式所述的裝置,所述目標參數包括啟動時間、流量、耗電量、所述待測app所占內存的大小、所述待測app對中央處理器cpu的占有率、幀率中的至少一種。

在一些實施方式中,根據本發明的上述任一實施方式所述的裝置,所述裝置還包括優化單元,用于采用系統系數對所述待測app的該目標參數的性能測試數據進行優化。

在本發明實施方式的第三方面中,提供了一種應用程序app的測試裝置,包括:

一個或者多個處理器;

存儲器,存儲有程序,當所述程序被所述一個或者多個處理器執行時,所述程序使所述app的測試裝置執行如第一方面或者第一方面的任意一種實施方式所述的方法。

在本發明實施方式的第四方面中,提供了一種計算機可讀存儲介質,所述計算機可讀存儲介質存儲有程序,當所述程序被處理器執行時,使得所述處理器執行如第一方面或者第一方面的任意一種實施方式所述的方法。

本發明實施例中,提出一種應用程序app的測試方法,包括:判斷日志系統中是否存在待測app的用戶日志,根據判斷結果確定用于測試待測app的n個終端型號,所述n為>0的整數;通過所述n個終端型號對應的終端對所述待測app進行測試,得到目標類型測試數據。在該方案中,是通過所述n個終端型號對應的終端對所述待測app進行測試,并不是采用單一機型來測試的,因此,提高了測試結果的有效性的維持時長,此外,測試app的終端是根據該app來確定的,提高了待測試的app和進行測試的終端之間的相關性,因此,還可以提高測試結果的準確度。

附圖說明

通過參考附圖閱讀下文的詳細描述,本發明示例性實施方式的上述以及其他目的、特征和優點將變得易于理解。在附圖中,以示例性而非限制性的方式示出了本發明的若干實施方式,其中:

圖1a示意性地示出了根據本發明實施方式的app的測試方法的流程圖;

圖1b示意性地示出了根據本發明實施方式的示例app的測試方法的流程圖;

圖2示意性地示出了根據本發明實施方式的app的測試裝置的一種示意圖;

在附圖中,相同或對應的標號表示相同或對應的部分。

具體實施方式

下面將參考若干示例性實施方式來描述本發明的原理和精神。應當理解,給出這些實施方式僅僅是為了使本領域技術人員能夠更好地理解進而實現本發明,而并非以任何方式限制本發明的范圍。相反,提供這些實施方式是為了使本公開更加透徹和完整,并且能夠將本公開的范圍完整地傳達給本領域的技術人員。

本領域技術人員知道,本發明的實施方式可以實現為一種系統、裝置、設備、方法或計算機程序產品。因此,本公開可以具體實現為以下形式,即:完全的硬件、完全的軟件(包括固件、駐留軟件、微代碼等),或者硬件和軟件結合的形式。

根據本發明的實施方式,提出了一種應用程序app的測試方法、裝置和介質。

在本文中,附圖中的任何元素數量均用于示例而非限制,以及任何命名都僅用于區分,而不具有任何限制含義。

下面參考本發明的若干代表性實施方式,詳細闡釋本發明的原理和精神。

發明概述

本發明人發現,可以采用無人值守的方式來測試app,具體為,先判斷日志系統中是否存在待測app的用戶日志,通過這種方式來查看待測試的app是否為市場中已經存在的app,如果待測試的app是市場中已經存在的app,則根據用戶對app的使用情況來確定出n個終端型號,如果待測試的app不是市場中已經存在的app,則采用其他方式來確定出n個終端型號,然后通過確定出的n個終端型號對應的終端對待測試的app進行測試,得到測試結果,這樣,是通過所述n個終端型號對應的終端對所述待測app進行測試,并不是采用單一機型來測試的,因此,提高了測試結果的有效性的維持時長,此外,測試app的終端是根據該app來確定的,提高了待測試的app和進行測試的終端之間的相關性,因此,還可以提高測試結果的準確度。

在介紹了本發明的基本原理之后,下面具體介紹本發明的各種非限制性實施方式。

應用場景總覽

例如,欲對app1進行測試,先判斷日志系統中是否存在app1的用戶日志,如果有,說明app1在市場中已經有用戶使用app1,此時,可以確定出使用app1的用戶數量排名前三的終端型號,如:終端型號1、終端型號2和終端型號3,接下來,通過終端型號1對應的終端對app1進行測試,通過終端型號2對應的終端對app1進行測試,通過終端型號3對應的終端對app1進行測試,得到測試結果。這樣,是通過3個終端型號對應的終端對所述待測app進行測試,并不是采用單一機型來測試的,因此,提高了測試結果的有效性的維持時長,此外,測試app1的終端是根據app1來確定的,提高了app1和進行測試的終端之間的相關性,因此,還可以提高測試結果的準確度。

如果日志系統中不存在app1的用戶日志,此時,可以將按照特定規則排序后的終端型號中的三個終端型號作為確定出的終端型號,例如第三方提供的當前市場上使用的終端型號按照用戶使用量排序后的前三種終端型號作為確定出的終端型號。

示例性方法

下面結合上面描述的應用場景,參考圖1來描述根據本發明示例性實施方式的用于app的測試方法。需要注意的是,上述應用場景僅是為了便于理解本發明的精神和原理而示出,本發明的實施方式在此方面不受任何限制。相反,本發明的實施方式可以應用于適用的任何場景。

參閱圖1a所示,本發明實施例中,提出一種app的測試方法10,包括如下步驟:

步驟100:判斷日志系統中是否存在待測app的用戶日志,根據判斷結果確定用于測試待測app的n個終端型號,所述n為>0的整數;

步驟110:通過所述n個終端型號對應的終端對所述待測app進行測試,得到目標類型測試數據。

本發明實施例中,可選地,所述用戶日志包括在每一個終端型號下分別使用所述待測app的用戶數量信息。例如,終端型號1使用待測app的用戶數量為10萬,終端型號2使用待測app的用戶數量為20萬,終端型號3使用待測app的用戶數量為12萬,以此類推。

當然,上述只是用戶日志的一種示例,用戶日志中還可能包括其他信息,在此不做具體限定。

本發明實施例中,根據判斷結果確定用于測試待測app的n個終端型號的方式有多種,可選地,可以采用如下方式:

若所述日志系統中存在待測app的用戶日志,針對每一個終端型號,分別計算使用所述待測app的用戶數量,將計算得到的用戶數量進行排序,并將排序后從最大用戶數量開始的前n個用戶數量對應的終端型號作為確定出的n個終端型號;

若所述日志系統中不存在待測app的用戶日志,將按照特定規則排序后的前n個終端型號作為確定出的n個終端型號。

例如,待測app為app1,日志系統中存在app1的用戶日志,需要確定出3個終端型號,若日志系統中的終端型號為10個:終端型號1、終端型號2、……、終端型號10,針對這10個終端型號分別計算每一個終端型號使用app1的用戶數量,如計算得到終端型號1使用app1的用戶數量為x1、計算得到終端型號2使用app1的用戶數量為x2、計算得到終端型號3使用app1的用戶數量為x3,以此類推,直至計算得到終端型號10使用app1的用戶數量為x10,對x1、x2、x3、……x10進行排序,如果采用降序排序的方式,則將從首位開始的前3個終端型號作為確定出的終端型號,如果采用升序排序的方式,則將從末位開始的后3個終端型號作為確定出的終端型號。

又例如,待測app為app2,日志系統中不存在app2的用戶日志,需要確定出3個終端型號,此時,可以將按照特定規則排序后的終端型號中的三個終端型號作為確定出的終端型號。

本發明實施例中,可選地,特定規則可以是第三方提供的當前市場上使用的終端型號按照用戶使用量的排序列表。當然,還可以是其他規則,在此不做具體限定。

本發明實施例中,通過所述n個終端型號對應的終端對所述待測app進行測試,得到目標類型測試數據時,可選地,可以采用如下方式:

對在所述n個終端型號中的每一個終端型號對應的終端上安裝的所述待測app進行功能測試,得到功能測試數據。

例如,確定出5個終端型號:終端型號1、終端型號2、終端型號3、終端型號4和終端型號5,取5個終端,終端型號1對應的終端1、終端型號2對應的終端2、終端型號3對應的終端3、終端型號4對應的終端4和終端型號5對應的終端5,在終端1、終端2、終端3、終端4和終端5上均安裝待測app,進行功能測試,得到功能測試數據。

本發明實施例中,對待測app進行測試主要是測試兩方面,一方面是測試功能(也可以說是測試穩定性),另一方面是測試性能。

本發明實施例中,對在所述n個終端型號中的每一個終端型號對應的終端上安裝的所述待測app進行功能測試時,可選地,可以采用如下方式:

對在所述n個終端型號中的每一個終端型號對應的終端上安裝的所述待測app均進行如下操作:

獲取測試腳本,對所述測試腳本進行校驗,若校驗成功,根據所述測試腳本對所述待測app進行功能測試;若校驗失敗,對所述待測app進行monkey測試。

下面對前面所說的性能測試進行說明,如通過所述n個終端型號對應的終端對所述待測app進行測試,得到目標類型測試數據時,可選地,可以采用如下方式:

針對目標參數中的任意一目標參數,采用如下方式計算所述待測app的所述任意一目標參數的性能測試數據:

a=(x1*y1+……+xi*yi+……+xn*yn)/(y1+……+yi+……+yn)(公式一)

其中,a為所述待測app的所述任意一目標參數的性能測試數據;

若所述日志系統中存在待測app的用戶日志,y1表示采用所述待測app的終端型號1的終端在所有終端中的比例、yi表示采用所述待測app的終端型號i的終端在所有終端中的比例、yn表示采用所述待測app的終端型號n的終端在所有終端中的比例;若所述日志系統中不存在待測app的用戶日志,y1表示終端型號1的終端在市場中的占有率、yi表示終端型號i的終端在市場中的占有率、yn表示終端型號n的終端在市場中的占有率;

x1表示所述待測app在終端型號1的終端中時所述任意一目標參數的數值、xi表示所述待測app在終端型號i的終端中時所述任意一目標參數的數值、xn表示所述待測app在終端型號n的終端中時所述任意一目標參數的數值。

需要說明的是,當所述日志系統中不存在待測app的用戶日志,各個終端型號的終端在市場中的占有率可以是第三方提供的,當然,還可以采用其他方式來獲得的,在此不做具體限定。

例如,待測app為app1,如果所述日志系統中存在app1的用戶日志,公式一中的yi表示的是使用app1的終端型號i的終端在所有終端中的比例,如果所述日志系統中不存在app1的用戶日志,公式一中的yi表示的是終端型號i的終端在市場中的占有率。

本發明實施例中,可選地,xi采用如下方式計算:

xi=((a1+a2+……+aj)/j)*m%+((b1+b2+……+bk)/k)*(1-m%)(公式二)

其中,j為所述待測app在終端型號i的終端上首次啟動的次數,a1表示所述待測app在終端型號i的終端上第一次首次啟動時的所述任意一目標參數的數值、a2表示所述待測app在終端型號i的終端上第二次首次啟動時的所述任意一目標參數的數值、……、aj表示所述待測app在終端型號i的終端上第j次首次啟動時的所述任意一目標參數的數值;

k為所述待測app在終端型號i的終端上非首次啟動的次數,b1表示所述待測app在終端型號i的終端上第一次非首次啟動時的所述任意一目標參數的數值、b2表示所述待測app在終端型號i的終端上第二次非首次啟動時的所述任意一目標參數的數值、……、bk表示所述待測app在終端型號i的終端上第k次非首次啟動時的所述任意一目標參數的數值;

m%為所述待測app在終端型號i的終端上首次啟動次數在總的啟動次數中所占的比例。

本發明實施例中,可選地,所述目標參數包括啟動時間、流量、耗電量、所述待測app所占內存的大小、所述待測app對cpu的占有率、幀率中的至少一種。

例如,目標參數為啟動時間、流量、耗電量、app1所占內存的大小、app1對cpu的占有率、幀率,要通過3個終端型號的終端測試性能。

針對啟動時間:

通過終端型號1的終端計算啟動時間的方式為:

啟動時間1=((a1+a2+a3)/3)*m1%+((b1+b2+b3+b4)/4)*(1-m1%)

a1表示app1在終端型號1的終端上第1次首次啟動時的啟動時間的數值、a2表示app1在終端型號1的終端上第2次首次啟動時的啟動時間的數值、a3表示app1在終端型號1的終端上第3次首次啟動時的啟動時間的數值;b1表示app1在終端型號1的終端上第1次非首次啟動時的啟動時間的數值、b2表示app1在終端型號1的終端上第2次非首次啟動時的啟動時間的數值、b3表示app1在終端型號1的終端上第3次非首次啟動時的啟動時間的數值、b4表示app1在終端型號1的終端上第4次非首次啟動時的啟動時間的數值;m1%為app1在終端型號1的終端上首次啟動次數在總的啟動次數中所占的比例;

通過終端型號2的終端計算啟動時間的方式為:

啟動時間2=((c1+c2+c3)/3)*m2%+((d1+d2+d3+d4+d5)/5)*(1-m2%)

c1表示app1在終端型號2的終端上第1次首次啟動時的啟動時間的數值、c2表示app1在終端型號2的終端上第2次首次啟動時的啟動時間的數值、c3表示app1在終端型號2的終端上第3次首次啟動時的啟動時間的數值;d1表示app1在終端型號2的終端上第1次非首次啟動時的啟動時間的數值、d2表示app1在終端型號2的終端上第2次非首次啟動時的啟動時間的數值、d3表示app1在終端型號2的終端上第3次非首次啟動時的啟動時間的數值、d4表示app1在終端型號2的終端上第4次非首次啟動時的啟動時間的數值、d5表示app1在終端型號2的終端上第5次非首次啟動時的啟動時間的數值;m2%為app1在終端型號2的終端上首次啟動次數在總的啟動次數中所占的比例;

通過終端型號3的終端計算啟動時間的方式為:

啟動時間3=((e1+e2+e3+e4)/4)*m3%+((f1+f2+f3+f4)/4)*(1-m3%)

e1表示app1在終端型號3的終端上第1次首次啟動時的啟動時間的數值、e2表示app1在終端型號3的終端上第2次首次啟動時的啟動時間的數值、e3表示app1在終端型號3的終端上第3次首次啟動時的啟動時間的數值、e4表示app1在終端型號3的終端上第4次首次啟動時的啟動時間的數值;f1表示app1在終端型號3的終端上第1次非首次啟動時的啟動時間的數值、f2表示app1在終端型號3的終端上第2次非首次啟動時的啟動時間的數值、f3表示app1在終端型號3的終端上第3次非首次啟動時的啟動時間的數值、f4表示app1在終端型號3的終端上第4次非首次啟動時的啟動時間的數值;m3%為app1在終端型號3的終端上首次啟動次數在總的啟動次數中所占的比例。

前面描述了通過終端型號1的終端、終端型號2的終端、終端型號3的終端分別計算啟動時間的數值的過程,下面對根據啟動時間1、啟動時間2和啟動時間3來計算總的啟動時間的數值進行描述,總的啟動時間可以采用如下方式計算:

總的啟動時間=(啟動時間1*30%+啟動時間2*20%+啟動時間3*10%)/(30%+20%+10%)

30%可以為使用app1的終端型號1的終端在所有終端中的比例、20%可以為使用app1的終端型號2的終端在所有終端中的比例、10%可以為使用app1的終端型號3的終端在所有終端中的比例;

或者,30%可以為終端型號1的終端在市場中的占有率、20%可以為終端型號2的終端在市場中的占有率、10%可以為終端型號3的終端在市場中的占有率,這種情況下的各個終端型號的終端在市場中的占有率可以是第三方提供的,或者也可以通過其他方式獲取,在此不做具體限定。

本發明實施例中,為了提高檢測的準確度,無論是首次啟動還是非首次啟動都要模擬用戶的真實操作場景。

前面描述了啟動時間的計算方式,流量、耗電量、app1所占內存的大小、app1對cpu的占有率、幀率這些參數的計算方式與啟動時間的計算方式類似,在此不再進行一一詳述。

本發明實施例中,為了進一步提高計算得出的性能數值的準確度,所述方法還包括:采用系統系數對所述待測app的該目標參數的性能測試數據進行優化。

仍以前面描述的例子進行說明,總的啟動時間=(啟動時間1*30%+啟動時間2*20%+啟動時間3*10%)/(30%+20%+10%),計算得到總的啟動時間后,再將總的啟動時間和系統系數相乘,得到優化后的啟動時間。

下面對本發明提出的app的測試方法進行舉例說明。

參閱圖1b所示,針對待測app,判斷日志系統中是否存在待測app的用戶日志,根據判斷結果確定用于測試待測app的n個終端型號,具體為,若所述日志系統中存在待測app的用戶日志,針對每一個終端型號,分別計算使用所述待測app的用戶數量,將計算得到的用戶數量進行排序,并將排序后從最大用戶數量開始的前n個用戶數量對應的終端型號作為確定出的n個終端型號;若所述日志系統中不存在待測app的用戶日志,將按照特定規則排序后的前n個終端型號作為確定出的n個終端型號,在確定出n個終端型號后,在n個終端型號分別對應的終端中均安裝待測app,例如,在終端型號1對應的終端1上安裝待測app,在終端型號2對應的終端2上安裝待測app,在終端型號3對應的終端3上安裝待測app,在終端型號4對應的終端4上安裝待測app,……,在終端型號n對應的終端n上安裝待測app,通過安裝了待測app的n個終端分別執行兩方面的測試:穩定性測試和性能測試,關于穩定性測試,獲取測試腳本,然后校驗測試腳本,如果校驗成功,進行功能測試,如果校驗失敗,進行monkey測試;關于性能測試,如要測試6個目標參數的性能測試數據(啟動時間、流量、耗電量、待測app所占內存的大小、待測app對cpu的占有率、幀率),針對啟動時間,執行步驟s1和步驟s2:步驟s1:分別計算通過終端1、終端2、終端3、……、終端n得到的n個啟動時間數值;步驟s2:將得到的n個啟動時間數值綜合處理得到啟動時間的最終的性能測試數據。

其中,步驟s1中計算通過每一個終端得到的啟動時間的數值的方法采用如下方式:

mi=((f1+f2+……+fj)/j)*m%+((g1+g2+……+gk)/k)*(1-m%)

其中,mi為通過終端i得到的啟動時間的數值;j為所述待測app在終端型號i的終端上首次啟動的次數,f1表示所述待測app在終端型號i的終端上第一次首次啟動時的啟動時間的數值、f2表示所述待測app在終端型號i的終端上第二次首次啟動時的啟動時間的數值、……、fj表示所述待測app在終端型號i的終端上第j次首次啟動時的啟動時間的數值;

k為所述待測app在終端型號i的終端上非首次啟動的次數,g1表示所述待測app在終端型號i的終端上第一次非首次啟動時的啟動時間的數值、g2表示所述待測app在終端型號i的終端上第二次非首次啟動時的啟動時間的數值、……、gk表示所述待測app在終端型號i的終端上第k次非首次啟動時的啟動時間的數值;

m%為所述待測app在終端型號i的終端上首次啟動次數在總的啟動次數中所占的比例。

步驟s2中計算總的啟動時間的數值的方法采用如下方式:

b=(m1*p1+……+mi*pi+……+mn*pn)/(p1+……+pi+……+pn)

其中,b為所述待測app的總的啟動時間的性能測試數據;

若所述日志系統中存在待測app的用戶日志,p1表示采用所述待測app的終端型號1的終端在所有終端中的比例、pi表示采用所述待測app的終端型號i的終端在所有終端中的比例、pn表示采用所述待測app的終端型號n的終端在所有終端中的比例;若所述日志系統中不存在待測app的用戶日志,p1表示終端型號1的終端在市場中的占有率、pi表示終端型號i的終端在市場中的占有率、pn表示終端型號n的終端在市場中的占有率;

m1表示通過終端1測得的啟動時間的數值、mi表示通過終端i測得的啟動時間的數值、mn表示通過終端n測得的啟動時間的數值。

上面描述的是計算啟動時間的具體數值的方式,計算流量、耗電量、待測app所占內存的大小、待測app對cpu的占有率、幀率的具體數值的方式與計算啟動時間的具體數值的方式相同,在此不再進行詳述。

示例性裝置

在介紹了本發明示例性實施方式的方法之后,接下來,參考圖2對本發明示例性實施方式的、用于app的測試裝置20進行說明。

參閱圖2所示,提出一種app的測試裝置20,包括:

確定單元210,用于判斷日志系統中是否存在待測app的用戶日志,以及根據判斷結果確定用于測試待測app的n個終端型號,所述n為>0的整數;

測試單元220,用于通過所述n個終端型號對應的終端對所述待測app進行測試,得到目標類型測試數據。

本發明實施例中,可選地,所述用戶日志包括在每一個終端型號下分別使用所述待測app的用戶數量信息。例如,終端型號1使用待測app的用戶數量為10萬,終端型號2使用待測app的用戶數量為20萬,終端型號3使用待測app的用戶數量為12萬,以此類推。

當然,上述只是用戶日志的一種示例,用戶日志中還可能包括其他信息,在此不做具體限定。

本發明實施例中,所述確定單元210根據判斷結果確定用于測試待測app的n個終端型號時,具體為:

若所述日志系統中存在待測app的用戶日志,針對每一個終端型號,分別計算使用所述待測app的用戶數量,將計算得到的用戶數量進行排序,并將排序后從最大用戶數量開始的前n個用戶數量對應的終端型號作為確定出的n個終端型號;

若所述日志系統中不存在待測app的用戶日志,將按照特定規則排序后的前n個終端型號作為確定出的n個終端型號。

例如,待測app為app1,日志系統中存在app1的用戶日志,需要確定出3個終端型號,若日志系統中的終端型號為10個:終端型號1、終端型號2、……、終端型號10,針對這10個終端型號分別計算每一個終端型號使用app1的用戶數量,如計算得到終端型號1使用app1的用戶數量為x1、計算得到終端型號2使用app1的用戶數量為x2、計算得到終端型號3使用app1的用戶數量為x3,以此類推,直至計算得到終端型號10使用app1的用戶數量為x10,對x1、x2、x3、……x10進行排序,如果采用降序排序的方式,則將從首位開始的前3個終端型號作為確定出的終端型號,如果采用升序排序的方式,則將從末位開始的后3個終端型號作為確定出的終端型號。

又例如,待測app為app2,日志系統中不存在app2的用戶日志,需要確定出3個終端型號,此時,可以將按照特定規則排序后的終端型號中的三個終端型號作為確定出的終端型號。

本發明實施例中,可選地,特定規則可以是第三方提供的當前市場上使用的終端型號按照用戶使用量的排序列表。當然,還可以是其他規則,在此不做具體限定。

本發明實施例中,所述測試單元220通過所述n個終端型號對應的終端對所述待測app進行測試,得到目標類型測試數據時,具體為:

對在所述n個終端型號中的每一個終端型號對應的終端上安裝的所述待測app進行功能測試,得到功能測試數據。

例如,確定出5個終端型號:終端型號1、終端型號2、終端型號3、終端型號4和終端型號5,取5個終端,終端型號1對應的終端1、終端型號2對應的終端2、終端型號3對應的終端3、終端型號4對應的終端4和終端型號5對應的終端5,在終端1、終端2、終端3、終端4和終端5上均安裝待測app,進行功能測試,得到功能測試數據。

本發明實施例中,對待測app進行測試主要是測試兩方面,一方面是測試功能(也可以說是穩定性),另一方面是測試性能。

本發明實施例中,所述測試單元220對在所述n個終端型號中的每一個終端型號對應的終端上安裝的所述待測app進行功能測試時,具體為:

對在所述n個終端型號中的每一個終端型號對應的終端上安裝的所述待測app均進行如下操作:

獲取測試腳本,對所述測試腳本進行校驗,若校驗成功,根據所述測試腳本對所述待測app進行功能測試;若校驗失敗,對所述待測app進行monkey測試。這就是前面所說的穩定性測試。

本發明實施例中,所述測試單元220通過所述n個終端型號對應的終端對所述待測app進行測試,得到目標類型測試數據時,具體為:

針對目標參數中的任意一目標參數,采用如下方式計算所述待測app的所述任意一目標參數的性能測試數據:

a=(x1*y1+……+xi*yi+……+xn*yn)/(y1+……+yi+……+yn)

其中,a為所述待測app的所述任意一目標參數的性能測試數據;

若所述日志系統中存在待測app的用戶日志,y1表示采用所述待測app的終端型號1的終端在所有終端中的比例、yi表示采用所述待測app的終端型號i的終端在所有終端中的比例、yn表示采用所述待測app的終端型號n的終端在所有終端中的比例;若所述日志系統中不存在待測app的用戶日志,y1表示終端型號1的終端在市場中的占有率、yi表示終端型號i的終端在市場中的占有率、yn表示終端型號n的終端在市場中的占有率;

x1表示所述待測app在終端型號1的終端中時所述任意一目標參數的數值、xi表示所述待測app在終端型號i的終端中時所述任意一目標參數的數值、xn表示所述待測app在終端型號n的終端中時所述任意一目標參數的數值。

需要說明的是,當所述日志系統中不存在待測app的用戶日志,各個終端型號的終端在市場中的占有率可以是第三方提供的,當然,還可以采用其他方式來獲得,在此不做具體限定。

例如,待測app為app1,如果所述日志系統中存在app1的用戶日志,公式一中的yi表示的是使用app1的終端型號i的終端在所有終端中的比例,如果所述日志系統中不存在app1的用戶日志,公式一中的yi表示的是終端型號i的終端在市場中的占有率。

本發明實施例中,可選地,xi采用如下方式計算:

xi=((a1+a2+……+aj)/j)*m%+((b1+b2+……+bk)/k)*(1-m%)

其中,j為所述待測app在終端型號i的終端上首次啟動的次數,a1表示所述待測app在終端型號i的終端上第一次首次啟動時的所述任意一目標參數的數值、a2表示所述待測app在終端型號i的終端上第二次首次啟動時的所述任意一目標參數的數值、……、aj表示所述待測app在終端型號i的終端上第j次首次啟動時的所述任意一目標參數的數值;

k為所述待測app在終端型號i的終端上非首次啟動的次數,b1表示所述待測app在終端型號i的終端上第一次非首次啟動時的所述任意一目標參數的數值、b2表示所述待測app在終端型號i的終端上第二次非首次啟動時的所述任意一目標參數的數值、……、bk表示所述待測app在終端型號i的終端上第k次非首次啟動時的所述任意一目標參數的數值;

m%為所述待測app在終端型號i的終端上首次啟動次數在總的啟動次數中所占的比例。

例如,目標參數為啟動時間、流量、耗電量、app1所占內存的大小、app1對cpu的占有率、幀率,要通過3個終端型號的終端測試性能。

針對啟動時間:

通過終端型號1的終端計算啟動時間的方式為:

啟動時間1=((a1+a2+a3)/3)*m1%+((b1+b2+b3+b4)/4)*(1-m1%)

a1表示app1在終端型號1的終端上第1次首次啟動時的啟動時間的數值、a2表示app1在終端型號1的終端上第2次首次啟動時的啟動時間的數值、a3表示app1在終端型號1的終端上第3次首次啟動時的啟動時間的數值;b1表示app1在終端型號1的終端上第1次非首次啟動時的啟動時間的數值、b2表示app1在終端型號1的終端上第2次非首次啟動時的啟動時間的數值、b3表示app1在終端型號1的終端上第3次非首次啟動時的啟動時間的數值、b4表示app1在終端型號1的終端上第4次非首次啟動時的啟動時間的數值;m1%為app1在終端型號1的終端上首次啟動次數在總的啟動次數中所占的比例;

通過終端型號2的終端計算啟動時間的方式為:

啟動時間2=((c1+c2+c3)/3)*m2%+((d1+d2+d3+d4+d5)/5)*(1-m2%)

c1表示app1在終端型號2的終端上第1次首次啟動時的啟動時間的數值、c2表示app1在終端型號2的終端上第2次首次啟動時的啟動時間的數值、c3表示app1在終端型號2的終端上第3次首次啟動時的啟動時間的數值;d1表示app1在終端型號2的終端上第1次非首次啟動時的啟動時間的數值、d2表示app1在終端型號2的終端上第2次非首次啟動時的啟動時間的數值、d3表示app1在終端型號2的終端上第3次非首次啟動時的啟動時間的數值、d4表示app1在終端型號2的終端上第4次非首次啟動時的啟動時間的數值、d5表示app1在終端型號2的終端上第5次非首次啟動時的啟動時間的數值;m2%為app1在終端型號2的終端上首次啟動次數在總的啟動次數中所占的比例;

通過終端型號3的終端計算啟動時間的方式為:

啟動時間3=((e1+e2+e3+e4)/4)*m3%+((f1+f2+f3+f4)/4)*(1-m3%)

e1表示app1在終端型號3的終端上第1次首次啟動時的啟動時間的數值、e2表示app1在終端型號3的終端上第2次首次啟動時的啟動時間的數值、e3表示app1在終端型號3的終端上第3次首次啟動時的啟動時間的數值、e4表示app1在終端型號3的終端上第4次首次啟動時的啟動時間的數值;f1表示app1在終端型號3的終端上第1次非首次啟動時的啟動時間的數值、f2表示app1在終端型號3的終端上第2次非首次啟動時的啟動時間的數值、f3表示app1在終端型號3的終端上第3次非首次啟動時的啟動時間的數值、f4表示app1在終端型號3的終端上第4次非首次啟動時的啟動時間的數值;m3%為app1在終端型號3的終端上首次啟動次數在總的啟動次數中所占的比例。

前面描述了通過終端型號1的終端、終端型號2的終端、終端型號2的終端分別計算啟動時間的數值的過程,下面對根據啟動時間1、啟動時間2和啟動時間3來計算總的啟動時間的數值進行描述,總的啟動時間可以采用如下方式計算:

總的啟動時間=(啟動時間1*30%+啟動時間2*20%+啟動時間3*10%)/(30%+20%+10%)

30%可以為使用app1的終端型號1的終端在所有終端中的比例、20%可以為使用app1的終端型號2的終端在所有終端中的比例、10%可以為使用app1的終端型號3的終端在所有終端中的比例;

或者,30%可以為終端型號1的終端在市場中的占有率、20%可以為終端型號2的終端在市場中的占有率、10%可以為終端型號3的終端在市場中的占有率,這種情況下的各個終端型號的終端在市場中的占有率可以是第三方提供的,或者也可以通過其他方式獲取,在此不做具體限定。

本發明實施例中,為了提高檢測的準確度,無論是首次啟動還是非首次啟動都要模擬用戶的真實操作場景。

前面描述了啟動時間的計算方式,流量、耗電量、app1所占內存的大小、app1對cpu的占有率、幀率這些參數的計算方式與啟動時間的計算方式類似,在此不再進行一一詳述。

本發明實施例中,為了進一步提高計算得出的性能數值的準確度,進一步的,所述裝置還包括優化單元230,用于采用系統系數對所述待測app的該目標參數的性能測試數據進行優化。

示例性裝置

在介紹了本發明示例性實施方式的方法和設備之后,接下來,介紹根據本發明的另一示例性實施方式的應用程序app的測試裝置。

所屬技術領域的技術人員能夠理解,本發明的各個方面可以實現為系統、方法或程序產品。因此,本發明的各個方面可以具體實現為以下形式,即:完全的硬件實施方式、完全的軟件實施方式(包括固件、微代碼等),或硬件和軟件方面結合的實施方式,這里可以統稱為“電路”、“模塊”或“系統”。

在一些可能的實施方式中,根據本發明實施方式的應用程序app的測試裝置可以包括至少一個處理單元、以及至少一個存儲單元。其中,存儲單元存儲有程序代碼,當程序代碼被處理單元執行時,使得處理單元執行本說明書上述“示例性方法”部分中描述的根據本發明各種示例性實施方式的應用程序app的測試方法中的步驟。例如,處理單元可以執行如圖1a中所示的應用程序app的測試方法的步驟以及細化方案。

示例性程序產品

在一些可能的實施方式中,本發明的各個方面還可以實現為一種程序產品的形式,其包括程序代碼,當所示程序產品在設備上運行時,所述程序代碼用于使設備執行本說明書上述“示例性方法”部分中描述的根據本發明各種示例性實施方式的應用程序app的測試方法中的步驟,例如,設備可以執行如圖1a中所示的應用程序app的測試方法的步驟以及細化方案。

程序產品可以采用一個或多個可讀介質的任意組合。可讀介質可以是可讀信號介質或者可讀存儲介質。可讀存儲介質例如可以是——但不限于——電、磁、光、電磁、紅外線、或半導體的系統、裝置或器件,或者任意以上的組合。可讀存儲介質的更具體的例子(非窮舉的列表)包括:具有一個或多個導線的電連接、便攜式盤、硬盤、隨機存取存儲器(ram)、只讀存儲器(rom)、可擦式可編程只讀存儲器(eprom或閃存)、光纖、便攜式緊湊盤只讀存儲器(cd-rom)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。

可讀信號介質可以包括在基帶中或者作為載波一部分傳播的數據信號,其中承載了可讀程序代碼。這種傳播的數據信號可以采用多種形式,包括——但不限于——電磁信號、光信號或上述的任意合適的組合。可讀信號介質還可以是可讀存儲介質以外的任何可讀介質,該可讀介質可以發送、傳播或者傳輸用于由指令執行系統、裝置或者器件使用或者與其結合使用的程序。

可讀介質上包含的程序代碼可以用任何適當的介質傳輸,包括——但不限于——無線、有線、光纜、rf等等,或者上述的任意合適的組合。

可以以一種或多種程序設計語言的任意組合來編寫用于執行本發明操作的程序代碼,程序設計語言包括面向對象的程序設計語言—諸如java、c++等,還包括常規的過程式程序設計語言—諸如“c”語言或類似的程序設計語言。程序代碼可以完全地在用戶計算設備上執行、部分在用戶計算設備上部分在遠程計算設備上執行、或者完全在遠程計算設備或服務器上執行。在涉及遠程計算設備的情形中,遠程計算設備可以通過任意種類的網絡——包括局域網(lan)或廣域網(wan)—連接到用戶計算設備,或者,可以連接到外部計算設備(例如利用因特網服務提供商來通過因特網連接)。

應當注意,盡管在上文詳細描述中提及了裝置的若干單元或子單元,但是這種劃分僅僅是示意性的并非強制性的。實際上,根據本發明的實施方式,上文描述的兩個或更多單元的特征和功能可以在一個單元中具體化。反之,上文描述的一個單元的特征和功能可以進一步劃分為由多個單元來具體化。

此外,盡管在附圖中以特定順序描述了本發明方法的操作,但是,這并非要求或者暗示必須按照該特定順序來執行這些操作,或是必須執行全部所示的操作才能實現期望的結果。附加地或備選地,可以省略某些步驟,將多個步驟合并為一個步驟執行,和/或將一個步驟分解為多個步驟執行。

雖然已經參考若干具體實施方式描述了本發明的精神和原理,但是應該理解,本發明并不限于所公開的具體實施方式,對各方面的劃分也不意味著這些方面中的特征不能組合以進行受益,這種劃分僅是為了表述的方便。本發明旨在涵蓋所附權利要求的精神和范圍內所包括的各種修改和等同布置。

當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 盐源县| 南宁市| 进贤县| 广东省| 响水县| 修水县| 孟津县| 天门市| 福建省| 调兵山市| 余干县| 赣榆县| 时尚| 车险| 渝中区| 巴南区| 德惠市| 潼南县| 界首市| 大埔区| 织金县| 濮阳县| 敖汉旗| 新津县| 长春市| 隆回县| 游戏| 周口市| 阜康市| 成武县| 新宾| 宜昌市| 大荔县| 林甸县| 潮安县| 伊宁县| 民和| 洛阳市| 武冈市| 泽普县| 宜兴市|