我们平时所说的测试,无非就是一个单独的系统内部逻辑上的测试,只能测试本系统内是否存在问题,比如异常、功能性、性能等等。
但是在微服务架构下,不同系统之间的接口定义数据回流、协议、开发语言各不相同,这就给我们的测试工作带来了很大的挑战。这个时候我们要怎么做呢?
首先要把信息调研清楚,尤其我们作为性能测试人员,要调研这个系统用的是什么协议、什么语言等等。不同的语言,我们在测试、监控、分析的过程中,用到的一些命令也会有所不同。
全链路测试主要包括两大类,第一类是功能性测试,模拟整个业务交易流数据闭环流转过程中的功能性测试。如何去模拟?场景有哪些?这些我们后面都会去讲。
第二类是非功能性的测试。这类测试的思路是,我们要先做功能性的测试,系统稳定之后,我们再挑典型重要的交易,模拟它的数据流转、数据量、QPS、响应时间以及落地到每一个微服务的数据量。
因为每一个微服务的数据库可能不太一样,数据库不一样就意味着它需要落地的数据类型和数据量也不一样,要求的QPS值肯定也不大一样。就像我们刚才说到的打车系统,整个闭环流的过程中,响应最快的是打车端和司机端。从下单到支付的过程中,打车的性能是最快的。
以上就是全链路测试中最重要的两块内容。接下来我们会针对全链路功能测试部分进行讲解,敬请大家继续关注。