Skip to content

Performance tests

Peter Smallenbroek edited this page Jul 1, 2022 · 17 revisions

Load testing the platform

Generating test data

The following library can generate a CSV-file with large amounts of data: https://github.com/TheBlackHacker/csv-test-data-generator

Download generator.js(+related code) from the link above. One of the following commands can be used to generate a test data set:

NLRC (LVV)

node generator.js "id,note,phoneNumber,preferredLanguage,fspName,paymentAmountMultiplier,namePartnerOrganization,nameFirst,nameLast,vnumber,whatsappPhoneNumber" "seq,alpha(0),digit(11),pick(en|nl),pick(Intersolve-whatsapp|Intersolve-no-whatsapp),pick(1|2),alpha(10),first,last,digit(10),digit(11)" 5000 pa5000registered.csv

Performing the tests

You should use a production build to test the performance. When testing, throttle the internet connection to 'Fast 3G'. This way we can simulate a slow(er) connection.

IMPORTANT: Watch out with testing bulk messages, we don't want to spend our Twilio funds

You can greatly reduce the time it takes to import by replacing the following:

const phoneNumberResult = await this.lookupService.lookupAndCorrect(...

with:

const phoneNumberResult = record.phoneNumber;

When performing the tests, the core features should at least be tested:

  • Registering a PA
  • Bulk actions (including etc.)
  • Using the PA table (filtering etc.)
  • Doing a payment
  • Exporting
Clone this wiki locally