VS2010单元测试工具使用
VS2010 测试功能之旅:编码的UI测试(4)-通过编写测试代码的方式建立UI测试(上)

VS2010 测试功能之旅:编码的UI 测试(4)-通过编写测试代码的方式建立UI测试(上)回顾在之前的入门篇系列中,分别介绍了一个简单的示例, 操作动作的录制原理,通过修改UIMap.UItest文件控制操作动作代码的生成,对象的识别原理。
接下来正式进入我们UI测试的进阶篇,在这一章,将讲述如何初步通过自己编写代码的方式来建立UI测试。
示例程序一个系统的基本功能是增,删,改,查,其中增和改界面基本一样,删就几乎是一个按钮的事,所以我做了一个程序示例(下载点我),拥有增和查两个功能,之后的操作都将会在这个示例之上进行:系统主窗口:该系统拥有两个功能,“添加用户”和“查询用户”,点击添加用户后,进入添加用户子窗体:这里添加用户的时候根据情况会出现以下几个提示框:“用户名不能为空”“已有重名用户”“备注不能为空”“添加成功!”如果在之前的主窗口,点击查询用户,则进入查询用户子窗体。
注:系统默认自带了5个用户TestUser1, TestUser2, TestUser3, TestUser4, TestUser5。
这个窗体不会弹任何提示框,默认进入窗体时,DataGridView里面没有加载数据,现在进行一个说明:查询条件-用户名:表示是否按用户名查询(非模糊查询),如果不输入,默认为不按其查询。
查询条件-用户类型:有三个选项“所有”,“管理员”,“一般用户”。
查询条件-日期:表示是否按日期查询,如果勾上了日期CheckBox,则旁边的DateTimePicker 会启用,然后选择一个具体的日期。
按钮-查询:就会按以上条件查询。
按钮-重置:用户名清空,用户类型变成所有,日期取消勾选。
文本框-用户备注:当查询出数据以后,每选择DataGridView里面中的一行数据,用户备注TextBox会自动加载当前行的用户备注。
接下来要做的工作就很轻松,我们要将以上的检查点转换为代码。
对测试进行编码实际上,很多自动化测试项目在编写的时候都是采用边录制边编写的方法来进行的,比如复杂的操作可以先录制下来,然后手工去改某些步骤,这里我们将采用这种方法。
Visual Studio 2010 单元测试使用

Visual Studio 2010 单元测试之一---普通单元测试本文以Visual Studio 2010为例,来介绍如何在Visual Studio里面进行单元测试.首先来介绍普通单元测试,这是进行顺序测试、压力测试的基础。
如果在Visual Studio 2010(2008)里面没有发现下图中的Test菜单,请用Visual Studio安装光盘进行安装,因为Visual Studio单元测试插件安装时可能不是默认选项。
测试之前,我们要准备一些测试代码。
或者从下面的链接下载完整的项目工程。
/source/3014236新建一个名为AppSample的Lib。
里面有一个MathUtility文件,包含加减乘除四个方法。
代码如下:namespace TJVictor.UT.AppSample{public class MathUtility{public MathUtility() { }public static int Add(int a, int b){return a + b;}public static int Minus(int a, int b){return a - b;}public static int Divide(int a, int b){return a / b;}public static int Multiply(int a, int b){return a * b;}}}创建单元测试项目有两种方法:1.直接创建单元测试项目:File->New->Project->Test Project. 如下图:2. 直接在需要创建单元测试的函数上创建:右击函数名->Create Unit Tests。
如下图这样就创建好了单元测试项目。
Visual Studio 会自动生成一个单元测试工程。
推荐使用第二种方法创建,因为第一种方法创建的只有单元测试工程,第二种方法会把单元测试函数也一起创建了出来。
VS2010全新操作软件说明书

