轉自: ChinaByte 我們選擇了八個不同的測試例程(所有測試用到的代碼已經在本文后面的下載ZIP文件中提供)。如果語言本身不具備某個方法或函數,則編寫一個專用的方法。
1.字符串翻轉:進行這個測試不僅是因為它是一個很有代表性的操作,而且因為VBScript提供了內建的StrReverse()函數而JScript卻沒有等價的函數或方法。這為我們提供了一個很好的混合語言編程測試案例。本測試中被翻轉的字符串是“String Reversal”。
2.在一個字符串中搜索另一個字符串:VBScript和JScript本身都提供實現該任務的方法。我們用VBScript的InStr()函數和JScript的indexOf()方法在字符串“This is a sentence written for the sake of writing a sentence.”中查找字符串“ke”的起始位置。
3.正則表達式模式匹配:雖然VBScript最近才加入了正則表達式支持,但這仍舊是一個很好的比較測試案例。JScript提供各種各樣能夠接受模式的String對象方法,使我們能夠更靈活地進行處理;而VBScript沒有這么靈活,必須在RegExp對象所界定的范圍內進行。測試頁面包含一個函數,這個函數接受字符串“Regular Expression Pattern Match”以及正則表達式“/(eg)|y|t{2,}/”,并返回匹配總次數。
4.位移操作:JScript有位操作符而VBScript沒有,這又是一個很好的比較測試案例。在進行這個測試的頁面中將進行下列操作:97 < < 5 以及 -14 > > 2。
5.簡單數學計算:進行以下計算:18976.6754 + (-908.6) + 1475.211。
6.復雜數學計算:測試頁面包含這樣一個函數,它根據兩個點的坐標計算出它們之間的距離(英里)。VBScript的計算表達式為: Distance = Round(Sqr(((69.1 *(latA-latB))^2) + ((69.1 * (Abs(lngA)-Abs(lngB)) * Cos(latB/57.3))^2)),1).
7.數組初始化:只要出現對數組元素的訪問,VBScript和JScript引擎都將創建整個數組的臨時拷貝,這也是一個很好的測試案例。另外,JScript的數組同時也是帶有許多方法和屬性的對象,而VBScript中數組只是一個數組。這個測試通過For循環初始化一個有100,000個元素的數組,每個元素都被賦予循環計數器的值。
8.ADO記錄集遍歷:這個測試使用的數據庫是Access2000的“Northwind”數據庫,程序通過ADO連接對象執行“SELECT * FROM ORDERS”命令獲得一個ADO記錄集。程序利用兩個嵌套的循環:外部循環遍歷記錄,內部循環遍歷每個記錄的所有字段。這個測試案例之所以好,是因為JScript需要實例化一個Enumeration對象才能遍歷對象集合,而VBScript只需要一個For Each ... Next循環就可以完成同樣的任務。
|