本發(fā)明涉及一種通用化軟件的開發(fā)方法,尤其涉及一種能夠?qū)崿F(xiàn)在線配置的通用化軟件的開發(fā)方法。
背景技術(shù):
隨著國內(nèi)測試水平的提高,測試設備的通用化成為一種發(fā)展趨勢。大多數(shù)通用化測試設備的設計思想是硬件設計滿足最大配置需求,軟件具有通用可配置性,軟件根據(jù)測試任務需求重構(gòu)硬件以實現(xiàn)測試設備的通用化。
通用化測試軟件開發(fā)方法常借助第三方軟件的保存和記載功能,將通用配置項先保存至第三方軟件,然后加載第三方軟件保存的通用配置項,才能開展測試工作。當用戶發(fā)現(xiàn)某些配置項配置錯誤時或需要修改某些配置時,需要暫停測試任務,重復上述步驟,該方法給用戶操作帶來極大的不便,影響測試任務的完成速度。
技術(shù)實現(xiàn)要素:
本發(fā)明為了解決現(xiàn)有的軟件開發(fā)方法在軟件開發(fā)過程中對軟件測試時需要先將通用配置項保存至第三方軟件并需要加載第三方軟件保存的通用配置項才能開展測試工作、且不支持在線修改配置項而存在的測試效率低的問題。因此本發(fā)明在VC的開發(fā)環(huán)境下,提出一種基于窗體間數(shù)據(jù)傳遞的可在線配置通用化軟件的開發(fā)方法。
基于窗體間數(shù)據(jù)傳遞的可在線配置通用化軟件的開發(fā)方法,包括下述步驟:
步驟1、針對需要進行軟件開發(fā)的某個領(lǐng)域或者某個方面的不同型號的設備,將所有設備的總硬件資源信息進行集合,并將所有總硬件資源按照接口類型分類,按照每種接口類型的數(shù)量和對應可配置的屬性參數(shù)分配編號至配置界面,保證用戶可在配置界面上實現(xiàn)對所有硬件資源的任意配置;所述的配置界面為將所有硬件資源的配置信息進行呈現(xiàn)和對硬件資源的配置信息進行改動的界面或者對話框;
步驟2、用戶根據(jù)軟件開發(fā)的測試任務需求在配置界面完成初步硬件資源的配置,得到有效配置結(jié)果,具體如下:如圖2所示,
步驟2.1、用戶根據(jù)測試任務需求在配置界面對分配編號的總硬件資源進行預設,獲取所需總硬件資源中的某接口的通道總路數(shù)t;
步驟2.2、計算機初始化有效通道總路數(shù)c=0、通道的路數(shù)序號i=0;并根據(jù)用戶設置的總硬件資源中的接口生成一個通道編號數(shù)組A[t],初始化通道編號數(shù)組A[t]=0;編號數(shù) 組A[t]中按照大小順序存放接口的有效通道序號;
步驟2.3、計算機通過遍歷檢測通道是否有效;如果通道無效,令通道的路數(shù)序號i=i+1,檢測下一路通道;如果通道有效,令通道的路數(shù)序號i=i+1,并令有效的通道編號數(shù)組A[c]=i+1,然后令有效通道總路數(shù)c=c+1;
步驟2.4、判斷通道的路數(shù)序數(shù)i是否等于通道總路數(shù)t,如果通道的路數(shù)序數(shù)i不等于通道總路數(shù)t,檢測并未完成,返回步驟2.3繼續(xù)檢測;如果通道的路數(shù)序數(shù)i等于通道總路數(shù)t,檢測完成,記錄有效通道總路數(shù)c和有效的通道編號數(shù)組A[c],記為有效配置結(jié)果,完成初步配置;
步驟3、開始測試任務時,利用窗體間數(shù)據(jù)傳遞技術(shù)在線實時將所述的有效配置結(jié)果傳遞給測試界面,測試界面獲取當前最新有效配置;
所述的測試界面為呈現(xiàn)配置結(jié)果和在線運行檢測及顯示測控結(jié)果的用戶交互界面或者對話框;
步驟4、測試界面根據(jù)接收當前最新的有效配置結(jié)果對總硬件資源進行重構(gòu),并對重構(gòu)后硬件的屬性參數(shù)進行配置,記為重構(gòu)后硬件資源;
步驟5、測試界面通過與重構(gòu)后硬件資源進行信息交互,實現(xiàn)并完成測試任務,進而實現(xiàn)通用化軟件的開發(fā)。
優(yōu)選地,步驟5中所述的測試界面通過與重構(gòu)后硬件資源進行信息交互實現(xiàn)并完成測試任務的過程中,如果發(fā)現(xiàn)配置錯誤或者存在能夠優(yōu)化的配置,則返回步驟2重新進行硬件資源的配置,然后測試界面在線實時接收修改后最新的有效配置,對總硬件資源進行重構(gòu),并對重構(gòu)后硬件的屬性參數(shù)進行配置,保證軟件在線可配置性。
優(yōu)選地,步驟2中用戶根據(jù)軟件開發(fā)的測試任務需求在配置界面完成初步硬件資源的配置中所述的軟件開發(fā)的測試任務包括所有用戶想要完成的測試任務,針對每次測試任務均需要硬件資源的重新配置。例如進行了一項測試任務后,需要開始一項新的測試任務,就需要硬件資源的重新配置。
優(yōu)選地,步驟3所述的利用窗體間數(shù)據(jù)傳遞技術(shù)將所述的有效配置結(jié)果傳遞給測試界面的過程是基于自定義消息和消息響應函數(shù)實現(xiàn)的,具體過程包括以下步驟:
步驟(1)、在配置界面對應的頭文件中定義發(fā)送所有有效配置結(jié)果項的自定義消息宏,該宏值在整個軟件中必須是唯一的;
步驟(2)、配置界面利用類向?qū)砑影l(fā)送所有有效配置結(jié)果信息的消息觸發(fā)函數(shù),該函數(shù)功能是獲取并實時發(fā)送所有有效配置結(jié)果;
步驟(3)、編寫消息觸發(fā)函數(shù),將在配置界面獲取的所有有效配置結(jié)果信息,按照自定義的格式將不同數(shù)據(jù)類型的有效配置結(jié)果信息進行整合打包后自動發(fā)送,以保證有效配置傳遞的實時性;
步驟(4)、測試界面的利用類向?qū)砑咏邮账杏行渲媒Y(jié)果信息的消息映射函數(shù),該函數(shù)功能是自動接收并處理觸發(fā)函數(shù)所發(fā)送所有有效配置結(jié)果;
步驟(5)、在測試界面源文件編寫消息處理函數(shù),該函數(shù)功能是自動接收步驟(3)發(fā)送的所有有效配置結(jié)果信息,并根據(jù)步驟(3)定義格式解析所有有效配置結(jié)果,并進行后續(xù)處理,后續(xù)處理過程包括重構(gòu)硬件、測試界面顯示等;整個傳遞配置信息的過程是在線傳輸,實現(xiàn)配置信息可在線配置功能。
或者,步驟3所述的利用窗體間數(shù)據(jù)傳遞技術(shù)將所述的有效配置結(jié)果傳遞給測試界面的過程是基于定義響應窗體類的全局靜態(tài)變量實現(xiàn)的,具體過程包括以下步驟:
步驟(a)、在軟件App類的頭文件中添加配置界面頭文件,為步驟(b)實現(xiàn)將配置界面設置為全局變量提供基礎(chǔ);
步驟(b)、在App類的頭文件中將配置界面對應的類設置為全局靜態(tài)變量,以便測試界面直接調(diào)用配置界面所有的配置信息;
步驟(c)、在App類的源文件頂部聲明全局靜態(tài)變量;完成后,配置界面對應的類成為全局靜態(tài)變量,能夠供其它類(包括測試界面對應類)調(diào)用,只需在調(diào)用類對應頭文件中添加配置界面頭文件;
步驟(d)、在測試界面對應的頭文件中添加配置界面頭文件,利用定義配置界面的全局靜態(tài)變量,測試界面對應的源文件可像調(diào)用測試界面一樣調(diào)用配置界面,實時在線獲取配置界面的所有有效配置項;整個獲取配置信息的過程是在線實時的,能夠?qū)崿F(xiàn)配置信息可在線配置功能。
本發(fā)明利用窗體間數(shù)據(jù)傳遞技術(shù)具有在線可配置的優(yōu)點,在測試軟件運行過程中,仍可根據(jù)測試任務需求在線配置或修改配置界面的配置項,測試界面每次在線循環(huán)獲取配置界面的通用配置項,無需在配置完成或修改配置而重啟軟件,給用戶操作帶來便利,以便更快完成測試任務,提高測試效率。
附圖說明
圖1為在線配置通用化軟件開發(fā)方案示意圖;
圖2為根據(jù)測試任務需求在配置界面完成初步硬件資源的配置的流程示意圖;
圖3為實施例中有5種接口類型的硬件資源對應的配置界面圖;
圖4為實施例中顯示所有有效配置項的測試界面顯示圖。
具體實施方式
具體實施方式一:結(jié)合圖1說明該實施方式,
在VC的開發(fā)環(huán)境下,基于窗體間數(shù)據(jù)傳遞的可在線配置通用化軟件的開發(fā)方法,包括下述步驟:
步驟1、針對需要進行軟件開發(fā)的某個領(lǐng)域或者某個方面的不同型號的設備,將所有設備的總硬件資源信息進行集合,并將所有總硬件資源按照接口類型分類,按照每種接口類型的數(shù)量和對應可配置的屬性參數(shù)分配編號至配置界面,保證用戶可在配置界面上實現(xiàn)對所有硬件資源的任意配置;所述的配置界面為將所有硬件資源的配置信息進行呈現(xiàn)和對硬件資源的配置信息進行改動的界面或者對話框;
步驟2、用戶根據(jù)軟件開發(fā)的測試任務需求在配置界面完成初步硬件資源的配置,得到有效配置結(jié)果,具體如下:如圖2所示,
步驟2.1、用戶根據(jù)測試任務需求在配置界面對分配編號的總硬件資源進行預設,獲取所需總硬件資源中的某接口的通道總路數(shù)t;
步驟2.2、計算機初始化有效通道總路數(shù)c=0、通道的路數(shù)序號i=0;并根據(jù)用戶設置的總硬件資源中的接口生成一個通道編號數(shù)組A[t],初始化通道編號數(shù)組A[t]=0;編號數(shù)組A[t]中按照大小順序存放接口的有效通道序號;
步驟2.3、計算機通過遍歷檢測通道是否有效;如果通道無效,令通道的路數(shù)序號i=i+1,檢測下一路通道;如果通道有效,令通道的路數(shù)序號i=i+1,并令有效的通道編號數(shù)組A[c]=i+1,然后令有效通道總路數(shù)c=c+1;
步驟2.4、判斷通道的路數(shù)序數(shù)i是否等于通道總路數(shù)t,如果通道的路數(shù)序數(shù)i不等于通道總路數(shù)t,檢測并未完成,返回步驟2.3繼續(xù)檢測;如果通道的路數(shù)序數(shù)i等于通道總路數(shù)t,檢測完成,記錄有效通道總路數(shù)c和有效的通道編號數(shù)組A[c],記為有效配置結(jié)果,完成初步配置;
步驟3、開始測試任務時,利用窗體間數(shù)據(jù)傳遞技術(shù)在線實時將所述的有效配置結(jié)果傳遞給測試界面,測試界面獲取當前最新有效配置;
所述的測試界面為呈現(xiàn)配置結(jié)果和在線運行檢測及顯示測控結(jié)果的用戶交互界面或者對話框;
步驟4、測試界面根據(jù)接收當前最新的有效配置結(jié)果對總硬件資源進行重構(gòu),并對重構(gòu)后硬件的屬性參數(shù)進行配置,記為重構(gòu)后硬件資源;
步驟5、測試界面通過與重構(gòu)后硬件資源進行信息交互,實現(xiàn)并完成測試任務,進而實現(xiàn)通用化軟件的開發(fā)。
具體實施方式二:
本實施方式中步驟5中所述的測試界面通過與重構(gòu)后硬件資源進行信息交互實現(xiàn)并完成測試任務的過程中,如果發(fā)現(xiàn)配置錯誤或者存在能夠優(yōu)化的配置,則返回步驟2重新進行硬件資源的配置,然后測試界面在線實時接收修改后最新的有效配置,對總硬件資源進行重構(gòu),并對重構(gòu)后硬件的屬性參數(shù)進行配置,保證軟件在線可配置性。
此過程是在進行一項測試任務時,如果在測試過程中發(fā)現(xiàn)配置錯誤或者存在能夠優(yōu)化的配置然后返回步驟2重新進行硬件資源的配置,基于窗體間數(shù)據(jù)傳遞技術(shù)測試界面能夠在線實時接收修改后最新的有效配置,對總硬件資源進行重構(gòu),并對重構(gòu)后硬件的屬性參數(shù)進行配置。這樣就能夠在測試的過程中實現(xiàn)在線可配置。
其他步驟和參數(shù)與具體實施方式一相同。
具體實施方式三:
本實施方式步驟2中的用戶根據(jù)軟件開發(fā)的測試任務需求在配置界面完成初步硬件資源的配置中所述的軟件開發(fā)的測試任務包括所有用戶想要完成的測試任務,針對每次測試任務均需要硬件資源的重新配置。
例如進行了一項測試任務后,需要開始一項新的測試任務,就需要硬件資源的重新配置。在此過程中,由于一項測試任務完成,開始一項新的測試任務可以直接進行硬件資源的重新配置,然后基于窗體間數(shù)據(jù)傳遞技術(shù)進行后續(xù)操作,這樣就能夠針對多次測試任務實現(xiàn)在線可配置。
其他步驟和參數(shù)與具體實施方式一或二相同。
具體實施方式四:
本實施方式中步驟3所述的利用窗體間數(shù)據(jù)傳遞技術(shù)將所述的有效配置結(jié)果傳遞給測試界面的過程是基于自定義消息和消息響應函數(shù)實現(xiàn)的,具體過程包括以下步驟:
步驟(1)、在配置界面對應的頭文件中定義發(fā)送所有有效配置結(jié)果項的自定義消息宏,該宏值在整個軟件中必須是唯一的;
在VC的開發(fā)環(huán)境下,其頭文件中定義代碼如下:
#define USRMSG_TCP_RECV(WM_USER+5001)
步驟(2)、配置界面利用類向?qū)砑影l(fā)送所有有效配置結(jié)果信息的消息觸發(fā)函數(shù)OnTcpRecv(),該函數(shù)功能是獲取并實時發(fā)送所有有效配置結(jié)果;
在VC的開發(fā)環(huán)境下,部分代碼如下:
頭文件中:LRESULT OnTcpRecv(WPARAM_idx,LPARAM_pBuf);
源文件中:ON_MESSAGE(USRMSG_TCP_RECV,&CNETDlg::OnTcpRecv)
步驟(3)、編寫消息觸發(fā)函數(shù),將在配置界面獲取的所有有效配置結(jié)果信息,按照自定義的格式將不同數(shù)據(jù)類型的有效配置結(jié)果信息進行整合打包后自動發(fā)送,以保證有效配置傳遞的實時性;
在VC的開發(fā)環(huán)境下,部分代碼如下:
步驟(4)、測試界面的利用類向?qū)砑咏邮账杏行渲媒Y(jié)果信息的消息映射函數(shù),該函數(shù)功能是自動接收并處理觸發(fā)函數(shù)所發(fā)送所有有效配置結(jié)果;
在VC的開發(fā)環(huán)境下,部分代碼如下:
頭文件中:LRESULT OnTestMMcAction(WPARAM_todo,LPARAM_parm);
源文件中:ON_MESSAGE(USRMSG_MMCALL_ACTION,&CTest::OnTestMMcAction)
步驟(5)、在測試界面源文件編寫消息處理函數(shù),該函數(shù)功能是自動接收步驟(3)發(fā)送的所有有效配置結(jié)果信息,并根據(jù)步驟(3)定義格式解析所有有效配置結(jié)果,并進行后續(xù)處理,后續(xù)處理過程包括重構(gòu)硬件、測試界面顯示等;整個傳遞配置信息的過程是在線傳輸,實現(xiàn)配置信息可在線配置功能。
在VC的開發(fā)環(huán)境下,部分代碼如下:
其他步驟和參數(shù)與具體實施方式一至三之一相同。
具體實施方式五:
本實施方式中步驟3所述的利用窗體間數(shù)據(jù)傳遞技術(shù)將所述的有效配置結(jié)果傳遞給測試界面的過程是基于定義響應窗體類的全局靜態(tài)變量實現(xiàn)的,具體過程包括以下步驟:
步驟(a)、在軟件App類的頭文件中添加配置界面頭文件,為步驟(b)實現(xiàn)將配置界面設置為全局變量提供基礎(chǔ);
在VC的開發(fā)環(huán)境下,其頭文件中定義代碼如下:
#include"ConfigTab.h"
步驟(b)、在App類的頭文件中將配置界面對應的類設置為全局靜態(tài)變量,以便測試界面直接調(diào)用配置界面所有的配置信息;
在VC的開發(fā)環(huán)境下,部分代碼如下:
static CConfigTab g_ConfigTab;//配置界面
步驟(c)、在App類的源文件頂部聲明全局靜態(tài)變量;完成后,配置界面對應的類成為全局靜態(tài)變量,能夠供其它類(包括測試界面對應類)調(diào)用,只需在調(diào)用類對應頭文件中添加配置界面頭文件;
在VC的開發(fā)環(huán)境下,部分代碼如下:
CConfigTab CSupplyOfSatelliteApp::g_ConfigTab;//配置界面
步驟(d)、在測試界面對應的頭文件中添加配置界面頭文件,利用定義配置界面的全局靜態(tài)變量,測試界面對應的源文件可像調(diào)用測試界面一樣調(diào)用配置界面,實時在線獲取配置界面的所有有效配置項;整個獲取配置信息的過程是在線實時的,能夠?qū)崿F(xiàn)配置信息可在線配置功能。
在VC的開發(fā)環(huán)境下,部分代碼如下:
其他步驟和參數(shù)與具體實施方式一至三之一相同。
實施例
假設總硬件資源有5種接口類型,配置界面相應設置5個接口,每個接口都有其相應的通道數(shù)和若干屬性。
步驟1:將每種接口所有硬件名稱,通道數(shù)及其若干屬性配置至配置界面,如圖3所示;
步驟2:根據(jù)某型號使用情況,配置有效通道及其屬性參數(shù),完成初步配置;
步驟3:初步配置完成后,保存配置表,開始測試任務時,結(jié)合具體實施方式四或具體實施方式五,利用窗體間數(shù)據(jù)傳遞技術(shù)在線實時將有效配置結(jié)果傳遞給測試界面,測試界面顯示的為所有有效配置項和相應的顯示和指示,如圖4所示;
步驟4:測試界面根據(jù)接收當前最新的有效配置結(jié)果對總硬件資源及其屬性進行重構(gòu);
步驟5:在軟件運行過程中,完成測試任務,進而實現(xiàn)通用化軟件的開發(fā)。
實施例通過將所有硬件資源及其對應的屬性參數(shù)按照編號合理分配在配置界面上,保證用戶可在配置界面上實現(xiàn)對所有硬件資源的任意配置,用戶根據(jù)測試任務需求在配置界面完成初步配置,測試界面對應程序應用窗體間數(shù)據(jù)傳遞技術(shù),定時在線循環(huán)讀取和記錄配置界面的有效硬件資源的配置項,并根據(jù)每一次循環(huán)獲取配置項對應的硬件資源進行重構(gòu)和配置。同時,測試界面根據(jù)自身結(jié)構(gòu)在線顯示每一次循環(huán)的最新有效配置項,其對應程序可根據(jù)最新有效配置項實現(xiàn)所需功能和操作,實時和快速將測試設備的硬件和軟件配置成當前任務需求所需的測試設備,保證在整個軟件運行過程中,測試設備可在線實時更改配置,高效完成任務需求所需的測試任務,實現(xiàn)測試軟件的通用化。實現(xiàn)測試軟件的通用化的技術(shù)關(guān)鍵在于應用窗體間數(shù)據(jù)傳遞技術(shù),包括基于自定義消息及消息響應函數(shù)或基于定義響應窗體類的全局靜態(tài)變量,開發(fā)可在線配置的測試軟件以實現(xiàn)測試軟件通用化的方法。