API 自动化测试
文章平均质量分 75
测试道
这个作者很懒,什么都没留下…
展开
-
API 测试(1)
API(Application Programming Interface)测试的自动化是软件测试最基本的一种类型。从本质上来说,API测试是用来验证组成软件的那些单个方法的正确性,而不是测试整个系统本身。API测试也称为单元测试(Unit Testing)、模块测试(Module Testing)、组件测试(Component Testing)以及元件测试(Element Testi转载 2009-08-24 22:23:00 · 1197 阅读 · 0 评论 -
API 测试(16)
示例程序:ApiTest 此程序综合了前15篇的多种技术,编写了一个完整的轻量级的API测试套件。待测方法包括:ArithmeticMean(),GeometricMean()和HarmonicMean(),它们在API开始时候描述过。轻量级测试套件完整代码如下,这个程序从TestCases.txt文件每次读入一行测试用例数据。然后测试套件会解析出测试用例ID,并且一并得到待测方法的名称、原创 2009-10-13 13:12:00 · 658 阅读 · 1 评论 -
API 测试(13)
处理输入参数为空字符串的情况 问题 如何测试传给待测API方法的参数为空字符串的情况 设计 使用一个特殊的字符串标记来表示测试用例文件中的空字符串,并且在测试套件中加入相应的逻辑处理分支,把真正的空字符串作为参数传给待测API方法。 方案 创建如下测试用例数据: 0001:SubString:put:com原创 2009-10-13 09:17:00 · 1192 阅读 · 0 评论 -
API 测试(12)
处理"方法抛出异常"的情况 问题 如何测试一个抛出异常的方法。 设计 在测试用例数据文件中嵌入一个特殊的字符串标记,用来表示应该由一个异常被抛出,把待调用的方法放到一个try块里,这样如果有异常抛出,就可以捕获它。 方案 在测试程序数据里加一个"Exception"标记,作为期望值。 0004:Geomet原创 2009-10-12 16:26:00 · 510 阅读 · 0 评论 -
API 测试(11)
问题 如何验证待测程序的API方法能否正确地处理传给它的null参数 设计 使用一个特殊的字符串标记来表示测试用例数据文件里的null值。在测试套件里添加相应的处理逻辑,把null标记转换成null输入值。 方案 修改最初的待测方法ArithmeticMean(),以处理null输入: public static原创 2009-10-12 15:52:00 · 646 阅读 · 1 评论 -
API 测试(14)
编写程序,在测试用例失败时发送警告邮件 问题 如何编写程序让测试套件在测试用例失败的时候发送邮件信息 设计 使用System.Net.Mail命名空间里的MailMessage类创建一个MailMessage对象。然后为这个对象提供To和Subject等属性值,并且把测试用例失败的详细信息添加到它的Body属性。 方案 if原创 2009-10-13 09:49:00 · 466 阅读 · 0 评论 -
API 测试(15)
自动运行测试套件 问题 如何让测试套件自动运行。 方案 我们经常会想要让测试程序自动运行。例如,我们可能安排4个自动测试套件在凌晨2:00开始执行,这样它就能连夜运行,而当早上来上班的时候就可以看到运行结果了。通过Windows Task Scheduler在Windows环境下可以很容易地实现任务调度。需要指定测试套件的可执行文件,想要它开原创 2009-10-13 10:47:00 · 516 阅读 · 0 评论 -
API 测试(10)
问题 如何获得测试运行的总时间 设计 通过DateTime.Now属性记录测试开始运行的时间,以及测试结束的时间,然后用一个TimeSpan对象计算本次运行的总时间。 方案 DateTime startTime = DateTime.Now; while ((line = sr.ReadLine()) != null){原创 2009-10-12 15:10:00 · 430 阅读 · 0 评论 -
API 测试(7)
问题 如何把测试用例的结果存入独立于测试程序的简单文本文件。 设计 在处理测试用例的主循环中,使用一个System.IO.StreamWriter对象,把测试用例ID和测试结果写到一个文本文件。 方案 //此处打开StreamReader srFileStream ofs = new FileStream("..//.原创 2009-10-12 13:17:00 · 445 阅读 · 0 评论 -
API 测试(9)
问题 如何计算测试用例的结果以追踪通过的(pass)用例和失败用例的个数。 设计 使用简单的整数计数器,在每次开始运行测试的时候,把计数器初始化为0。 方案 int numPass = 0, numFail = 0; while ((line = sr.ReadLine()) != null){ //此处对"原创 2009-10-12 14:39:00 · 444 阅读 · 0 评论 -
API 测试(8)
问题 如何给测试用例结果加上时间戳,以便于区分不同批次的运行结果。 设计 把DateTime.Now属性作为参数传给CreateDirectory()这个静态方法,用以创建一个带时间戳的文件夹。另外,也可以把DateTime.Now传给FileStream()的构造函数,并且用它来创建一个带时间戳的文件名。 方案 string fol原创 2009-10-12 14:06:00 · 426 阅读 · 0 评论 -
API 测试 (5)
把数据转换为合适的类型 问题 如何把测试输入数据或者期望结果从string类型转化成其他的数据类型,这样就可以把转化后的数据传给待测方法或者把期望结果与实际结果进行比较。 设计 通过选用使用的静态Parese()方法,实施显示类型的转换。 方案 int[] input = new int[tempInput.Len原创 2009-09-05 07:49:00 · 548 阅读 · 0 评论 -
API 测试 (6)
判定测试用例通过与否 问题 如何判定API测试用例是否通过还是失败。 设计 调用待测方法,传给它测试用例的输入,得到返回值,然后比较实际结果从测试用例中读入的期望结果是否一致。 方案 string method,expected;double actual = 0.0;if(method == "ArithmeticM原创 2009-09-05 08:22:00 · 653 阅读 · 0 评论 -
API 测试 (4)
解析测试用例 问题 如何解析出由字符分隔开的测试用例的各个字段。 设计 使用String.Split()方法,把分隔符作为输入传给它,然后把返回值存入一个字符数组。 方案 string line,caseID,method; string[] tokens,tempInput; stri原创 2009-09-04 10:26:00 · 919 阅读 · 1 评论 -
API 测试(3)
读入测试用例数据问题 如何从测试用例文件(简单的文本文件)中读入每条测试用例。 设计 通过while循环遍历用例文件的每一行,使用System.IO.StreamReader对象读入测试用例。 方案 FileStream fs = new FileStream("../../TestCases.txt",FileM原创 2009-09-01 22:15:00 · 639 阅读 · 0 评论 -
API 测试(2)
存储用于测试用例的数据 问题 如何在一个简单的文本文件里创建并存储用于API测试用例的数据 设计 使用冒号作为分隔符的文本文件,这个文件包含 唯一的测试用例ID,一个或者多个输入值和期望结果。 方案 0001:ArithmeticMean:2 4 8:4.6667 0002:Arithmet原创 2009-08-26 06:30:00 · 936 阅读 · 0 评论 -
AutoIT自动化之OCR解决验证码识别
在Web项目的自动化测试中,经常需要处理验证码识别的问题。主流上有两种方法,第一种是使用万能验证码或屏蔽验证码,第二种就是人工输入验证码。其实还有一种办法,只是效果并不太好,这种方法就是使用OCR识别。网络上有很多基于OCR识别技术的工具、引擎以及一些web服务,它们对于识别一些简单的验证码是有一定的效果的,但是对于比较复杂的验证码(比如增加了一些模糊功能或者多种语言文字组合)识别效果并不太理想。转载 2012-03-06 09:03:51 · 2707 阅读 · 0 评论