这是测试活动过程详解系列的最后一篇文章。之前的想法,是对测试过程各重要环节进行拆解,然后介绍这个环节重点要做的事情,为什么要做这些事,以及注意事项。
前面几篇文章分别介绍了单元测试、集成测试、回归测试阶段要解决的问题和实践的注意事项,这篇文章,分享一些我对于系统测试的实践经验和思考。
以微服务架构下的电商业务为例,我们的被测系统大致是这样的:
在单元测试阶段,我们通过验证代码中的语句、分支和条件,确保研发实现的系统可以顺利通过冒烟,满足集成测试阶段的可测性。在集成测试阶段,我们采用接口测试的手段,尽可能验证单个模块或服务本身的数据处理逻辑和功能实现符合预期。到了系统测试阶段,我们要解决什么问题呢?
从上图可以看到,我们的测试对象,其实是一个很复杂的系统。为了保障最终的交付质量,我们要考虑很多因素,比如:
总结来说,系统测试阶段的主要目的是:验证整个系统范围内各应用和组件之间的调用依赖关系以及各种场景下的逻辑处理功能实现正确与否。
当然,这里仍然要说明几点前置条件:整个系统范围内一般默认是本次迭代或者某个发布节点要上线的所有需求对应的代码;实现是否正确主要包括两点:是否符合需求预期设计+是否满足交付质量标准。
系统测试阶段是软件产品从需求到上线过程中的重要环节,除了验证系统的功能、性能、安全以及可靠性之外,还要考虑用户使用体验和后续的维护便捷性。
在系统测试阶段,我个人的认为需要重点关注如下几项:
以上注意事项仅供参考,在具体的工作场景中,应根据团队具体情况来合理制定方案并落地。