.NET自动化测试---API轻量级测试
2011-03-26 16:03
267 查看
自动化测试相对于手工测试有以下优点
a.Speed--快速地进行成千上万个测试用例;
b.Accuracy--不受人为的因素的干扰,例如记录错误的结果;
c.Precision--每次都以同样的方式运行;
d.Efficiency--晚上白天都可以进行测试;
e.Skill-Building--培养技能,手工测试非常枯燥乏味,提高不了技能。
我们知道API(Application Programing Interface)测试是软件自动化测试的基础,API测试用来验证组成软件的那些单个方法的正确性;API测试也称为单元测试-Unit Test、模块测试-Module Test、组件测试-Component Test和元件测试-Element Test。 不管怎么叫,背后的意思是:必须确定系统中每个单独的模块必须正常工作。
待测方法的代码如下:
View Code
结果如下:
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自动化测试介绍基本完毕,请多多指教,谢谢!
a.Speed--快速地进行成千上万个测试用例;
b.Accuracy--不受人为的因素的干扰,例如记录错误的结果;
c.Precision--每次都以同样的方式运行;
d.Efficiency--晚上白天都可以进行测试;
e.Skill-Building--培养技能,手工测试非常枯燥乏味,提高不了技能。
我们知道API(Application Programing Interface)测试是软件自动化测试的基础,API测试用来验证组成软件的那些单个方法的正确性;API测试也称为单元测试-Unit Test、模块测试-Module Test、组件测试-Component Test和元件测试-Element Test。 不管怎么叫,背后的意思是:必须确定系统中每个单独的模块必须正常工作。
待测方法的代码如下:
View Code
using System; using System.IO; namespace ApiTestExample { class Program { static void Main(string[] args) { FileStream ifs=null; StreamReader sr = null; StreamWriter sw = null; FileStream fs = null; try { ifs = new FileStream("E:\\C#\\C#.NET例子程序\\testcase.txt", FileMode.Open); sr = new StreamReader(ifs); string stamp = DateTime.Now.ToString(); stamp = stamp.Replace(":","-");//这里不进行符号替换,创建不来文件,以为:这个符号不能用于创建文件问 fs=File.Create("E:\\C#\\C#.NET例子程序\\"+stamp +" testresult.txt"); sw = new StreamWriter(fs); string line, caseID, method; string[] tokens, tempInput; string expected; double actual = 0.0; int numPass = 0, numFail = 0; Console.WriteLine("\nCaseID Result Method Details"); Console.WriteLine("==============================="); while ((line =sr.ReadLine())!=null) { tokens = line.Split(':'); caseID =tokens [0]; method =tokens[1]; tempInput =tokens[2].Split (' '); expected=tokens [3]; int[] input=new int[tempInput.Length ]; for (int i = 0; i < input.Length ; i++) { input[i] = int.Parse(tempInput [i]); } if (method == "ArihthmeticMean") { actual = ArihthmeticMean(input[0], input[1]); if (actual.ToString() == expected) { Console.WriteLine(caseID + " Pass " + method + " actual=" + actual.ToString()); //记录测试 sw.WriteLine(caseID + " Pass " + method + " actual=" + actual.ToString()); ++numPass; } else { Console.WriteLine(caseID + " Fail " + method + " actual=" + actual.ToString()); //记录测试 sw.WriteLine(caseID + " Fail " + method + " actual=" + actual.ToString()); ++numFail; } } else { Console.WriteLine(caseID +" "+method +"not yet implement"); sw.WriteLine(caseID + " " + method + "not yet implement"); } } Console.WriteLine("===========================end test run==============="); Console.WriteLine("pass="+numPass +"Fail="+numFail ); } catch(Exception ex) { Console.WriteLine("Fatal error"+ex.Message ); } finally { //注意打开的文件资源一定要关闭,还有注意顺序 ifs.Close(); sr.Close(); sw.Close(); fs.Close(); } } //待测方法ArihthmeticMean public static double ArihthmeticMean(double i,double j) { double result=0.0; result = Math.Max(i,j); return result; } } }
结果如下:
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自动化测试介绍基本完毕,请多多指教,谢谢!
相关文章推荐
- 自动化测试 : 确保界面用SendMessage就可以自动化测试, 不需要特别的键盘鼠标API
- net自动化测试之道API测试-数据转换
- net自动化测试之道API测试-自动发送Email报告测试失败
- net自动化测试之道API测试-引言
- net自动化测试之道API测试-自动运行测试套件
- 一款 .NET 下的轻量级 REST 和 HTTP API 客户端 - RestSharp
- net自动化测试之道API测试-存储测试用例
- net自动化测试之道API测试-确定测试结果
- net自动化测试之道API测试-读取测试用例
- net自动化测试之道API测试-例子程序:ApiTest
- net自动化测试之道API测试-分解一个测试用例
- 用 .NET 开发的轻量级 UI 测试自动化
- 一种改进的轻量级.NET应用程序性能测试框架
- 用 .NET 开发的轻量级 UI 测试自动化
- 用 .NET 开发的轻量级 UI 测试自动化-.NET教程,.NET Framework
- 转载:用一个小例子来说明手工测试,自动化测试,系统命令,编程语言,API的关系
- 【.Net码农】【淘宝API】淘宝API开发系列---淘宝API的测试及使用
- .net软件自动化测试笔记(API-1)
- 【.Net码农】【淘宝API】淘宝API开发系列---淘宝API的测试及使用2
- net自动化测试之道API测试-确定测试套件运行的总时间