1、.NET平台
.NET平台的软件是指基于.NET Framework构建和运行的应用程序。.NET平台的基本特征是代码托管、自动垃圾回收。基于.NET平台来构建应用程序,可以免去很多与硬件、底层API打交道的麻烦,是构建面向对象的应用程序的基础框架。
.NET Framework主要由三部分组成:公共语言运行库、统一编程类框架、ASP.NET
2、反射机制
通过System.Reflection命名空间中的类以及System.Type,可以获取有关程序集的类、接口、属性等信息,可以使用反射在运行时创建类型实例,访问和调用这些实例。
反射机制可被用在测试中,通过反射来加载被测试程序,获取被测试程序的各种属性,触发被测试程序的各种事件,从而达到自动化测试的目的。
3、.NET平台的开发工具
.NET程序的开发可以采用各种开发工具,例如,Visual Studio.NET2005、SharpDevelop等。Visual Studio是一套完整的开发工具,用于生成Windows应用程序、ASP.NET程序、Web服务、移动设备应用程序等。Visual basic、Visual C++、Visual C#、和Visual J#都是用相同的集成开发环境(IDE),利用此IDE可以共享工具且有助于创建混合语言解决方案。
Visual Studio Team System是一个高效、集成且可扩展的软件开发生命周期工具平台,可以帮助软件团队提高整个软件开发过程中的沟通和协作能力。它由以下部分组成。
Team Foundation:可扩展的团队协作服务器,可提供工作项跟踪、源代码管理、报告和流程指南
Team Edition for Architects:是一组集成的、用于面向服务的开发的应用程序设计工具
Team Edition for Developers:提供代码质量和性能工具,使团队可以构建可靠的、高质量的服务和应用程序
Team Edition for Tester:提供高级负载测试工具,使团队可以在产品发布之前验证应用程序的性能
如果安装了Visual Studio.NET2005 Team Edition for Database Professionals,还可以在Visual Studio.NET2005中对数据库进行单元测试、检查数据库差异、生成大批量的数据
4、.NET平台的测试工具
除了Visual Studio.NET2005自带的测试工具外,还有很多为测试.NET平台软件而生产的测试工具。主要分成以下几类
(1) 单元测试工具:用于对.NET平台编写的代码进行单元测试,例如NUint、NMock、NUbitForms等。另外,还有一些用于辅助单元测试的工具,例如NCover,可用于统计代码的测试覆盖率。
(2) 代码分析和检查工具:用于检查.NET代码存在的隐藏缺陷,找出不满足规范要求的代码,例如DevPartner、StyleCop等
(3) 自动化功能测试工具:用于验证.NET软件的功能正确性,自动化地进行回归测试。例如QTP、TestComplete等
(4) 性能测试工具:用于检查.NET软件的性能是否满足要求,验证软件的压力承受能力。例如loadrunner/" target="_blank" >LoadRunner、NTime、AQTime等
5、.NET软件的测试
(1) C/S结构的应用程序
这类程序的测试特点在于界面操作,需要结合用户界面规范来检查其规范性,并且由于C/S节后的客户端程序拥有比较丰富的业务逻辑处理代码,因此,对于这些代码的单元测试功能的集成测试是测试的重点。可结合一些单元测试工具,基于GUI的自动化测试工具来编写自动化的回归测试脚本。
大部分C/S结构的应用程序用于解决某些企业的内部业务处理问题,因此会涉及比较多的基础数据、业务数据问题。对后台数据库设计的检查会显得非常必要,可结合一些数据库测试和检查工具来进行数据库的单元测试、数据结构的差异性检查、数据的正确性检查
(2) B/S结构的应用程序
对于这类程序的测试,需要注意浏览器的兼容性测试,因为客户端的用户可能会采用各种平台下的各种类型和版本的浏览器来访问应用,为了支持这些访问,则必须进行浏览器的兼容性测试。可以结合一些自动化的测试工具来进行这项测试,例如QTP、Selenium RC等。
一般采用ASP.NET来构建B/S结构的程序,对于ASP.NET程序的测试,与其他Web程序的测试一样需要注意链接的检查,Web页面的功能测试,以及压力测试,可结合LoadRunner等性能测试工具来对这类程序进行压力测试。
(3) Web服务
Web服务的测试有点类似于单元测试,因为Web服务器不提供界面,只能通过访问WSDL来调用Web服务操作,检查返回的SOAP消息来验证Web服务的功能正确性。另外,由于Web服务可能要支持多个使用者得并发调用,因此也需要进行压力测试,可结合soapUI、LoadRunner等测试工具来进行Web服务的压力测试。
(4) 只能设备应用程序
智能设备的应用程序和普通PC平台的应用程序一样需要进行功能测试、界面规范性检查、性能测试。但由于其运行平台的限制,未必能非常方便地进行这些测试,因此需要注意利用一些小工具来辅助进行这类程序的测试。