Skip to main content

Testing saving and retrieval

· One min read

Now for the tests that are sending and retrieving data, it is not enough to verify with mocks/stubs ( see https://martinfowler.com/articles/mocksArentStubs.html ) .

There must be some real objects that saves / retrieves data, otherwise it is just mocking the answer.

So now how to store data

TITLE: ADR 004 - Database

Issue

Saving and Retrieving the data means a form of database - relational, not relational, file storage ...

Decision

Relational Database for server - SqlServer If we want to test on client - Sqlite

Status

  • Approved

Grouping

Database

Assumptions

The retrieval of data should be somehow fast - like maximum 15 seconds for any 4 MB of content ( does not account data transfer )

Also , should account ( see Case 003 )to get PC Names for a User .

Constraints

Testing Data should have also a database ( UAT )

Positions

Could also be

  • a non-relational database ( Mongo DB)
  • other relational ( PostGreSql)
  • file based systems

Argument

I know very well SqlServer .

For non -relational - it will load all the data in order to find PC names for an user ( ok, maybe with caching will do )

Implications

More time to install the app remote (because of SqlServer)

None

None

None

None

Notes

None

ADR based on

https://github.com/joelparkerhenderson/architecture-decision-record/tree/main/locales/en/templates/decision-record-template-by-jeff-tyree-and-art-akerman/index.md