Uploaded image for project: 'FOLIO'
  1. FOLIO
  2. FOLIO-2592

folio-perf-test: Drop random, use deterministic records/search strings

    XMLWordPrintable

Details

    • CP: Roadmap backlog
    • 2
    • Core: Platform

    Description

      We want folio-perf-test to run exactly the same queries each day.
      Replace all random and all non-deterministic record/search string picking.

      The setup picks 20 instances, 20 available items, 20 locations and 20 users (limit = number of threads):

      Perf_Setup - GET inventory_instances?limit={limit}
      Perf_Setup - GET inventory_items?query=(status.name=="Available")&limit={limit}
      Perf_Setup - GET locations?limit={limit}
      Perf_Setup - GET users?limit={limit}
      

      This is not deterministic because there is not sort clause allowing the database to return any records.
      One possibility is using limit={limit}&query=id==1234567* sortBy id (replace 1234567 by a suitable prefix that returns more than 20 records).

      Several tests pick values for the query search string by random, for example "FOLIO-2154 search instance by contributors new array syntax" = "Perf - GET inventory/instances (contributors =/@name "{name}") sortby title":

          Random rand = new Random();
          ...
          def pick = rand.nextInt(size);
          def obj = resp.instances[pick].contributors;
          for (i = 0; i < obj.size(); i++) {
            def val = obj[i].name.trim();
            vars.put("contributorName", val);
      

      For each test that uses Random come up with a hard-coded list. It should contain search strings with low and high hit count.

      TestRail: Results

        Attachments

          Issue Links

            Activity

              People

                Unassigned Unassigned
                julianladisch Julian Ladisch
                Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                  Created:
                  Updated:

                  TestRail: Runs

                    TestRail: Cases