1.1 问题的产生
1.1.1 客户端测试环境的概念
所谓客户端测试环境,是指部署在 Windows 操作系统下的应用软件测试环境,主要涉及操作系统和应用软件,测试环境应该能够满足被测客户端软件启动、运行、执行测试用例的基本操作,同时又能满足各种特殊测试用例的执行需求,如安全性测试用例、兼容性测试用例等。
操作系统包括Windows主流系统版本,如Windows XP、Windows Server 2003、Windows Vista、Windows 7、Windows Server 2008,版本包括中文和英文等。
应用软件按类别大概分为即时通信、输入法、浏览器、网络下载、视频播放、图片工具、安全防护、系统工具、办公学习、开发工具、股票网银、游戏休闲等。
当测试客户端软件时,需要根据软件产品设计、需求设计编写测试用例。在用例设计过程中,需要考虑用例的执行测试环境,比如用例A需要在Windows XP系统下执行,用例B需要在安装诺顿杀毒软件的环境下执行,用例C执行环境为Windows 7+XX网游+卡巴斯基等。
我们的测试用例执行环境越丰富、越接近大部分主流用户环境,才能够更大程度地保证客户端软件满足用户的正常使用。
1.1.2 客户端测试环境管理需求
客户端测试环境管理的最主要需求是提高测试效率,测试环境的高效管理对于提升工作效率至关重要。
当执行测试用例需要某个特殊的测试环境时,一般情况下简单测试环境手工部署平均时间在10分钟~30分钟,部分复杂环境部署约数小时,比如需要安装部署某个版本的操作系统或下载安装某个大型杀毒软件等。此时环境部署的时间往往超过测试用例执行的时间,最让我们头痛的不是测试本身,而是测试环境的搭建。
当执行完毕某个测试用例时,往往会因为执行其他用例的需要而改变已搭建好的测试环境,这样下次回归需要重新手工部署搭建,这些重复劳动极大降低了测试效率。如果能够自动保存我们辛苦部署的测试环境,下次可以直接复用就好了。
Windows 系统下的应用软件数量和种类不胜枚举,初次搭建环境时手工下载安装这些应用软件也是极为耗时的一项工作,想一想我们需要到各大软件下载站,找到各个版本的应用软件,然后辛苦下载下来,再逐个安装。多么枯燥乏味的工作!如果能够将这部分工作全部自动化实现,会极大节省部署时间。
另外,在一个团队人员众多,而硬件测试机器资源有限的情况下,想想大家争抢测试机器的局面吧!我们迫切需要一个管理系统,来帮助大家协调测试机器的占用问题。比如先占用了环境的人,有权使用固定时间,这段时间别人不能强占;到期后别人可以抢占,大家有序竞争,至少不会发生环境使用的互踢现象。
综上,客户端测试环境的管理需求如下。
(1)能够对测试环境进行自动化快照备份管理,持续复用。
(2)能够自动化部署应用软件,降低初次部署时间成本。
(3)能够管理机器资源池,提高机器使用效率。