- 1、本文档共26页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VS2010-单元测试入门
Visual Studio 2010 单元测试入门;2;按开发阶段分
单元测试、集成测试、系统测试、验收测试
按测试技术分
白盒测试、黑盒测试、灰盒测试
按实施主体分
开发方测试、用户测试、第三方测试
按执行状态分
动态测试、静态测试;它浪费了太多的时间?
它仅仅是证明这些代码做了什么?
不管怎样, 系统测试将会抓住所有的Bug?
成本效率不高?
;1.不要让你的客户发现令人尴尬的bug。编写单元测试能让你覆盖大部分的应用案例,并且发现常见的问题。
2.感觉更安全。通过反复的测试,你在添加新功能的时候不会影响程序已有的功能。
3.避免写不必要的代码。这样可以让代码更简洁,更容易维护,同时也节省开发时间。
4.具有回归性。你不用为相同的代码重复的进行测试。
5.保证代码的可读性。单元测试能让你代码的目的性和逻辑性更容易被理解。
6.保证代码的可维护性。单元测试能强制让你对功能进行封装。
7.无忧的进行重构。在你重构以后,跑一遍测试,你就知道重构是否对程序的功能造成了破坏。
8.节省测试的时间。测试是自动进行的,速度的快慢取决于你的CPU。;Visual Studio 2010 测试架构;白盒测试-基于源代码的测试方法
静态方法:代码走查
动态方法:生成测试用例,驱动程序运行;示例代码;类;自动化测试:; using Microsoft.VisualStudio.TestTools.UnitTesting;
[TestClass]
public class TestClass1
{
// 执行该类别中第一项测试前,使用 ClassInitialize 执行程序代码
// [ClassInitialize()]
// public static void MyClassInitialize(TestContext testContext) { }
// 在类别中的所有测试执行后,使用 ClassCleanup 执行程序代码
// [ClassCleanup()]
// public static void MyClassCleanup() { }
[TestMethod]
public void TestMethod1()
{
// 在此加入测试逻辑
}
};针对Search类建立测试类SearchTest,标记为[TestClass]
针对BubbleSort方法建立测试方法BubbleSortTest,标记为[TestMethod]
一个测试用例主要包括输入参数和输出结果,以及实际输出结果和预计结果的比较;AreEqual 验证指定的两个对象是否相等
AreEqualT验证两个泛型资料是否相等
AreNotEqual验证指定的两个对象是否不相等
AreNotEqualT验证两个泛型资料是否不相等
AreNotSame验证两个对象变量是否引用不同对象
AreSame验证两个对象变量是否引用相同对象
IsFalse验证指定的条件是否为false
IsTrue 验证指定的条件是否为true
IsNotNull 验证指定的对象是否不为Nothing
IsNull 验证指定的对象是否为Nothing;通过“测试”菜单进入“测试清单编辑器”
选择测试名称,点击“执行核取的测试”按钮,执行测试。
单元测试过程同样可以单步调试。
;测试用例执行的同时会显示“测试结果”
测试结果分“成功”和“失败”两种。
失败1:测试方法 BinarySearchTest 掷回例外状况: ...
失败1:Assert.AreEqual 失败。预期: 1。实际: -1;语句覆盖
每条语句至少被执行一次
判定覆盖
每个while/if判定条件取得True/False值一次
条件覆盖
每个布尔表达式均取得True/False值一次
完全的条件覆盖不能保证完全的判定覆盖
条件判定组合覆盖
判定覆盖和条件覆盖的组合
路径覆盖
所有可能的路径均被执行
;首先在菜单“测试”中选择“编辑测试设定”,如右图:
勾选“程序代码涵盖范围”,点击“设定”。勾选要测试的成品,如右图:;Visual Studio自动计算的测试覆盖为语句覆盖;单元测试针对局部代码,功能测试可能针对整体系统系统
与本程序相关的其他程序还没有完成。
有些模块是用户不可见的
单元测试无法测非功能性要求,功能测试难以满足足够的条件
单元测试目的在于确认代码是否满足设计要求,功能测试目的在于确认系统是否满足用户需求
程序是否按照设计的架构要求来编写,如数据访问?
同样的功能可以有不同的设计
文档评论(0)