標記B 二分查找BIT對象
在維護中應用BIT成分的途徑如標記C所示。一個新對象-DatabaseQuery被開發出來,在BITsBinarySearch中的BIT成分能夠如同普通方法(成員函數)一樣被繼承和重用。此外,新加入的BITs也能夠被添加到如標記C所示的新對象中。
Class DatabaseQuery: public BITsBinarySearch
{
//////////////////////////////////////////////////////////////////////////////
// Part 1: The inherited conventional functions
//////////////////////////////////////////////////////////////////////////////
int DatabaseQueryBinarySearch (int Key, int DataSet[10]) :
BITsBinarySearch::BinarySearch(int Key; int DataSet[10]);
//////////////////////////////////////////////////////////////////////////////
// Part 2: The inherited BIT functions
//////////////////////////////////////////////////////////////////////////////
void BIT1() : BITsBinarySearch::BIT1();
//////////////////////////////////////////////////////////////////////////////
// Part 3: The newly developed BITs
//////////////////////////////////////////////////////////////////////////////
// BIT case 2
// ---------------------------------------------------------------
void BIT2()
{
// BIT case 2: Even array size, key 1st element in array
Private:
int DataSet [6] = {16,18,21,23,29,33};
int Key = 16;
int StdElemIndex = 1;
int TestElemIndex;
char TestResult2 [5];
// Test implementation
TestElemIndex = BinarySearch (Key, DataSet);
// Test analysis
cout << “StdElemIndex2 = ” << StdElemIndex << “\n”;
cout << “TestElemIndex2 = ” << TestElemIndex << “\n”;
if TestElemIndex == StdElemIndex
TestResult4 = “OK”;
else TestResult2 = “FALSE”;
cout << “TestResult2: ” << TestResult2 << “\n”;
}
標記C DatabaseQuery對象
新BIT對象 DatabaseQuery中,源至BITsBinarySearch 對象的BITs方法依然通過DatabaseQuery::BIT1()(等同于BITsBinarySearch::BIT1)被激活。DatabaseQuery中新的BITs方法以同樣的方式DatabaseQuery::BIT2()得到激活。
5 結論
本文提出了一種融合可復用內建測試(BITs)的面向對象框架設計方法。并分析了面向對象框架中BITs的重用途徑。BIT方法大大擴展了面向對象框架從代碼到測試的可重用性。因此高度可測試和測試可復用的面向對象框架能夠在現有的基于普通的面向對象框架上被開發出來。
BIT方法是普通面向對象框架技術的補充和延展。BIT方法在面向對象的分析、設計、編碼中得到了廣泛的應用。BIT方法能夠融合任何利用黑盒方法和/或白盒方法產生的測試用例并以面向對象框架組件方式存在。
文章來源于領測軟件測試網 http://www.kjueaiud.com/