从本质上来讲,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自动化测试介绍基本完毕