SaFi Bank Space : Weekly Testing Catchup Notes

This page is used for recording notes of Weekly Testing Alignment Meeting .

  • Add topics to be discussed

  • Come up with actions and assign owner

  • Track status of actions

8 FEB 2023

Topic

Description

Owner

Actions

How to use DBRider with timestamp assertions

We want to write tests that would assert that an inserted/updated data has a timestamp field within a given range

  • we just need an example on how to test this, like “updated_date” > current time or something

Lyndon (Unlicensed)

SAF-1701 - [TESTING] Assertions with DBUnit/DBRider Timestamp Backlog

ArchUnit

Introduce ArchUnit to ensure all service follow the convention of DDD/Clean Architecture

Code Architecture Guidelines (WIP)

kai.hu (Unlicensed)

  • summarize the conventions(to be discussed)

  • Convert convention to code

  • Integrate arch test to pipeline

using

@WireMockStubFor

on multiple test suites

Already fixed by hui.zhu (Unlicensed) , just need upgrade test-utils

1 FEB 2023

Topic

Description

Owner

Actions

Set up pipeline to run User Journey test

kai.hu (Unlicensed)

Set up pipeline to run User Journey test

INPROGRESS

What’s the progress of the contract testing infra

kai.hu (Unlicensed)

Discuss about pactflow budget, subscription

INPROGRESS

Introduce OWASP dependency-check

To identify known vulnerable dependencies used by our project

https://jeremylong.github.io/DependencyCheck/dependency-check-gradle/index.html

Test chapter from each squad

  1. update build.gradle file to include dependency-check plugin

  2. setup pipeline to perform dependency-check

idempotency test standard?

right now, we are implement idempotency in each controller. Should we have common scenario or specification for the idempotency. For update operation like:

When:

endpointA(idem1)->DTOA1

data change → EntityB1

endpointA(idem1)->resultA2

query data → EntityB2

Then:

resultA1==resultA2 and EntityB1==EntityB2

hui.zhu (Unlicensed)

Yuetong Yang (Unlicensed)

kai.hu (Unlicensed)

To be discussed offline

DISCUSSED during tech huddle

11 JAN 2023

Topic

Description

Owner

Actions

How do we know that we have enough Component test

What are our metrics when it comes to writing component tests?

kai.hu (Unlicensed)

Definition of done for component tests.

https://safibank.atlassian.net/wiki/spaces/SDT/pages/234324009/WIP+Definition+of+Done+-+Test+Cases#For-component-test

Contract Testing with gRPC

Ive heard from one of our meetings that we are definitely moving our internal REST endpoints to gRPC and will be using protobuff for the request structure, are there existing (contract) tests for this, not sure what the plan would be?

kai.hu (Unlicensed)

Create Jira task for

researching contract Testing with gRPC DONE

https://safibank.atlassian.net/browse/SAF-1302


4 JAN 2023

Topic

Description

Owner

Actions

How to efficiently build TM events when writing component tests

TM events are composed of the Protobuf with the self-defined format. Building an event will always take a long time

All Dev

Enhance testing library to include TM events test data.

How to define fixtures

Fixtures could be shortcuts for building entities with numerous attributes or executing a specific logic. Shall we define a format or guideline?

Jevan Wu (Unlicensed)

Guideline about how to define fixtures DONE

How to define a Fixture

need to provide contract test example in one squad. we can follow test codebase specification.

For both Kafka and REST

kai.hu (Unlicensed)

Add contract test example to codebase.

DONE

https://github.com/SafiBank/SaFiMono/commit/60ad83da214025badb81a7fdd32a803901793425

Test Directory Layout,

objectives, definition of done.

kai.hu (Unlicensed)

INPROGRESS

https://safibank.atlassian.net/wiki/spaces/SDT/pages/212697522/Unit+Test#Objectives

https://safibank.atlassian.net/wiki/spaces/SDT/pages/212697522/Unit+Test#Guidelines


28 DEC 2022

Topic

Description

Owner

Actions