Testing

Unit Testing

We use the pytest framework for Unit Testing. All Unit Tests can be found in the tests folder in the sources github repository.

Functional Testing

Artefacts relating to Functional Testing can be found here Test Plans. The plan is a Google Spreadsheet that details the test cases. The actual test execution scripts are Postman Scripts and can be found in the Github Repository - openg2p-spar-mapper-test.

You have to import the Postman JSON files into Postman and execute the test cases listed in the Test Plans.

Load Testing

Design of Experiment

K8S - only 1 POD can be launched - Let’s say Mapper

1 Mapper POD - with fixed resources (Cores, Memory)

1 DB POD - with fixed resources (Cores, Memory, Storage)

Connectivity between Mapper POD and DB POD

Storage - RAID/SAN Storage ?? - how - NFS Mounts??

Underlying Hardware - Xeon, Processor family - ???

Load Test Mapper - Link API - Let's start with one API

1 API - 1000 Records

Concurrent - 100 API invocations - result in 100,000 FA Records - Check Resource Utilization for App POD, DB POD, Measure Storage

Concurrent - 200 API invocations

Concurrent - 300 API invocations

-- go on till we consistently get failures

-- then reduce - till you reach threshold - of SUCCESS/FAILURE

1 API - 5000 Records

Concurrent - 100 API invocations - result in 500,000 FA Records - Check Resource Utilization for App POD, DB POD, Measure Storage

Concurrent - 200 API invocations

Concurrent - 300 API invocations

..

Go upto point of Failure - when one or more API invocations start failing

Reduce β€” the concurrency β€” till a point - threshold - where - we can consistently demonstrate - failure above, success below

This is one POD

Now - configure kctl - such that it can launch 2 Application PODs

Repeat the experiment β€” I should be theoretically - go to double the threshold value - determine this -- But DB has only 1 POD - and that can be a limiting factor

3 PODs - Determine this threshold value of SUCCESS/FAILURE

All this - with Single PG Node - With Load balancing - like HAProxy -

Last updated

Logo

Copyright Β© 2024 OpenG2P. This work is licensed under Creative Commons Attribution International LicenseCC-BY-4.0 unless otherwise noted.