我在這里用最常用的方法:基本路徑測試法來進行單元測試,因為我要用一個實際的例子來進行說明,所以就編寫了下面一個程序模塊,就暫且命名為“詳細查詢模塊”吧。
我先寫一下基本過程:
1. 分析模塊函數;
2. 在模塊中找到相應的關鍵點(函數);
3. 根據第二點,畫出模塊程序流程圖;
4. 計算圈復雜度;
5. 根據圈復雜度算出測試用例的最優個數;
6. 根據路徑測試法和圈復雜度寫出具體測試用例;
7. 進行測試。
void CXIANGXIDLG::OnOK()
{
CoInitialize(NULL);//初始化COM環境
_ConnectionPtr m_pConnection;//連接對象
HRESULT hr;
try
{
hr = m_pConnection.CreateInstance("ADODB.Connection");//創建Connection對象
if(SUCCEEDED(hr))
{
hr=m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=shouji.mdb","","",adModeUnknown);//連庫
}
}
catch(_com_error e)
{
AfxMessageBox("數據庫連接失敗,確認數據庫連接字符串是否正確");
}
//操縱表
_RecordsetPtr m_pRecordset; //記錄集對象
UpdateData(TRUE);
CString strSQL;
if (m_name=="") //路徑1
{
MessageBox("用戶名不能為空!"); //函數A
}
else {UpdateData(TRUE); //函數B
int lenth=0;
lenth=m_name.GetLength();
if (lenth>12 || length<2) //路徑2
{MessageBox("輸入的用戶名不正確或沒有該用戶!請重新輸入!"); //函數C
}
Else
{
if(m_pipei) //路徑3
{
strSQL="SELECT * FROM sj_T_ShouJiKa where 用戶姓名 = '"+m_name+"'"; //函數D
}
Else
{
strSQL="SELECT * FROM sj_T_ShouJiKa where 用戶姓名 like '%"+m_name+"%'";//函數E
}
try
{
hr=m_pRecordset.CreateInstance("ADODB.Recordset");
if(SUCCEEDED(hr))
{ //從數據庫中打開表
文章來源于領測軟件測試網 http://www.kjueaiud.com/