Conversation
|
|
||
| **Tests after Issues** | ||
|
|
||
| It is bad practice to make tests just to verify some issue - always bound tests to a feature or a function. This help to verify test correctnes in the future. |
There was a problem hiding this comment.
It can be read as don't write tests for a regression, I'd rephrase to organize the test by the behavior it verifies
There was a problem hiding this comment.
here I want to say - don't write tests for a regression but for functionality. So Organize tests by functionality they verify looks what I want to say. Do you agree?
| - How application performance degrade with load. | ||
| - Estimate needed resources. | ||
|
|
||
| Load tests can be done by increasing data volume or (if applicable) growth of concurent requests. Test with multiple load of big datasets in same instance if applicable. |
There was a problem hiding this comment.
are you hinting towards testing a multi-tenant and noisy neighboor scenarios? let's just call it out
|
|
||
| Tests have great value as a contract verification tool when built properly. If there are tests for other integrations, we recommend porting them to verify ClickHouse integration. | ||
|
|
||
| # General Recommendations |
There was a problem hiding this comment.
I'll review headings.
|
|
||
| ## Environment | ||
|
|
||
| Tests can be run in different environments: local, staging, production. Running tests locally is mainly for development and are essential. ClickHouse can be easily run as Docker container (see below). Tests running on staging environment is more important because they verify real systems integration. ClickHouse Cloud is cost effective so |
There was a problem hiding this comment.
the section is a bit hard to grasp since the project itself (or Clickhouse Cloud) do not have a notion of different environments
There was a problem hiding this comment.
This is about test environment. I will clarify.
| @@ -0,0 +1,116 @@ | |||
| # ClickHouse Java Client & JDBC Driver Integration Testing | |||
There was a problem hiding this comment.
what pages should link to this page?
There was a problem hiding this comment.
good call - both integration-jdbc and integration-client.
|
|
||
| **Example: Running ClickHouse in Docker** | ||
|
|
||
| Start a local ClickHouse instance for testing: |
There was a problem hiding this comment.
I'd propose splitting Cloud and OSS sub-sections. For OSS, I'd include an example with a cluster topology
| - Value boundaries - does client allow set extreme value that you have in your design. | ||
| - Invalid values - does application stop them before passing to the client, does client handle them in way you expect. | ||
| - ClickHouse settings - are they correctly passed from user to database. | ||
| - Timeouts - do they have effect and passed in correct units (most common mistake). |
There was a problem hiding this comment.
for Cloud, I'd propose adding testing for idling, different authc methods
There was a problem hiding this comment.
good point. But this is also true for OSS
|
|
||
| ## Abstract | ||
|
|
||
| Integration testing essential in building integrations. Scope of it defines quality of service for end users. Each business case has own test goals along with |
There was a problem hiding this comment.
| Integration testing essential in building integrations. Scope of it defines quality of service for end users. Each business case has own test goals along with | |
| Integration testing is essential in building integrations. Scope of it defines quality of service for end users. Each business case has own test goals along with |
There was a problem hiding this comment.
Could you run a proof-reader against the doc?
Summary
Checklist
Delete items not relevant to your PR: