使用VS 2010提高软件测试自动化的水平(3)

自动布置/还原测试环境

目前,我想我们绝大部分开发团队都是通过人力来布置或者说搭建测试环境的,假设我们要测一个用ASP.NET开发的SNS网站,在准备好相关的硬件之后,我们肯定要找一个测试人员,或者开发人员,有条件的单位可能会找一个专门的IT人员,总之是找一个人(我们就叫他小王吧)来安装操作系统、为操作系统打必要的Service Pack、在线或离线升级一些Hotfix,然后安装数据库系统、为数据库系统打必要的Service Pack,继而安装.NET Framework、配置IIS,最后拷贝、安装、配置新Build出炉的SNS网站;过一段时间,快的话可能也就一、两天,当网站更新的Build出来之后,小王同志通常还得再格式化测试机器,重新安装配置操作系统、数据库系统、其它必要的软件和类库以及SNS网站最新的Build,显然,这一过程将往复不已直至项目结束。

据统计,布置/还原测试环境的工作量通常会占到测试人员总工作量的30%左右,甚至有可能更高。为了有效地减少这部分工作量,VS 2010提供了一种叫作"Lab Management"的功能,这是一种基于计算机虚拟技术的功能,它不仅可以大幅减少在搭/拆测试环境过程中的人力投入,甚至还可以实现从Build代码、到布置测试环境、到部署系统、到运行测试整个过程的自动化流水作业,或者叫一条龙式的管理。

使用过Hper-V的朋友对虚机快照(VM snapshot)这个概念(参考图1)应该不会感到陌生,我们可以通过虚机的快照功能把整个虚机还原到以前任何一刻的状态(checkpoint),这与很多应用软件譬如Word中的Undo功能具有异曲同工之妙。

[图1:Hyper-V中处于不同“时态”的虚机快照]

VS 2010中的Lab Management功能也正是基于虚机的这一特性实现了虚拟测试环境的快速布置与还原,而且它走得更远。我们知道,很多时候,一个测试环境可能不只包含一台计算机,而是包含多台计算机,譬如一个典型的三层架构的Web应用的测试环境就可能是架设在一台Web服务器和一台数据库服务器之上的,如果你是利用虚拟环境中进行测试,那么这个虚拟环境就应该包含一个Web虚机和一个数据库虚机(参考图2)。

[图2:由一个Web服务器虚机和一个数据库服务器虚机组成的三层应用的测试环境]

时间: 2024-10-28 17:28:26

使用VS 2010提高软件测试自动化的水平(3)的相关文章

使用VS 2010提高软件测试自动化的水平(1)

Visual Studio 2010最大的亮点恐怕要数集成在Visual Studio Ultimate 2010和VS Test Professional 2010中的MS Test Manager这套工具了,它可以说是为承担绝大部分测试工作(有统计说是70%左右)的手工测试人员提供了一套专门为他们量身定制的IDE (集成开发环境),我擅自把它叫作ITE(集成测试环境),从某种意义上讲,这套ITE的出现,意味着手工测试人员将从目前"大刀长矛"的时代一步跨入"半自动步枪&qu

使用VS 2010提高软件测试自动化的水平(5)

一般来说,当开发人员根据测试人员的报告把Bug修复之后,测试人员都要再度进行确认,也就是说,需要把发现某个Bug的测试用例再执行一遍,以确认那个被发现的Bug确实已经消失.而且,很多软件企业都会要求测试人员在每个里程碑或者迭代结束时反复执行那些曾经"揭露"出Bug的测试用例,以防止那些已被修复的Bug再度"显灵".显然,这意味着很多手工测试都要一遍又一遍地被重复执行. 为了减少手工测试人员这种无谓的重复劳动,VS 2010在它的测试工具中引入了一种类似"录

使用VS 2010提高软件测试自动化的水平(4)

自动筛除不相干的回归测试 为了实现某个新的功能,或为了修复一个Bug,开发人员通常需要在现有的代码上进行修改,当一个开发人员改动了部分代码之后,他往往需要把所有的单元测试统统再运行一遍,以确保他所做的改动不会带来"蝴蝶效应",也就是导致意想不到的地方出现问题.如果是到了项目后期,即便是一个中等规模的系统可能也会有上千个单元测试,把上千个单元测试都跑一遍,再快可能也得要个把小时.实际上,每次代码改动的影响面是有限的,一次代码改动可能也就会影响到几个.十几个.至多几十个单元测试.每改动一次

使用VS 2010提高软件测试自动化的水平(2)

上文书说到测试人员小张给开发人员小李发来了一份淋漓尽致的Bug报告,果不其然,小李根据小张的这张"画影图形"没费什么周折就将那个潜伏很深的Bug捉了出来.可此Bug究竟是不是彼Bug呢?小张恐怕还得再跑一遍她发现彼Bug的测试以确认问题确实已经得到解决.其实,即使不是为了确认Bug是否已被剪灭,小张也得经常把她做过的很多测试重新跑跑,以确保代码在被程序员们改来改去的情况下,以前跑得通的测试现在也还仍然跑得通,这也就是所谓的回归测试. 不断单调重复地做同样的事情总是会让人感到很郁闷,而V

软件测试自动化的一些具体做法

因为软件测试的工作量很大(40% 到60% 的总开发时间),而又有很大部分适于自动化,因此,测试的改进会对整个开发工作的质量.成本和周期带来非常显著的效果. 首先,谈谈在测试自动化的情况下,带有图形界面的产品的测试用例的设计问题.因为图形界面的输出显示不是很容易做到测试结果自动化比较,所以一般的做法是把图形界面输出的部分单独建立测试用例,以手工运行.而所有非图形输出则可进行自动测试. 下面举出一些测试自动化的例子: 1.测试个案(test case ,或称为测试用例)的生成 用编程语言或更方便的

提高软件测试效率方法探讨

摘要:软件测试是保证软件质量的重要手段.如何组织软件测试,耗费最少时间与最小工作量完成软件测试,使软件质量满足用户要求,是软件研发单位需要解决的问题.本文结合工程实践,从软件的可测试性及测试组织等方面探讨提高软件测试效率的方法. 关键词:可测试性:软件测试:测试人员: 引言 自从上世纪七八十年代全面爆发软件危机起,软件产业的发展过程中始终伴随着巨大的管理难题.整个软件产业存在着软件代价高.难于控制开发进度.软件工作量估计困难.质量低,以及软件修改.维护困难等问题.而要解决这些问题,在很大程度上取

提高软件测试团队能力和个人能力之浅见

为了更好地服务于客户和规避操作风险,软件测试工作近年来越来越受到重视.尽管软件测试的作用与传统工业的产品质量检验目标一致,但软件测试理论自上世纪60年代以来,在整个IT技术中发展相对缓慢,软件测试工具尽管在管理能力.易用性方面有了很大提高,在实际应用中仍旧不能从根本上提高软件测试生产率. 在对软件测试的要求和期望越来越高,而软件测试的方法和工具没有长足发展的情况下,全面提升测试团队和测试人员的能力,就成为了进行有效测试并尽可能提高测试效率的重要基础. 一. 关于能力的浅析 测试团队的能力由个人能

智慧城市和低碳城市发展计划:全面提高信息基础设施建设水平

[<政府工作报告>"十项计划"之"智慧城市和低碳城市发展计划"原文表述] 全面提高信息基础设施建设水平,年内实现旅游景区和主要公共场所WIFI全覆盖.从政务.交通.城管.旅游.医疗等方面的信息共享平台和大数据应用入手,坚持"互联网+"战略,促进互联网与其他产业融合发展,积极打造智慧城市.今年要完成智慧城市和低碳城市的发展规划,并积极向前推进. [<三亚市国民经济和社会发展第十三个五年规划纲要>相关表述] 以数字化管理为基础

中国足球要上去,也离不开提高足球本身的水平

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;看了西班牙与爱尔兰的比赛.西班牙的球的确漂亮,没得比. 一个人的坚持有多重要?托雷斯首场比赛,两个必进球没进,这对队员与教练的压力都很大.博斯克今天能够让托雷斯首发,可以看出一名教练的执着.这种执着,有了丰厚的回报. 从爱尔兰球迷身上看到的是另一种感动.足球由三个部分组成:球迷.足球本身.组织者.爱尔兰今天输了球,但他们的球迷是世界上最好的球迷. 这几天,新闻里说了,