1、敏捷开发强调快速迭代开发,不惧怕需求的变更,这些特点都会导致敏捷开发时部署非常频繁,甚至一天都会进行多次部署。
2、频繁的快速修改会导致部署可能出现各种各样的问题,这时候部署测试就非常重要了。
3、部署测试的目的在于验证整个系统的部署是否存在问题,而不在于完成应用级的测试,比如细致的功能测试、性能测试等。仔细的应用级测试应该在实验环境下完成。
4、部署测试例如某个进程是否在boot时间就开始运行、php模块是否安装齐全、目录的访问权限是否设置正确等等,关注的是系统的各个部分是否部署到位,是否能完全正常工作。
5、部署测试当然也会涉及到一些功能上的测试,但这种测试可以考虑与GUI无关,从业务逻辑层来进行测试。
6、部署测试可以看成是将多个探头深入部署的系统内部进行诊断,以便确认系统是否部署成功,是否可以让用户继续使用下去,而不是出现问题后再去调整系统。
7、考虑到部署测试在敏捷开发中会非常频繁,因此需要将部署测试自动化。
8、敏捷开发的部署测试自动化可以有两种方式:一是每次部署后都手动运行一些写好的测试脚本(比如通过ssh在多台服务器上运行bshell脚本);二是通过测试框架周期性的自动运行一些测试套,自动将结果邮件给相关人员。