到上一课为止,我们已经介绍了微服务自动化测试的主要组成部分:单元测试、集成测试、组件测试(单服务测试)和端到端测试。它们足以确保对本地部署、运行的应用程序有足够的测试覆盖率。但是,随着越来越多的应用程序开始采用云端部署的方式,包括微软 Azure、谷歌云、亚马逊 AWS 或者国内的阿里云、腾讯云等, 怎样确保在本地正常工作的生产代码(Production Code)在部署到云端以后,还能继续提供符合预期的结果?另外,当应用程序部署到不同平台之后,其响应速度是否还能像在本地一样快?这涉及到两个专门的课题:云端测试和性能测试。
本课将分别介绍这两种测试的方法和策略。
云端测试的方法和策略
“云端测试”这个概念实际上包括两层含义:
- 从本地测试机器,测试部署在云端的应用程序(这种方式又称“测试云端程序”)。
- 用位于云端的测试机器,测试部署在本地或者云端的应用程序(又称“用云测试”,或者 TaaS,即 Test as a Service)。
从本地测试机器,测试部署在云端的应用程序
根据我的经验,本地程序和云端程序的测试,主要区别包括以下两点: