Random browser-based testing – basics

By searching for already existing implementations of random input-based testing attempts I've located the following material that describes possible level of implementation of that idea using web browser code tests:

Udacity splits possible implementation into the following levels, I've added interpretation in case if there's no browser alone under test, but the server side application:

  • verifying only HTTP protocol – HTTP errors 500, 404 will be handled on that level
  • HTML level checks – any problems with tags nesting, SGML/XML syntax can be caught there
  • rendering – can check any layout-related issue (overlapping divs)
  • forms and scripting – checks application logic using client-side language and local state (forms and cookies)

By testing on any of above levels you select application coverage vs level coverage. My idea is to connect random input on all above input levels with validation of every level contracts plus internal contracts check on server. Then we will have the following output:

  • caught any HTTP, HTML, rendering (I know it might be hard to automate) and state-related error (not easy to define error here, though)
  • collect any assertion, warning, error, crash etc. from server side application with full stacktraces and aggregation
This entry was posted in en and tagged . Bookmark the permalink.