VS2010 单元测试入门
- 格式:pptx
- 大小:1.42 MB
- 文档页数:26
VS2010 测试功能之旅:编码的UI 测试(4)-通过编写测试代码的方式建立UI测试(上)回顾在之前的入门篇系列中,分别介绍了一个简单的示例, 操作动作的录制原理,通过修改UIMap.UItest文件控制操作动作代码的生成,对象的识别原理。
接下来正式进入我们UI测试的进阶篇,在这一章,将讲述如何初步通过自己编写代码的方式来建立UI测试。
示例程序一个系统的基本功能是增,删,改,查,其中增和改界面基本一样,删就几乎是一个按钮的事,所以我做了一个程序示例(下载点我),拥有增和查两个功能,之后的操作都将会在这个示例之上进行:系统主窗口:该系统拥有两个功能,“添加用户”和“查询用户”,点击添加用户后,进入添加用户子窗体:这里添加用户的时候根据情况会出现以下几个提示框:“用户名不能为空”“已有重名用户”“备注不能为空”“添加成功!”如果在之前的主窗口,点击查询用户,则进入查询用户子窗体。
注:系统默认自带了5个用户TestUser1, TestUser2, TestUser3, TestUser4, TestUser5。
这个窗体不会弹任何提示框,默认进入窗体时,DataGridView里面没有加载数据,现在进行一个说明:查询条件-用户名:表示是否按用户名查询(非模糊查询),如果不输入,默认为不按其查询。
查询条件-用户类型:有三个选项“所有”,“管理员”,“一般用户”。
查询条件-日期:表示是否按日期查询,如果勾上了日期CheckBox,则旁边的DateTimePicker 会启用,然后选择一个具体的日期。
按钮-查询:就会按以上条件查询。
按钮-重置:用户名清空,用户类型变成所有,日期取消勾选。
文本框-用户备注:当查询出数据以后,每选择DataGridView里面中的一行数据,用户备注TextBox会自动加载当前行的用户备注。
接下来要做的工作就很轻松,我们要将以上的检查点转换为代码。
对测试进行编码实际上,很多自动化测试项目在编写的时候都是采用边录制边编写的方法来进行的,比如复杂的操作可以先录制下来,然后手工去改某些步骤,这里我们将采用这种方法。
上一讲鸡啄米讲的是VS2010应用程序工程中文件的组成结构,可能大家对工程的运行原理还是很模糊,理不出头绪,毕竟跟C++编程入门系列中的例程差别太大。
这一节鸡啄米就为大家分析下MFC应用程序框架的运行流程。
一.SDK应用程序与MFC应用程序运行过程的对比程序运行都要有入口函数,在之前的C++教程中都是main函数,而Windows应用程序的入口函数是WinMain函数,MFC程序也是从WinMain函数开始的。
下面鸡啄米就给出用Windows SDK写的“HelloWorld”程序,与应用程序框架进行对比,这样能更好的了解框架是怎样运行的。
Windows SDK开发程序就是不使用MFC类库,直接用Windows AP I函数进行软件开发。
鸡啄米不是要讲解SDK开发,只是为了对比而简单介绍,至于SDK 开发可以在大家学完MFC以后选择是否要研究,一般来说有简单了解就可以了。
SDK应用程序首先,给出Windows SDK应用程序“HelloWorld”的源码:上面的程序运行的流程是:进入WinMain函数->初始化WNDCLASSEX,调用Regist erClassEx函数注册窗口类->调用ShowWindow和UpdateWindow函数显示并更新窗口->进入消息循环。
关于消息循环再简单说下,Windows应用程序是消息驱动的,系统或用户让应用程序进行某项操作或完成某个任务时会发送消息,进入程序的消息队列,然后消息循环会将消息队列中的消息取出,交予相应的窗口过程处理,此程序的窗口过程函数就是my WndProc函数,窗口过程函数处理完消息就完成了某项操作或任务。
本例是要显示“HELL O WORLD”字符串,UpdateWindow函数会发送WM_PAINT消息,但是此消息不经过消息队列而是直接送到窗口过程处理,在窗口过程函数中最终绘制了“HELLO WORLD”字符串。
MFC应用程序下面是MFC应用程序的运行流程,通过MFC库中代码进行分析:首先在HelloWorld.cpp中定义全局对象theApp:CHelloWorldApp theApp;。
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 会自动生成一个单元测试工程。
推荐使用第二种方法创建,因为第一种方法创建的只有单元测试工程,第二种方法会把单元测试函数也一起创建了出来。
第四章VC2010中初学者常见错误、警告和问题这一章将帮助大家解释一些常见的错误、警告和问题,帮助大家去理解和解决一些常见问题,并了解它的根本原因。
iostream.h与<iostream>下面的代码为什么在VC2010下面编译不过去?#include <iostream.h>int main(){cout<<"Hello World."<<endl;return 0;}错误信息:fatal error C1083: 无法打开包括文件:“iostream.h”: No such file or directory造成这个错误的原因在于历史原因,在过去C++98标准尚未订立的时候,C++的标准输入输出流确实是定义在这个文件里面的,这是C风格的定义方法,随着C++98标准的确定,iostream.h已经被取消,至少在VC2010下面是这样的,取而代之的是我们要用<iostream>头文件来代替,你甚至可以认为<iostream>是这样定义的:namespace std{#include "iostream.h"}因此我们可以简单的修改我们的Hello World。
#include <iostream>using namespace std;int main(){cout<<"Hello World."<<endl;return 0;}iostream.h是属于C++的头文件,而非C的,因此标准订立的时候被改成了<iostream>。
而C的头文件stdio.h等依然可以继续使用,这是为了兼容C代码。
但是它们依然有对应的C++版本,如<cstdio> <cstdlib>等。
记住,在VC2010上面采用C++风格的头文件而不是C 风格的头文件,除非你是在用C。
演练:在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,然后单击“确定”。
写在前面在我还在上学的时候,我选择了C++,最初我用VC6作为我的IDE,我看过很多本C++的教材,有的适合我,有的不适合我,其中有一本叫《Visual C++ 2005入门经典》的书帮了我不少的忙。
因为通常的C++教材都只会介绍C++的语法什么的,很少会告诉我们如何去编译、运行,告诉我们什么是控制台程序,什么事Win程序,什么是GUI程序,C++能干什么,VC和C++的区别是什么。
现在有很多的朋友应该也有这些问题吧?学C++用C++也有几年了,算不上熟悉,算是初窥门径吧,我想我应该做点什么帮助一下那些和曾经的我一样困惑的朋友,特别是学生朋友,告诉他们他们所困惑的问题的答案。
记得我学C++的时候,没有人教,有的时候也走了不少弯路,甚至连调试也不会,也不知道可以通过看调用堆栈看调用次序,还自己慢慢的去搜索,好傻啊。
接下来我会做一个《Visual C++ 2010入门教程》系列,用来帮助初学者。
刚开始学的时候是很痛苦的,这个我深有体会,特别是身边还没有人能够指导一二的。
内容主要涵盖在Windows下面使用C++进行开发的常见内容,Visual Studio 2010的使用,如何创建新项目,如何调试,如果配置项目属性等等,另外还会介绍Visual C++ 2010中新加如的一些内容,包括一些新的STL组建,一些新的语法支持等等。
由于本人水平有限,其中难免有错误,希望大家谅解,如果大家有发现问题还请务必及时指出来,否则误导了他人我就罪不容恕了。
注意,本教程非C++教程,不会教你C++,只会教你如何使用Visual C++ 2010去练习去学习其它C++教材上面的程序。
因此建议大家认真的去看其他的C++教程,在使用Visual C++ 2010实践的时候如果遇到问题可以到这里来参考。
推荐《C++ Primer》、《C++程序设计语言》《Visual C++ 2008入门经典》。
第一章:关于Visual Studio、VC和C++的那些事首先,这三个东西有什么区别呢?VC和C++是相同的吗,有什么区别呢?我刚开始学C++的时候也有这样的问题,在这里我来替大家解释一下他们到底是什么。
实验一VS2010集成开发环境入门一、实验目的1. 熟悉VS2010集成开发环境。
初步学会使用VS 2010集成开发环境(IDE)。
①进入和退出;②菜单、工具栏的使用;③用户窗口区的划分:workspace, scource file。
2.学习新建和打开控制台应用程序的方法;3.通过运行示例程序了解程序开发过程;初步了解调试程序。
二、实验内容正所谓“工欲善其事,必先利其器”,在进行程序编写前,我们有必要对开发工具visual studio 2010进行相应的了解,能够大大提高我们的编程效率。
安装Visual C++ 2010是属于Visual Studio 2010的一部分,实际上Visual C++ 2010也有更多的子版本,正如Windows7有旗舰版、家庭高级版、家庭初级版一样,旗舰版功能最全面。
安装文件夹(文件名称VS)里是一个ISO镜像文件,这就是光盘镜像文件,通过虚拟光驱加载这个ISO镜像文件:在弹出的对话框中选择我们下载好的ISO文件。
这个时候,虚拟光驱里面已经替我们打开了ISO文件,有的机器可能会自动弹出安装提示,有的不会。
如果自动弹出安装提示,那么直接通过即可,如果没有弹出,那么用资源管理器方式进入虚拟光驱点击Setup.exe即可开始安装。
下面是开始的界面,应该选择安装VS2010.上图中选择“同意”。
然后安装包会开始搜集信息:选择设置好安装目录:然后就是开始安装了,注意安装的时候可能需要重启一两次。
最后安装成功:配置当安装成功之后,就可以开始使用了,这里先教大家做一些常见的配置,当然大家也可以直接用默认的设置。
首先,通过开始菜单来启动VS2010。
如果是第一次开始,那么可能会让你选择默认的环境设置,因为要使用VC 所以选择VC的配置:出现下面的画面表示已经成功安装和运行了。
这是起始页面,以后会经常见到它。
通过“工具”菜单中的“选项”,调出配置对话框,下面是一些常见的设置:1. 选择“文本编辑器”中的“所有语言”,把“行号”选项打上勾,则在程序编辑时会显示行号。
VS2010测试功能之旅:编码的UI测试(1)VS2010测试功能之旅——编码的UI测试系列之一RealZhao,2011年2月14日前言研究VS2010的自动化测试有一段时间了,在研究的过程中,发现网上的VS2010相关的测试资料十分稀少,这给学习带来比较大的困难。
幸运的是,自己因为常用QuickTest Professional做自动化测试,并且对.Net代码比较了解,使得在学习的过程中并不是特别困难,对UI CODED T EST也已经有一定了解。
本着与大家交流,共同进步的想法,思考之后,决定写这些随笔,来对VS2010的测试功能做一些探索和总结。
希望大家能够多多指教!自动化测试自动化测试指软件测试的自动化,软件测试就是在预设条件下运行系统或应用程序,评估运行结果,预先条件应包括正常条件和异常条件。
自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。
通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。
在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。
VS2010编码的UI测试,属于自动化测试中的一种,它可测试应用程序的用户界面是否功能正常。
编码的 UI 测试对应用程序的用户界面控件执行操作,并验证是否以正确的值显示了正确的控件。
一个简单的示例在上面对于自动化测试的介绍中已经提到,编码的UI测试将对应用程序的用户界面进行操作之后进行验证,对于界面的操作,我们需要预先录制或者直接编写(日后会介绍直接编写的方式),在这个简单的实例中,我们将先使用录制进行操作,录制完毕之后,使用回放功能进行回放(类似于录音机,录制之后再播放)一.新建测试项目1.首先打开VS2010,选择测试 新建测试2.选择编码的UI测试,简历一个UI测试,名称为CodedUITest1.cs3.创建完成,我们可以看到创建之后,项目的目录结构如下下面做一个简单的介绍Solution Items:存放该解决方案中各个测试项目公用的设置Local.testsetings文件和TraceAndTestImpact.testsettings是对解决方案中的测试进行整体上的设置,这个是建立测试解决方案的时候默认自动建立的两项,一个用于运行,一个用于调试,当然这两项是可以删除的,testsettings类型文件可以通过右击Solution Items的时候点击添加新建项建立TestProject1.vsmdi是用于对项目中创建的测试method进行组织和管理,让其能组织成流程线,一个个进行测试TestProject:我们刚才建立的测试项目,可以看到刚才建立的UI测试CodedUITest1.cs二.录制程序并回放1.假设我们现在有一个程序(这个示例程序在文章末尾有提供地址),现在我们需要对系统登录的部分进行测试,正确的用户名为”Admin”,密码为”123456”测试的内容是:(1).输入错误的用户名或输入错误的密码,检测系统是否提示“用户或密码错误”(2).输入正确的用户名和正确的密码,检测系统是否提示“登录成功”程序的截图如下所示:2.现在我们可以开始进行录制,将刚才的测试内容录制成实际的操作3.点击确定之后,可以看到屏幕的右下角弹出一个UI测试生成器,点击录制之后,就可以进行操作了4.之后首先输入错误的用户名和密码,然后点击登录,之后弹出提示框“用户名和密码错误“5.这个时候我们可以在录制面板点击暂停录制,然后点击”生成代码“,并将刚才的操作放入方法InputErrorUidPwd中(至于生成后的代码被放在了哪,现在可以先不用关心,最后我会进行说明)6.这个时候点击录制面板上的准星(这个时候准星已经Enable了),并一直按住鼠标不放,将鼠标拖到刚才的弹出框上面的文字再松开,然后测试生成器的对象库窗口会自动弹出,V S2010将捕获弹出框上的label对象,如下图所示:7.现在我们要进行第一个验证,就是验证这个弹出框”用户名或密码错误!”是否弹出来了,如果是,则测试通过,如果不是,则失败,接着先前的步棸,首先要确认左边的列表中“U I用户名或者密码错误Text“对象选中,之后选择右边的列表中的Exists属性(该属性表示label是否存在,存在则是True,不存在则是false),点击添加断言然后弹出为Exists添加断言的窗口,这里我们需要选择AreEqual,比较值是True,表示我们断言”用户名或密码错误”这个label存在,如果运行测试的时候该label确实存在,则该测试步骤是通过的,否则就是失败之后点击录制面板的生成代码,为刚才添加的断言生成方法AssertErrorWindow()(至于生成后的代码被放在了哪,现在可以先不用关心,最后我会进行说明)8.然后我们继续开始录制,录制开启后,首先点击“用户名或密码错误“弹出框的确定,然后用上面介绍的同样的方法,输入正确的用户名和密码,判断弹出框是否为”登录成功”,分别添加InputRightUidPwd()操作方法和AssertRightWinow()断言方法,最后便可以录制结束9.之后我们可以点击运行来进行测试之后VS2010会自动操作刚才演示的程序的登录窗口,然后报告测试结果三.如果现在程序发生异常假设现在刚才的示例程序,本来输入错误的用户名或密码,应该弹出提示“用户名或密码错误”,现在因为开发人员一时疏忽,不慎将提示改成了乱码“咪asd阿什顿”,那么是否刚才录制的测试能够把这个测试出来呢?我们现在可以试试(这个错误的示例程序在文章最后也提供下载)开始运行测试最终不负我们所望,错误还是被测试出来了四.录制生成的代码被放在了哪里?首先我们再看看项目的文件结构可以发现刚才录制之后,VS2010自动生成了UIMap.uitest文件,我们自动生成的代码就放在UIMap.Designer.cs中进入去查看,可以看到刚才录制为我们自动生成的四个方法InputErrorUidPwd(),AssertE rrorWinow(),InputRightUidPwd(),AssertRightWinow(),展开之后可以看到详细操作而在CodeUITest1.cs文件中,也自动添加了几句代码,调用UIMap中录制的测试操作VS2010测试功能之旅:编码的UI测试(2)-操作动作的录制原理(上)VS2010测试功能之旅——编码的UI测试系列之二:操作动作的录制原理(上)RealZhao,2011年2月18日回顾在之前我们介绍了如何用VS2010的UI测试功能创建一个简单的示例,大致描述了如何使用编码的UI测试进行录制和回放,在这章会着重描述VS2010是如何录制操作,并且生成代码,以及初步介绍如何通过自己写代码的方式进行测试。
目录: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#模式下的控制台应用程序,工程名为CUnitTest2)输入简单的加、减、乘、除函数代码,如下图所示(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: 初始化为适当的值这两句是被测函数的输入参数,需要我们去修改它的值,也就是我们输入测试用例的地方。
VS2010/MFC编程入门教程之目录第一部分:VS2010/MFC开发环境第二部分:VS2010/MFC应用程序框架第三部分:对话框第四部分:常用控件第五部分:菜单、工具栏与状态栏第六部分:文档、视图和框架第七部分:MFC常用类第八部分:字体和文本输出第九部分:图形图像第十部分:Ribbon界面开发VS2010/MFC编程入门之前言鸡啄米的C++系列给大家讲了C++的编程入门知识,大家对C++语言在语法和设计思想上应该有了一定的了解了。
但是教程中讲的例子只是一个个简单的例程,并没有可视化窗口。
鸡啄米在这套VS2010/MFC编程入门教程中将会给大家讲解怎样使用VS2010进行可视化编程,也就是基于窗口的程序。
C++编程入门系列主要偏重于理论方面的知识,目的是让大家打好底子,练好内功,在使用VC++编程时不至于丈二和尚摸不着头脑。
本套教程也会涉及到VC++的原理性的东西,同样更重视实用性,让大家学完本套教程以后,基本的界面程序都能很容易编写出来。
VC++简介VC++全称是Visual C++,是由微软提供的C++开发工具,它与C++的根本区别就在于,C++是语言,而VC++是用C++语言编写程序的工具平台。
VC++不仅是一个编译器更是一个集成开发环境,包括编辑器、调试器和编译器等,一般它包含在Visual Studio中。
Visual Studio包含了VB、VC++、C#等编译环境。
当然我们在使用VC++ 的时候为了轻便,总是只单独安装VC++ 。
但自微软2002年发布Visual 以来,微软建立了在.NET框架上的代码托管机制,一个项目可以支持多种语言开发的组件,VC++同样被扩展为支持代码托管机制的开发环境,所以.NET Framework是必须的,也就不再有VC++的独立安装程序,不过可以在安装Visual Studio时只选择VC++进行安装。
VC++版本的选择:VS2010因为VC++ 以后的版本不再有独立的安装程序,所以鸡啄米在教程中将不会称VC++以后的版本为VC++ 等等,而是用VC++所属的Visual Studio的版本名称代替,比如VS 2003。
VS2010/MFC编程入门教程之目录第一部分:VS2010/MFC开发环境VS2010/MFC编程入门之前言VS2010/MFC编程入门之一(VS2010与MSDN安装过程图解)第二部分:VS2010-MFC应用程序框架VS2010/MFC编程入门之二(利用MFC向导生成单文档应用程序框架)VS2010/MFC编程入门之三(VS2010应用程序工程中文件的组成结构)VS2010/MFC编程入门之四(MFC应用程序框架分析)VS2010/MFC编程入门之五(MFC消息映射机制概述)第三部分:对话框VS2010/MFC编程入门之六(对话框:创建对话框模板和修改对话框属性)VS2010/MFC编程入门之七(对话框:为对话框添加控件)VS2010/MFC编程入门之八(对话框:创建对话框类和添加控件变量)VS2010/MFC编程入门之九(对话框:为控件添加消息处理函数)VS2010/MFC编程入门之十(对话框:设置对话框控件的Tab顺序)VS2010/MFC编程入门之十一(对话框:模态对话框及其弹出过程)VS2010/MFC编程入门之十二(对话框:非模态对话框的创建及显示)VS2010/MFC编程入门之十三(对话框:属性页对话框及相关类的介绍)VS2010/MFC编程入门之十四(对话框:向导对话框的创建及显示)VS2010/MFC编程入门之十五(对话框:一般属性页对话框的创建及显示)VS2010/MFC编程入门之十六(对话框:消息对话框)VS2010/MFC编程入门之十七(对话框:文件对话框)VS2010/MFC编程入门之十八(对话框:字体对话框)VS2010/MFC编程入门之十九(对话框:颜色对话框)第四部分:常用控件VS2010/MFC编程入门之二十(常用控件:静态文本框)VS2010/MFC编程入门之二十一(常用控件:编辑框Edit Control)VS2010/MFC编程入门之二十二(常用控件:按钮控件Button、Radio Button和Check Box)VS2010/MFC编程入门之二十三(常用控件:按钮控件的编程实例)VS2010/MFC编程入门之二十四(常用控件:列表框控件ListBox)VS2010/MFC编程入门之二十五(常用控件:组合框控件Combo Box)VS2010/MFC编程入门之二十六(常用控件:滚动条控件Scroll Bar)VS2010/MFC编程入门之二十七(常用控件:图片控件Picture Control)VS2010/MFC编程入门之二十八(常用控件:列表视图控件List Control 上)VS2010/MFC编程入门之二十九(常用控件:列表视图控件List Control 下)VS2010/MFC编程入门之三十(常用控件:树形控件Tree Control 上)VS2010/MFC编程入门之三十一(常用控件:树形控件Tree Control 下)VS2010/MFC编程入门之三十二(常用控件:标签控件Tab Control 上)VS2010/MFC编程入门之三十三(常用控件:标签控件Tab Control 下)第五部分:菜单、工具栏与状态栏VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)VS2010/MFC编程入门之三十五(菜单:菜单及CMenu类的使用)VS2010/MFC编程入门之三十六(工具栏:工具栏资源及CToolBar类)VS2010/MFC编程入门之三十七(工具栏:工具栏的创建、停靠与使用)VS2010/MFC编程入门之三十八(状态栏的使用详解)第六部分:文档、视图和框架VS2010/MFC编程入门之三十九(文档、视图和框架:概述)VS2010/MFC编程入门之四十(文档、视图和框架:各对象之间的关系)VS2010/MFC编程入门之四十一(文档、视图和框架:分割窗口)第七部分:MFC常用类VS2010/MFC编程入门之四十二(MFC常用类:CString类)VS2010/MFC编程入门之四十三(MFC常用类:CTime类和CTimeSpan类)VS2010/MFC编程入门之四十四(MFC常用类:定时器Timer)VS2010/MFC编程入门之四十五(MFC常用类:CFile文件操作类)VS2010/MFC编程入门之四十六(MFC常用类:MFC异常处理)第八部分:字体和文本输出VS2010/MFC编程入门之四十七(字体和文本输出:CFont字体类)VS2010/MFC编程入门之四十八(字体和文本输出:文本输出)第九部分:图形图像VS2010/MFC编程入门之四十九(图形图像:CDC类及其屏幕绘图函数)VS2010/MFC编程入门之五十(图形图像:GDI对象之画笔CPen)VS2010/MFC编程入门之五十一(图形图像:GDI对象之画刷CBrush)第十部分:Ribbon界面开发VS2010/MFC编程入门之五十二(Ribbon界面开发:创建Ribbon样式的应用程序框架)VS2010/MFC编程入门之五十三(Ribbon界面开发:为Ribbon Bar添加控件)VS2010/MFC编程入门之五十四(Ribbon界面开发:使用更多控件并为控件添加消息处理函数)VS2010/MFC编程入门之前言鸡啄米的C++编程入门系列给大家讲了C++的编程入门知识,大家对C++语言在语法和设计思想上应该有了一定的了解了。
目录目录 (1)C++test(VS2010插件版)使用文档 (2)1编写说明 (2)2项目导入 (2)3 工程设置 (2)4静态测试 (3)4.1 静态测试配置 (3)4.2执行静态测试 (4)4.3 查看测试报告 (5)4.4 查看质量任务 (5)5.自动生成测试用例 (6)5.1. 自动生成测试用例配置 (6)5.2 执行自动生成测试用例 (8)5.3 查看测试报告 (8)5.4 查看自动生成的测试用例 (8)6.执行测试用例 (15)6.1. 执行测试用例配置 (15)6.2 执行测试用例 (17)6.3 查看测试报告 (17)6.4 查看生成的测试用例 (17)6.5 查看覆盖率 (18)7.桩函数 (19)7.1 桩函数概述 (19)7.2 自动生成桩函数 (19)7.3 用户自定义桩函数 (20)8.关于测试用例 (21)8.1预置条件为形参的测试用例 (22)8.2调用子函数获得输入 (24)8.3.成员变量获得输入,如下源代码: (26)8.4. 全局变量获得输入及桩函数的联合使用 (27)C++test(VS2010插件版)使用文档1 编写说明Parasoft C++test是经广泛证明的最佳时间集成解决方案,它能有效地提高开发团队的工作效率和软件质量。
本教程侧重点介绍单元测试的使用方法。
单元测试的定义是测试应用程序中最小的单元。
单元测试提供了一种更有效的发现错误的方法,它将应用程序中的最小单元分离开来,使得测试更接近错误,只要简单地对每个最小单元进行独立测试,就很容易的使全面准确的找到程序中的错误成为可能,单元测试能帮助客户更准确更全面的找到错误,显著提高软件质量。
2 项目导入1.如何导入一个已有项目➢选择“File”>”打开”>”项目解决方案”➢找到.sln文件,双击.sln文件或者直接双击.sln文件。
3 工程设置1. 导入项目完成后,右键点击项目名称>”属性”>”配置属性”>”常规”下的“配置类型“改为“动态库(.dll)”如图所示:然后修改路径,双击C/C++>“常规“>”附加包含目录”,将当前工程下源代码路径添加进去,如图所示:4 静态测试4.1 静态测试配置点击测试三角号右边的下拉菜单>”测试配置”如图:点击用户自定义>“新建””➢名称可根据不同的测试项目,及测试标准命名,这里为默认命名“静态测试”➢点击静态,只启动MISRA C 2004的所有规则,如下图所示➢其他选项暂不考虑,点击Apply>Close完成测试配置4.2执行静态测试➢可对整个项目进行静态测试,也可根据需要对某个.c文件单独进行静态测试,不同的测试要选中测试目标,如对某一个.c测试一定要选中这个.c文件(左键点击该.c文件即可)。
vs2010的11个调试技巧和⽅法调试是软件开发周期中很重要的⼀部分。
它具有挑战性,同时也很让⼈疑惑和烦恼。
总的来说,对于稍⼤⼀点的程序,调试是不可避免的。
最近⼏年,调试⼯具的发展让很多调试任务变的越来越简单和省时。
这篇⽂章总结了可能节省你⼤量时间的11个Visual studio的调试技巧和⽅法。
1 悬停⿏标查看表达式值调试是很有挑战性的。
⽐如在函数内逐步运⾏可以看出哪⾥出错,查看堆栈信息可以知道函数被谁调⽤等等……但是⽆论哪种情况下,查看表达式和局部变量的值都是很⿇烦的(把表达式和局部变量放到watch窗⼝⾥)。
⼀种更简单的⽅法,把⿏标停在所需查看的数据上。
如果是类或结构,那么点击展开可以很⽅便快速地查看其字段。
2 在运⾏过程中改变变量值调试器不仅仅是分析程序崩溃和诡异⾏为的⼯具,还可以通过逐步调试检查数据和⾏为是否符合程序预期的⽅法解决许多bug。
有时,你会想是否设置某些条件为真,程序就能正确运⾏了。
其实你只要把⿏标移动到变量上,双击值,然后输⼊你需要的值。
这样就不需要修改代码,重启程序了。
3 设置下⼀个运⾏位置⼀个典型的调试案例是我们经常会⽤逐步调试的⽅法去分析为什么函数出错了。
这时你遇到这个函数调⽤其他函数返回错误,⽽这个错误不是你想要的,你该怎么办?重启调试器?这⾥有个更好的⽅法,直接把黄⾊的运⾏位置箭头拖到你想要的运⾏位置。
其实就是跳过中间运⾏代码,直接到想要的位置。
很简单吧。
4 编辑然后继续运⾏在运⾏⼀个很复杂的程序和插件时,发现⼀个错误,但是不想浪费时间去重编译重启动程序。
很简单,只要在这个位置修改这个bug,然后继续调试。
Visual studio会修改这个程序,使得你可以继续调试⽽不需要重启程序。
值得注意的是“编辑然后继续运⾏”这个功能有⼏个限制。
⼀,它不能在64位代码上使⽤。
如果想使⽤这个功能,到项⽬设置⾥的编译选项,选择”x86”作为⽬标平台。
不要担⼼,这⽬标平台在reslease配置是和”debug是分离的,也就是说依然是”Any CPU”的设置。
写在前面在我还在上学的时候,我选择了C++,最初我用VC6作为我的IDE//集成开发环境,我看过很多本C++的教材,有的适合我,有的不适合我,其中有一本叫《Visual C++ 2005入门经典》的书帮了我不少的忙。
因为通常的C++教材都只会介绍C++的语法什么的,很少会告诉我们如何去编译、运行,告诉我们什么是控制台程序,什么事Win程序,什么是GUI程序,C++能干什么,VC和C++的区别是什么。
现在有很多的朋友应该也有这些问题吧?学C++用C++也有几年了,算不上熟悉,算是初窥门径吧,我想我应该做点什么帮助一下那些和曾经的我一样困惑的朋友,特别是学生朋友,告诉他们他们所困惑的问题的答案。
记得我学C++的时候,没有人教,有的时候也走了不少弯路,甚至连调试也不会,也不知道可以通过看调用堆栈看调用次序,还自己慢慢的去搜索,好傻啊。
接下来我会做一个《Visual C++ 2010入门教程》系列,用来帮助初学者。
刚开始学的时候是很痛苦的,这个我深有体会,特别是身边还没有人能够指导一二的。
内容主要涵盖在Windows下面使用C++进行开发的常见内容,Visual Studio 2010的使用,如何创建新项目,如何调试,如果配置项目属性等等,另外还会介绍Visual C++ 2010中新加如的一些内容,包括一些新的STL组建,一些新的语法支持等等。
由于本人水平有限,其中难免有错误,希望大家谅解,如果大家有发现问题还请务必及时指出来,否则误导了他人我就罪不容恕了。
注意,本教程非C++教程,不会教你C++,只会教你如何使用Visual C++ 2010去练习去学习其它C++教材上面的程序。
因此建议大家认真的去看其他的C++教程,在使用Visual C++ 2010实践的时候如果遇到问题可以到这里来参考。
推荐《C++ Primer》、《C++程序设计语言》《Visual C++ 2008入门经典》。
第一章:关于Visual Studio、VC和C++的那些事一个语言都有哪些要素呢?语法就是其中一个重要的方面,对于编程的语言来说,其实也是有成语的,在我看来,这就是库函数。
VS2010中的自动化测试——Web性能测试作者:heqichang ,发布于2012-6-6一、概述网站的性能由很多不同的因素决定,比如:网络速度、不同的浏览器或者在同一时刻的用户数量、硬件处理能力等因素,都会影响到网站的性能和响应时间。
Web性能测试就是帮助开发者在开发工程中就能确认并尽力修复这些问题。
下面讨论几种主要的性能测试:∙Validation and verification test:这个测试用来帮助我们检验输入值和是否能在期望的入口安全登录。
比如:一个字段要求你输入一个Email地址,那么你必须正确输入才能提交页面。
∙Web page usability test:它相当于是在生产环境中,通过模拟用户行为来查看网站内容是否完整。
比如:每个链接是否正确或者页面上的信息是否显示正确等。
∙Security Testing:它帮助我们检验不同权限的用户是否能得到相应的内容,还有对本地或者服务器上其它资源文件的访问权限∙Performance Testing:帮助我们验证在特地环境下页面响应的时间,它包括压力测试和负载测试。
∙Testing web page compatibility:这个就是验证网站在不同浏览器上的兼容性。
∙Testing a web application using different networks:这个测试取决于我们的最终用户是处在什么样的网络环境中。
对于Web性能测试,还有很多其它相关的测试,比如不同的操作系统、不同的数据库的影响等等都与性能有一定的关系。
上面我所说的性能测试,在VS2010中提供了相应的工具,为我们进行测试,下面我们就来创建一个简单的Web性能测试。
二、创建Web性能测试在我们创建Web性能测试之前先创建一个简单的网站,包括一个添加用户数据和显示用户数据的网页,数据表设计如下:网站用户界面如下:这个Web应用程序可以部署在Web服务器上进行测试,也可以直接在 Development Server上进行测试,当然,如果在开发环境上测试,需要保持Development Server运行着。
Visual Studio 2010中的单元测试在VS中,单元测试的功能很强大,使得建立单元测试和编写单元测试代码,以及管理和运行单元测试都变得简单起来,通过私有访问器可以对私有方法也能进行单元测试,并且支持数据驱动的单元测试。
一、建立单元测试项目1、建立要测试的实例:创建VC#模式下的控制台应用程序,工程名为calculator2、输入简单的加、减函数代码,如下图所示3、可按如下步骤建立单元测试(1)在代码区任意位置单击鼠标右键,在菜单中选择"创建单元测试",(2)在出现的"创建单元测试"界面中,勾上想要建立测试的方法,为这个方法创建单元测试代码的基本框架,单击确定按钮(3)点击确定后,在新建测试项目中,输入需要创建的单元测试的名称TestCal,然后单击"创建"按钮,则自动创建一个新的单元测试代码项目。
(4)在"解决档案资源管理器"中可以看到多了一个"TestCal"项目,可以看出"TestCal"项目引用了被测项目的程序集,和单元测试框架Microsoft.VisualStudio.QualityTools.UnitTestFrame,并且自动产生C#代码文件ProgramTest.cs(5)ProgramTest.cs的代码如下图所示,从图中可以看到,自动产生了一个"ProgramTest"类,并使用[TestClass()]标识为一个单元测试类,以及两个测试方法"AddTest"和“AddTest”。
并用[TestMethod()]标识。
(6)ProgramTest.cs代码文件详讲,下面以AddTest方法为例[TestMethod()]:说明了以下代码是一个测试用例Int a = 0; // TODO: 初始化为适当的值int b = 0; // TODO: 初始化为适当的值这两句是被测函数的输入参数,需要我们去修改它的值,也就是我们输入测试用例的地方。