VS2010全新操作软件说明书———功能更强大与操作简单并无冲突欢迎使用VS2010全新操作软件,目前该软件支持的控制卡型号有VSA系列、VSD卡、VS-mini卡、VSC++卡,暂时不支持VSB卡,请勿在VSB卡上更新VS2010软件。
在VSA系列的控制卡中,也仅支持标签颜色为白底红字的控制卡,如果错误的更新了VS2010软件将对控制卡造成不可恢复的损坏,请您谨慎使用。
目录第一部分 VS2010全新软件简介 (3)一、VS2010全新软件概述 (3)二、VS2010全新软件的运行环境及组件介绍 (4)三、VS2010操作界面简介 (5)四、软件主要功能列表 (6)五、菜单功能介绍 (6)1.文件 (6)2.编辑 (7)3.视图 (7)4.节目 (7)5.预览 (7)6.工程 (7)7.控制卡 (7)8.远程 (8)10.帮助 (8)六、快捷工具栏介绍 (8)七、对象工具箱介绍 (8)八、节目对象和属性介绍 (9)九、编辑区介绍 (9)十、系统状态栏介绍 (10)总结 (10)第二章对象的使用和编辑 (10)一、名词解释............................................ 错误!未定义书签。
二、什么是对象 (11)1.编辑对象 (11)2.显示对象 (11)三、对象与属性 (11)四、属性的编辑与对象的操作 (11)五、我们使用的对象 (12)1.编辑类对象 (12)节目和对象 (12)2.显示类对象 (13)文本文字 (13)内码文字 (14)RTF文字 (14)图片显示............................................ 错误!未定义书签。
文字节目单 (14)数字时钟 (15)模拟时钟 (15)动画 (15)表格 (15)天气信息 (15)倒计时 (16)第三章显示屏的管理 (16)一、管理的概念: (16)二、默认的环境 (16)三、发送节目 (16)四、下载节目 (16)五、工程的建立与导出 ................................. 错误!未定义书签。
在VS2010中创建并运行单元测试

