m_pRecordset->Open(_bstr_t(strSQL),m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
}
else
{
AfxMessageBox("查詢不成功!");
}
}
catch (_com_error e)
{
CString strError;
strError.Format("警告:打開數據表時發生異常。 錯誤信息: %s",e.ErrorMessage());
AfxMessageBox(strError);
return;
}
while(!m_pRecordset->adoEOF) //路徑4
{ //函數F
_bstr_t name="";
_bstr_t shoujikahao="";
_bstr_t tongxinzhishi="";
_bstr_t fuwushang="";
int i=0;
m_list5.DeleteAllItems();
while(!m_pRecordset->adoEOF)
{
name=(_bstr_t)m_pRecordset->GetCollect("用戶姓名");
shoujikahao=(_bstr_t)m_pRecordset->GetCollect("手機卡號");
tongxinzhishi=(_bstr_t)m_pRecordset->GetCollect("通信制式");
fuwushang=(_bstr_t)m_pRecordset->GetCollect("服務商");
m_list5.InsertItem(i,name);
m_list5.SetItemText(i,1,shoujikahao);//設置該行的不同列的顯示字符
m_list5.SetItemText(i,2,tongxinzhishi);
m_list5.SetItemText(i,3,fuwushang);
m_pRecordset->MoveNext();
i=i+1;
}
}
//關閉連接、釋放com資源m_pRecordset->Close(); //路徑5
m_pRecordset.Release();
m_pConnection->Close();
m_pConnection.Release();
CoUninitialize();
}
}
}
我們根據這個程序來畫出它的程序流程圖。
有了圖以后我們就要知道到底我們要寫多少個測試用例,才能滿足基本路徑測試。
這里有有了一個新概念——圈復雜度。
圈復雜度是一種為程序邏輯復雜性提供定量測試的軟件度量。將該度量用于計算程序的基本獨立路徑數目。為確保所有語句至少執行一次的測試數量的下界。
公式圈復雜度 V(G)=E-N+2,E是流圖中邊的數量,N是流圖中結點的數量。
從圖中我們可以看到,
V(G)=8條邊-6結點+2=4
上圖的圈復雜圖是4。這個結果對我們來說有什么意義呢?它表示我們只要最多4個測試用例就可以達到基本路徑覆蓋。
下一步我們就要導出程序基本路徑。
程序基本路徑:基本獨立路徑就是從程序的開始結點到結束可以選擇任何的路徑遍歷,但是每條路徑至少應該包含一條已定義路徑不曾用到的邊。
我們可以得到基本路徑是:
1: A
2: B->C
3: B->D->F
4: B->E->F
“詳細查詢測試”做完了嗎?沒有,因為對于上表的每一個路徑,如果結果有不同的,即:結果有對的,也有不對的。那么,我們就還需要進行進一步的測試,下面的工作我就不做了,照搬就是。
文章來源于領測軟件測試網 http://www.kjueaiud.com/