Uploaded image for project: 'National Data Service'
  1. National Data Service
  2. NDS-579

Prototype performance load test process


    • NDS Sprint 13

      Given the notes I have prepared in Confluence, several options have been proposed that might yield us relevant platform statistics. The purpose of this ticket is to perform a shallow dive into these and any other available methods for performance testing web applications, specifically client-side JavaScript applications.

      Option 1: Selenium
      Pro: Functionally, this is our best real-world test - this can load our actual AngularJS UI in an actual browser (i.e. firefox, chrome, etc)
      Con:There is a slight chance that the macros can break any time we move any elements, even if only slightly, as recording macros in this way is very fragile.

      Aside: It would be less fragile, yet more work, to properly implement E2E testing in AngularJS using protractor (via NDS-157)

      Option 2: felt
      Pro: Actually loads client-side JS code in a browser.
      Con: Browser used to execute the tests is headless (PhantomJS), so we don't get the full render time that we would from a true browser.

      Option 3: boom / hey / JMeter
      This is a great test of the server's load
      Pro: A widely-accepted way to test server-side load with plenty of options and alternatives available
      Con: Doesn't really exercise the UI performance for client-side JavaScript frameworks like AngularJS

      Each of these methods has their drawbacks, and none would be perfect (save for true E2E automation via NDS-157, which would take much more effort to complete).

      This ticket is complete when we have taken a shallow dive into each of the above options and chosen the most desirable option, assuming an October deadline for beginning to admit live users into the Labs Workbench Beta.

              lambert8 Sara Lambert
              lambert8 Sara Lambert
              0 Vote for this issue
              2 Start watching this issue


                  Original Estimate - 6 hours Original Estimate - 6 hours
                  Remaining Estimate - 0 minutes
                  Time Spent - 1 day, 3 hours
                  1d 3h