1. .net测试框架概述

应用程序开发正在变得敏捷。使用瀑布过程模型来分析需求时,设计应用程序架构,实现它,两三年后发现所建立的应用程序没有满足用户的需求,这种情形并不少见。相反,软件开发变得敏捷,发布周期更短,最终用户在开发早期就参与进来。看看Windows10:数以百计的参与Windows预览体验计划的用户给早期的构建版本提供反馈,每隔几个月甚至几周就更新一次。在Windows 10的Beta程序中,Windows预览体验计划用户曾今在一周内收到Windows 10的3个构建版本。Windows 10是一个巨大的程序,但微软设法在很大程度上改变开发方式。同样,如果参与.NET Core开源项目,每晚都会收到NuGet包的构建版本。如果喜欢冒险,甚至可以写一本关于未来技术的书。

如此快速和持续的改变——每晚都创建构建版本——等不及Windows预览体验计划用户或最终用户发现所有问题。Windows 10每隔几分钟就崩溃一次,Windows预览体验计划用户就不会满意。修改方法的实现代码的频率是多少,才能发现似乎不相关的代码不工作了?为了试图避免这样的问题,不改变方法,而是创建一个新的方法,复制原来的代码,并进行必要的修改,但这将极难维护。在一个地方修复方法后,太容易忘记修改其他方法中重复的代码。

为了避免这样的问题,可以给方法创建测试程序,使测试程序自动运行,签入源代码或在每晚的构建过程中检查。从一开始就创建测试程序,会在开始时增加项目的成本,但随着项目的继续进行和维护期间,创建测试程序有其优点,降低了项目的整体成本。

本章解释了各种各样的测试,从测试小功能的单元测试开始。这些测试应该验证应用程序中可测试的最小部分功能,例如方法。传入不同的输入值时,单元测试应该检查方法的所有可能路径。

MSTest是Visual Studio用于创建单元测试的测试框架。建立.NET Core时,MSTest不支持为.NET Core库和应用程序创建测试。这就是为什么微软使用xUnit为.NET Core创建单元测试的原因。现在可以使用MSTest和xUnit为.NET Core创建单元测试。本章介绍微软的测试框架MSTest和xUnit。

使用Web测试,可以测试Web应用程序,发送HTTP请求,模拟一些用户。创建这些类型的测试,允许模拟不同的用户负载,允许进行压力测试。可以使用测试控制器,来创建更高的负载,模拟成千上万的用户,从而也知道需要什么基础设施,应用程序是否可伸缩

本章介绍的最后一个测试特性是UI测试。可以为基于XAML的应用程序创建自动化测试。当然,更容易为视图模型创建单元测试,用ASP.NET Core创建视图组件,但本章不可能涉及测试的方方面面。可以自动化UI测试。想象一下数百种不同的Android移动设备。你会购买每一个型号,在每个设备上手动测试应用程序吗?最好使用云服务,在确实要安装应用程序的、数以百计的设备上,发送要测试的应用程序。不要以为会在数以百计的设备上启动云中的应用程序,并与应用程序进行可能的交互,这需要使用UI测试自动完成。

首先,创建单元测试。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值