從本質上來講,API測試是用來驗證組成軟件的那些單個方法的正確性,而不是測試整個系統自己.數據庫
API測試也被稱爲單元測試(Unit Testing), 模塊測試(Module Testing), 組建測試(Component Testing), 以及元件測試(Element Testing).api
爲了將待測的程序和用於測試它們的測試套件(test harness)系統區分開來,待測程序一般叫作SUT(System Under Test), AUT(Application Under Test) 或者IUT(Implementation Under Test)數組
一般來講,當待測函數或方法都位於DLL當中時,使用術語API測試.當待測方法位於某個類(固然,這個類可能做爲一個DLL來實現)中的時候,使用術語單元測試等更爲寬泛的術語.函數
好了,下面來介紹API自動化測試的流程:工具
一、準備測試用例數據,最好是獨立於測試套件,能夠存放在txt文件 ,XML文件和數據庫,以便多個測試套件重複使用。這裏我準備好了post
測試ID 待測方法 測試輸入 指望值單元測試
0001:ArihthmeticMean:4 8:8
0002:ArihthmeticMean:2 2:24
0003:ArihthmeticMean:4 8:8
0004:ArihthmeticMean:3 2:345.4
0005:ArihthmeticMean:55 555:555
0006:ArihthmeticMean:2 444:23234
0007:ArihthmeticMean:4 8:8
0008:ArihthmeticMean:2 2:24測試
實際測試時,須要成千上萬個測試用例數據,包括邊界值,空值,無效輸入。有些自動化測試工具能夠自動產生測試用例數據。ui
二、讀入測試用例數據spa
a.如何從測試用例文件中讀入讀入每條測試用例數據?
b.設計--經過while循環遍歷測試用例的每一行。
c.方案
三、解析測試用例
a.如何解析出用字符串隔開的測試用例的各個字段
b.設計-使用string.Split()方法,該方法返回一個字符數組。具體使用去查查api
c.具體實現方案看接下來的代碼
四、把數據轉換爲合適的類型
a.讀入的是字符串類型,在這裏必須轉爲整型
b.看下面的整理代碼
五、斷定測試用例經過與否
a.如何斷定API測試用例是否經過
b.設計--調用待測方法,傳給它測試用例的輸入,獲得返回值,而後比較實際結構和測試用例中讀入的指望值是否一致
c.具體代碼看下面
六、記錄測試用例結果
a.如何把測試用例的結果存入獨立於測試程序的簡單文本文件
b.設計--在處理測試用例的主循環中,使用System.IO.StreamWriter對象把測試用例ID和測試結果寫到一個文本文件。固然能夠記錄到XML文件或者數據庫中,看須要
c.代碼實現看下面
七、給測試用例結果文件加上實際戳
八、經過計算對測試結果進行總結
九、得到測試的總運行時間
用DateTime TimeSpan能夠實現
十、處理輸入爲空或者指望值爲空的狀況--NULL
十一、處理「方法拋出異常」的狀況
十二、處理輸入參數爲空字符串的狀況
1三、在測試用例失敗時發送警告郵件
System.Net.Mail下的MailMessage類實現,很簡單
1四、自動運行測試套件
用.BAT文件能夠實現,用System.Diagnosis.Process命名空間下的Start()方法
在這裏,稍微實現了代碼
結果以下:
CaseID Result Method Details
===============================
0001 Pass ArihthmeticMean actual=8
0002 Fail ArihthmeticMean actual=2
0003 Pass ArihthmeticMean actual=8
0004 Fail ArihthmeticMean actual=3
0005 Pass ArihthmeticMean actual=555
0006 Fail ArihthmeticMean actual=444
0007 Pass ArihthmeticMean actual=8
0008 Fail ArihthmeticMean actual=2
===========================end test run===============
pass=4Fail=4
測試結果文件2011-3-26 16-01-02 testresult.txt,內容以下
0001 Pass ArihthmeticMean actual=8
0002 Fail ArihthmeticMean actual=2
0003 Pass ArihthmeticMean actual=8
0004 Fail ArihthmeticMean actual=3
0005 Pass ArihthmeticMean actual=555
0006 Fail ArihthmeticMean actual=444
0007 Pass ArihthmeticMean actual=8
0008 Fail ArihthmeticMean actual=2
至此,API自動化測試介紹基本完畢