数据库公司质量管理问题


是否会接受performance regression? 如果有某些优化在大量场景有positive, 但是某些case有regression如何处理和对待呢? 如何处理因为外部系统造成的performance gression, 比如一段时间s3 bucket latency有明显增加或者是不稳定。

当我们设计一个系统,需要对接许多外部系统的时候,理论上来说我们是需要编写测试用来进行覆盖。但是我们在现实过程中会出现测试覆盖不完全的的问题,只是简单地测试来其中某些功能可以工作,但是实际在用户使用时发现各种问题。

这里的原因可能是

  1. RD对于这个外部系统理解并不深入(比如S3 prefix IOPS有5500的上限)
  2. RD因为需要开发更多的功能而导致没有时间做更加详细的测试。

你是否遇到过这种情况?我想听听你对于这个问题的看法。你是否遇到过项目因为需要更多的feature/optimization, 而导致有意或者是无意地牺牲了质量。

Will performance regression be accepted on level ? If some optimizations are positive in a large number of scenarios, but some cases have regression, how to handle and treat them? Will you reject this optimization?

How to deal with performance regression caused by external systems? such as, during performance regression, a significant increase in s3 bucket latency or instability over time. Do you have any way to exclude this kind of side effect? Or to say, we have to deal with this latency instability in our code?

When we design a system that needs to interface with many external systems, theoretically we need to write thorough tests.

However, in reality, we don't do that thorough tests. We just write some simple test cases to make sure it works, then ship it out. But when customers use it, there are many unexpected problems.

And I try to summarize the reasons are:

  1. RD does not have a deep understanding of the external system (e.g. S3 prefix IOPS has an upper limit of 5500)
  2. RD has no time to do more detailed testing because he needs to develop more features and optimizations.

Have you ever encountered this situation? I would like to hear your thoughts on this issue.

Have you ever encountered projects where quality was sacrificed, intentionally or unintentionally, for more features/optimizations.


几个开源数据库的CI/CD pipeline

开源数据库CI/CD Pipeline的探讨问题

Open Source Database CI/CD Pipeline Discussion Questions