2

Testing can sometimes get tricky. Especially when the application is very complex. I am currently working on a project and I have no idea how to test this. I work a lot with CMS based websites and intranets.

This is very security-heavy application. Very similar to this one: http://www.behaviosec.com/

The security is in the unique way that the user enters information, similar to a digital fingerprint. The unique identifier is your behavior.

The application registers your movements. Your speed, pressure and many other variables.

Merely recording and load-testing this wont work, so I have to manually script this.

Any solutions? I am using JMeter.

  • 2
    JMeter is a tool for performance testing webapps. Are you performance-testing a webapp, or are you doing functional testing on an iPad app? – user246 Apr 28 '15 at 15:09
  • @user246 This is a web app. It measures the way you type on your keyboard, measures patterns, your speed on the mouse and so on. – Sandeep Singh Apr 29 '15 at 7:17
  • 2
    Are you performance-testing the webapp, or are you doing functional testing? JMeter is typically used for performance testing, but aside from the last sentence, the rest of your question seems to describe functional testing. – user246 Apr 29 '15 at 13:17
  • "Merely recording and load-testing this wont work". Why? – dzieciou Jun 29 '15 at 20:16
1

Web apps consist of two parts: front-end and backend. Front-end lives in a browser instance, so you don't need to verify front-end itself for more than one users, while backend you should -- it will collect data from many users.

However, still overloaded backend may impact performance of the frontend, because I expect there's some "thread" in JavaScript that buffers usability data in the background and sends them occasionally to the backend. When a backend is overloaded it may not able to process all incoming data, so frontend becomes non-responsive. You could e.g., load test backend with multiple users requests and see whether you are still able to use frontend as one of the users.

It may also happen this monitoring "thread" is so resource-consuming that it interferes with main functionality of the app, e.g. you are not able to fill in or scroll document.

In sum, I would perform three types of performance tests:

  1. Load test backend with monitoring and non-monitoring requests and check its response time: JMeter
  2. Load test backend with monitoring and non-monitoring requests and check how responsive frontend in the browser is (subjective application responsiveness): JMeter + you playing with the app
  3. Open some complex part of the Web app with many JavaScript widgets and play with it for a long time.

I guess also that buffering strategy (how much data can be buffered before sending them) might be an input variable in those tests, e.g., your developers might be curious what buffering strategy is the best, so I would play with multiple different strategies.

0

Beyond the regular web functionality like login, navigation through the site, launch I would suggest using hardware simulation to fake mouse and keyboard inputs.

I think that the easiest solution will be one of the single board computers like Raspberry Pi, see this thread for example

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.