安装测试是指按照软件产品安装手册或相应的文档,在一个和用户使用该产品完全一样的环境中或相当于用户使用环境中,进行一步一步的操作完成安装的过程所进行的测试。
安装测试可以分为
全新安装,待安装的软件包是完整的,包含了所有的文件。
升级版本安装,部分文件构成的软件包。
补丁式安装,很小的改动或很少文件的更新,软件版本不变
系统运行环境改变,性能调优,只改参数,没有软件文件的变化。
即使对升级安装,实际也是有差别的,一种是完全替换原来版本,另外一种就是保持多种版本共存,后者的难度会更大些。不管是哪一种情况,用户数据得到保护,包括完整性、一致性的验证,是非常重要的。系统迁移,也可以并入安装测试。安装测试也可以根据软件所属特征来划分:
客户端软件安装
服务器安装
整个网络系统安装
安装测试主要进行以下三个方面的测试:
环境的不同设置或配置:强调用户的使用环境,考虑各种环境的因素的影响,如一个完全崭新的、非常干净的操作系统或应用系统之上去进行某个产品的安装,或者是考虑各种硬件借口的要求。
安装文档的准确性。进行安装测试时,必须一步一步地完全按照文档去做(如拷贝文档指令,粘贴到系统安装相应地方),不能下意识地使用已有的经验去纠正安装不对的地方。
安装的媒体制作是否有问题,包括最后制做时可能会丢了一个文件,或感染上计算机病毒等。
安装测试有时容易被忽略,如果没做好,其损失依然很大,如必须换回全部安装盘、或重印安装手册、或加重技术支持负担,所以安装测试也是重要的一个测试阶段。
软件部署逻辑、物理设计完成后,必须通过验证才能进入实施阶段。部署设计的验证首先是在实验室环境中进行,也就是和软件的系统测试结合起来做,包括性能测试、安装测试等,这被称为软件部署的试验性系统验证。实验室环境还不是真正产品运行的环境,部署设计的进一步验证需要在实际的运行环境中进行,这就是原型系统的验证。Beta测试,将系统(试用版)有限地部署给选定的一组用户,以确定其能否满足业务要求,所以可以被看作原型系统验证的一部分。
软件部署的试验性系统和原型系统验证完成之后,实际也宣告了软件部署的实施结束。软件部署的验证和实施的过程一般包括以下步骤:
开发试验性系统 (构建网络和硬件基础结构、安装和配置相关的软件)
根据测试计划/设计执行安装测试、功能测试、性能测试和负载测试
测试通过,开始规划原型系统
完成原型系统的网络构建、软硬件的安装和配置
数据备份或做好可以恢复(Roll-back)的准备
将数据从现有应用程序迁移到当前解决方案
根据培训规划,培训部署的管理员和用户
完成所有的部署
在这些过程中,保证系统和用户数据的不丢失是非常重要的,大家都知道,数据比系统更为重要。
部署测试的进一步说明
试验性部署测试和原型部署测试的目的是,在测试条件下尽可能确定部署是否既能满足系统要求,又可实现业务目标。理想情况下,功能性测试可以模拟各种部署方案以完成所需要执行的测试用例,并且定义相应的质量标准来衡量其符合性。负载测试衡量在峰值负载下的测量性能,通常使用一系列模拟环境和负载发生器来衡量数据吞吐量和性能。对于没有明确定义、缺乏原始数据积累的全新系统,功能性测试和负载测试尤其重要。
通过测试能够发现部署设计规范存在的问题,可能需要返回先前的部署设计阶段,重新设计或修正设计,再进行试验性部署测试,直至没有问题,才向原型系统展开部署。测试原型部署时,也可能会发现部署设计中存在问题,同样需要返回先前的部署设计阶段。如果发生这种情况,其代价相当大,并严重影响产品发布的时间表。所以,软件部署设计的评审是非常重要的,应避免任何严重设计的问题被忽视。这样,试验性部署测试和原型部署测试所发现的问题,就可以通过软硬件的配置调整就可以解决,如增加内存、参数修改等。
实际运行系统的部署,通常分阶段进行,有助于隔离、确定和解决服务可能在实际运行环境中遇到的问题,特别是对会影响大量用户的大型部署具有尤其重要的意义。分阶段部署可以先向一小部分用户部署,然后逐步扩大用户范围,直至将其部署给所有用户。分阶段部署也可这样进行:先部署一定类型的服务,然后逐步引入其余类型的服务。所以,软件实际运行系统的部署过程被分为两个重要阶段LA ( Limited Available)和GA ( General Available)。由于测试永远不可能完全模拟生产环境,并且已部署解决方案的性质会发生演进和改变,因此应继续监视部署的系统,以确定是否有需要调整、维护或修补的部分。
预知后事如何,请读下回分解:第17回 测试项目的管理原则
版权所有,软件测试演义® ——系列讨论的目录,见: 软件测试演义——中高级系列(序)