演练:在VS2010中创建并运行单元测试摘自MSDN,略作整理目录概述 (1)系统必备 (2)演练 (3)准备演练 (3)创建单元测试 (4)创建单元测试 (4)运行和自定义单元测试 (5)运行和自定义单元测试 (5)运行单元测试并修复代码 (6)运行单元测试并修复代码 (6)为私有方法创建和运行单元测试 (6)为私有方法创建和运行单元测试 (6)运行测试并查看代码覆盖率 (7)运行测试并查看代码覆盖率 (7)概述本演练将逐步指导您使用Microsoft Visual Studio 2010 来创建、运行和自定义一系列测试。
您将从正处于开发过程中的C# 项目开始,创建执行该项目代码的测试,运行测试并检查结果。
然后,可以更改项目代码并重新运行测试。
在本演练中,您将完成以下任务:∙准备一个要在演练中使用的“银行帐户”(Woodgrove Bank)项目。
∙打开一个现有项目。
∙为公共和私有方法创建单元测试。
∙对代码运行这些测试。
∙在测试中查找错误并进行更正。
∙在代码中查找错误并进行更正。
系统必备Woodgrove Bank 项目,由简单程序的代码组成。
然后可以生成测试Woodgrove Bank 程序各种方法(公共和私有方法)的单元测试。
using System;namespace BankAccountNS{/// <summary>/// Bank Account demo class./// </summary>public class BankAccount{ private string m_customerName;private double m_balance;private bool m_frozen = false;private BankAccount() { }public BankAccount(string customerName, double balance){ m_customerName = customerName;m_balance = balance;}public string CustomerName{ get { return m_customerName; }}public double Balance{ get { return m_balance; }}public void Debit(double amount){ if (m_frozen){ throw new Exception("Account frozen");}if (amount > m_balance){ throw new ArgumentOutOfRangeException("amount");}if (amount < 0){ throw new ArgumentOutOfRangeException("amount");}m_balance += amount;}public void Credit(double amount){ if (m_frozen){ throw new Exception("Account frozen");}if (amount < 0){ throw new ArgumentOutOfRangeException("amount");}m_balance += amount;}private void FreezeAccount(){ m_frozen = true;}private void UnfreezeAccount(){ m_frozen = false;}public static void Main(){ BankAccount ba = new BankAccount("Mr.Bryan Walton", 11.99);ba.Credit(5.77);ba.Debit(11.22);Console.WriteLine("Current balance is ${0}", ba.Balance);}}}演练准备演练5.在“名称”框中键入Bank,然后单击“确定”。
VS2010使用说明书

VS2010全新操作软件说明书———功能更强大与操作简单并无冲突欢迎使用VS2010全新操作软件,目前该软件支持的控制卡型号有VSA系列、VSD卡、VS-mini卡、VSC++卡,暂时不支持VSB卡,请勿在VSB卡上更新VS2010软件。
在VSA系列的控制卡中,也仅支持标签颜色为白底红字的控制卡,如果错误的更新了VS2010软件将对控制卡造成不可恢复的损坏,请您谨慎使用。
目录第一部分 VS2010全新软件简介 (3)一、VS2010全新软件概述 (3)二、VS2010全新软件的运行环境及组件介绍 (4)三、VS2010操作界面简介 (5)四、软件主要功能列表 (6)五、菜单功能介绍 (6)1.文件 (6)2.编辑 (7)3.视图 (7)4.节目 (7)5.预览 (7)6.工程 (7)7.控制卡 (7)8.远程 (8)10.帮助 (8)六、快捷工具栏介绍 (8)七、对象工具箱介绍 (8)八、节目对象和属性介绍 (9)九、编辑区介绍 (9)十、系统状态栏介绍 (10)总结 (10)第二章对象的使用和编辑 (10)一、名词解释............................................. 错误!未定义书签。
二、什么是对象 (11)1.编辑对象 (11)2.显示对象 (11)三、对象与属性 (11)四、属性的编辑与对象的操作 (11)五、我们使用的对象 (12)1.编辑类对象 (12)节目和对象 (12)2.显示类对象 (13)文本文字 (13)内码文字 (14)RTF文字 (14)图片显示............................................. 错误!未定义书签。
文字节目单 (14)数字时钟 (15)模拟时钟 (15)动画 (15)表格 (15)天气信息 (15)倒计时 (16)第三章显示屏的管理 (16)一、管理的概念: (16)二、默认的环境 (16)三、发送节目 (16)四、下载节目 (16)五、工程的建立与导出 .................................. 错误!未定义书签。
(复旦整理)程序设计 VS2010 使用

选择项目保存路径(最好选择 自己方便找到的路径可以使 用右边的“浏览”完成)
默认同项目名相同, 无需手动输入
完成后,点击“确定”,弹出欢迎向导, 直接“下一步”
选择“空项目”,点击“完成”
到此,工程项目创建完毕
解决方案框架视图,包括工 程项目“Hello”(例)及其 下面的相关文件 自己定义创建的“*.h”文件
添加已经存在的文件
点击这里的小三角 在“源文件”上右键
弹出“添加新项”对话框
创建较复杂程序时,添加 自定义的头文件(.h) 输入C语言文件名称“*.c”如 Hello.c 注意添加后缀“.c”,否则默认为C++ 文件(.cpp)
输入文件名称后,点击“添加”,至此 添加文件完成
添加的C 语言文件
自己定义创建的“*.c”(C语言) 或“*.cpp”(C++语言)文件
如果有已经存在的工程项目,可以选择 打开:文件打开项目/解决方案
这里的“打开项目”也可以
弹出文本选择框后,找到工程项目所在 位置
工程文件(.sln),选中打开
(2)向工程项目添加文件(*.c) 下面三种方式都可以
添加新文件,尚不存在的文件
此处输入C语言代码
(3)输入C语言代码,保存,编译,链 接(生成、生成解决方案),运行
(执行不调试)
此处输入C语言代码 有的电脑需要添加 #include <stdlib.h> main函数中(最后)添加语句 system(“pause”); 代码行号,方便查找错误信息
编译、链接时注意查看此处的“错误”、“警告”信息
工具栏空白处,右键,选择对应的项即 可(“文本编辑器”、“生成”、“调 试”等常用的快捷图标)
Visual Studio 2010 测试管理解决方案

ӄMicrosoft Testing SolutionMicrosoft Testing Solution 微软测试解决方案Microsoft Visual Studio 2010 带来了全新的软件测试解决方案,并使其整合在整个应用生命周期管理体系(ALM)之中。
作为应用生命周期最重要的环节,软件质量保证历来是软件企业最迫切期望得到改善和提高的部分。
微软测试解决方案包括快速进行有关测试的实际与开发、测试用例管理,与Visual Studio Team Foundation Server 集成的测试计划,以确保所有变更和迭代都被正确的测试和覆盖。
这些功能贯穿于整个测试周期:测试计划、测试执行、进度跟踪和结果分析。
Microsoft Visual Studio 2010 测试工具集可以用于创建测试计划、管理测试用例、运行测试用例、管理和分析测试结果,以及与微软新一代开发测试云集成等特性。
微软测试解决方案真正做到了和开发团队的有效协作,是目前最流行的敏捷方法 Agile/Scrum 的最佳实践。
Microsoft Visual Studio 2010 测试框架Microsoft T est Manager 微软测试管理解决方案微软测试管理框架Microsoft Visual Studio 2010 测试管理包含架构设计、项目模板、测试管理、项目门户等;对于MS Project 、SharePoint 、Hyper-v 虚拟化平台及云计算平台进行了全面的集成。
可以大幅提升软件质量,集成的测试工具集提供了完整的”计划-测试-跟踪” 工作流。
使用丰富的诊断工具为开发人员归档大量bug 。
充分利用以人物为导向的用户界面和手动测试快进等功能, 可以获得所有团队角色之间的上下文协作, 大大增加了对整个项目的可视性, 同时提供了对用户需求的完整可跟踪性、进度报告和实施质量度量。
有助于您做出明智、及时的决策, 并降低与软件发布相关的风险。
Vs2010 环境配置和测试

解压OpenCv和DiectShow
编译好的Debug和Release文件夹拷贝到 F:\Program Files\DxShow\Samples\C++\DirectShow\Ba seClasses目录下
VS2008开发环境的配置
OpenCV在VS2008中的配置
在“工具”-“选项”-“项目和解决方案”- “VC++目录”-“包含文件”中,添加:
第一个例子程序
该程序的效果是,从硬盘中加载指定的图 像文件,并在窗口中显示出来。如下图所 示:
第一个例子程序
第二个例子程序
下面将通过第二个简单的例子程序,介绍 如何编写基于对话框的MFC程序。
(1)打开VS2008编程环境。选择“文件”->“新建”->“项 目”,在弹出的“新建项目”对话框中,展开左侧树形列 表“项目类型”->“Visual C++”->“MFC”,在右侧的“Visual Studio 已安装的模板”栏中选择“MFC 应用程序”。填写 项目名称,这里为Test2。点击“确定”按钮;见下图:
精选课件14vs2010开发环境的配置新建工程时新建win32consoleapplication然后去掉预编译头选项然后在新建的工程那里最下面找到propertymanager然后再选择microsoftcppwin32user这一项debug或release的都行出来的框内选择vcdirectories然后在includedirectories和librarydirectories中添加你的依赖文件和库文件路径
2、减少开发的复杂度:确保您能更加轻松发布基于 Framework 的解决 方案,包括 Windows、Web、移动和基 于 Office 的应用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录:
1、建立单元测试项目 (2)
1.1、从被测试代码生成单元测试 (2)
1.2、添加单元测试项目 (7)
2、编写测试方法 (7)
3、数据驱动的单元测试 (8)
3.1、ACCESS数据驱动单元测试 (8)
3.2、读取Excel的方法: (11)
4、单元测试的运行 (14)
5、附加测试属性 (15)
VS2010中的单元测试
在VS2010中,单元测试的功能很强大,使得建立单元测试和编写单元测试代码,以及管理和运行单元测试都变得简单起来,通过私有访问器可以对私有方法也能进行单元测试,并且支持数据驱动的单元测试。
1、建立单元测试项目
1.1、从被测试代码生成单元测试
1)实例:创建VC#模式下的控制台应用程序,工程名为CUnitTest
2)输入简单的加、减、乘、除函数代码,如下图所示
(1)在Add方法体内,单击鼠标右键,在菜单中选择“创建单元测试”,
建单元测试代码的基本框架,单击确定按钮
后单击“创建”按钮,则自动创建一个新的单元测试代码项目。
(4)在“解决档案资源管理器”中可以看到多了一个“AddTest”项目,可以看出“AddTest”项目引用了被测项目的程序集,和单元测试框架
Microsoft.VisualStudio.QualityTools.UnitTestFrame,并且自动产生两个C#代码文件
AssemblyInfo.cs和ProgramTest.cs
(5)ProgramTest.cs的代码如下图所示,从图中可以看到,自动产生了一个“ProgramTest”类,并使用[TestClass()]标识为一个单元测试类,以及一个“AddTest”测试方法,。
并用[TestMethod()]标识。
(6)ProgramTest.cs代码文件详讲
[TestMethod()]:说明了以下代码是一个测试用例
Int a=o;//TODO:初始化为适当的值
int b=0;//TODO:初始化为适当的值
这两句是被测函数的输入参数,需要我们去修改它的值,也就是我们输入测试用例的地方。
double expected=0;//TODO:初始化为适当的值
double actual;
这两句话浅显易懂,前一句话是定义了期望值和对它进行初始化,后一句话是定义了实际值。
默认
Assert.AreEqual(expected,actual);
Assert在这里可以理解成断言:在VSTS里做单元测试是基于断言的测试。
默认代码中Assert.Inconclusive表明这是一个未经验证的单元测试。
在实际的程序中可以注释掉。
1.2、添加单元测试项目
(1)另外一种单元测试方法是独立添加单元测试项目,在解决方案中添加一个新的项目,选择项目类型为“测试项目”,
(2)单击确定后,自动产生一个新的单元测试项目,在“解决方案资源管理器”中可看到新添加的测试项目“TestProject2”。
对比“TestProject2”和“AddTest”可发现,“TestProject2”少了对被测试项目程序集的引用,仅仅引用了单元测试框架的DLL
“Microsoft.VisualStudio.QualityTools.UnitTestFrame”
2、编写测试方法
单元测试的基本方法是调用被测代码的函数,输入函数的参数值,获取返回结果,然后与预期测试结果进行比较,如果相等则认为测试通过,否则认为测试不通过。
1、Assert类的使用
Assert.Inconclusive()表示一个未验证的测试;
Assert.AreEqual()测试指定的值是否相等,如果相等,则测试通过;
AreSame()用于验证指定的两个对象变量是指向相同的对象,否则认为是错误
AreNotSame()用于验证指定的两个对象变量是指向不同的对象,否则认为是错误Assert.IsTrue()测试指定的条件是否为True,如果为True,则测试通过;
Assert.IsFalse()测试指定的条件是否为False,如果为False,则测试通过;
Assert.IsNull()测试指定的对象是否为空引用,如果为空,则测试通过;
Assert.IsNotNull()测试指定的对象是否为非空,如果不为空,则测试通过;
2、CollectionAssert类的使用
用于验证对象集合是否满足条件
StringAssert类的使用
用于比较字符串。
StringAssert.Contains
StringAssert.Matches
StringAssert.tartWith
3、数据驱动的单元测试
数据驱动的单元测试是指单元测试的输入数据遍历一个数据源的所有行。
从数据源的每一行读入数据并传入给测试方法使用
3.1、ACCESS数据驱动单元测试
1)打开测试视图窗口,选择测试视图
2)在测试视图窗口中选择需要配置成数据驱动方式的单元测试方法,然后按F4,打开单元测试的属性窗口
3)编辑“数据连接字符串”属性,在“属性”窗口中单击该属性,然后单击省略号(…)。
这将打开“选择数据源”对话框,其中列出了若干个可能的数据源,包括ODBC、Microsoft SQL Server和Microsoft Access。
选择一个数据源后将打开一个特定于该数据源类型的对话框;可以使用此对话框配置该数据源的连接属性。
配置完数据连接后,连接字符串会作为“数
据连接字符串”的值出现。
此字符串还会作为单元测试方法的一个属性存储起来
4)在这个界面中,选择一个Acess表data.mdb,单击“确定”按钮完成设置,回到“单元测试属性”窗口。
可以看到数据源的已经设置好。
5)在建立与数据源的连接之后,可以选择一个数据表。
当您单击“属性”窗口的值列中的下拉列表时,将会列出所连接的数据库中的表。
从此列表中选择的表就是在运行单元测试时将检索其中的行的表。
与“数据连接字符串”等其他属性一样,“数据表名称”也会作为单元测试方法的一个属性存储起来。
6)在“数据访问方法”,请选择“顺序”或“随机”;默认值为“顺序”。
此设置表示从数据源的表中检索记录的顺序。
可以看到,在测试方法前面已经添加了一行:
7)数据源的使用
通过TestContext类的DataRow和DataConnection属性将数据提供给正在运行的单元测试。
下面为使用TestContext类的DataRow属性来读入数据行
8)Acess数据源中的表为
3.2、读取Excel的方法:
1)在桌面新建一个txt文件,更改文件名为data.dsn
2)选中“数据库连接字符串”,单击右边列的按钮,更改数据源为Microsoft ODBC数据源,点击“确定”按钮
3)选择使用连接字符串,点击生成
4)选择Excel数据源的驱动程序,点击“下一步”
5)选择data.dsn为数据源保存文件,一直选择“下一步”。
6)在弹出的选择工作簿中,选择用例的输入文件data.txt,点击“确定”
7)选择用例所在的Sheet页,选择“完成”
8)数据源的使用代码
4、单元测试的运行
单元测试的运行有两种方式:调试和运行。
可以像调试普通代码一样对单元测试代码进行调试,当然也可以直接运行,单元测试的结果将在“测试结果”界面中展示,双击测试结果,可以得到测试结果的详细信息。
单元测试的代码覆盖率可以在“代码覆盖率结果”界面中展示。
5、附加测试属性
“附加测试属性”。
默认都是被注释掉的,只要我们取消注释就可以使用了。
这个功能的加入,很大程度上是为了增加测试的灵活性。
具体的属性有:
[ClassInitialize()]在运行类的第一个测试前先运行代码
[ClassCleanup()]在运行完类中的所有测试后再运行代码
[TestInitialize()]在运行每个测试前先运行代码
[TestCleanup()]在运行完每个测试后运行代码
如在执行测试时,将测试执行时间输入到日志中,代码如下。