Skip to content

Instantly share code, notes, and snippets.

@tonyrosario
Last active May 23, 2019 16:52
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tonyrosario/ab122a26578d91d64f2358d7b70f9cac to your computer and use it in GitHub Desktop.
Save tonyrosario/ab122a26578d91d64f2358d7b70f9cac to your computer and use it in GitHub Desktop.
Automation Testing

Talks

Sub-second acceptance tests - Aslak Hellesøy

  • 'stay in the zone', hard because environment has slowed-down

  • The everything psychology book by Kendra Cherry 3 components of Flow:

    1. Immediate Feedback
    2. Feeling that you have the potential to succeed
    3. Feeling so engrossed in the experience, that other needs become negligible
  • Usability Engineering by Jakob Nielsen 3 time limits to keep in mind when optimising application performance

    1. 100ms - if person can get feedback in <=100ms they feel like the system is responding instantaneously; no need for visual feedback.
    2. 1 second - thoughts can still stay uninterrupted, you can remain focused on the task at hand. you'll start to notice the lag. annoying. no need for visual feedback.
    3. 10 seconds - you can no longer stay focused at the task at hand (brain tries to find ways to occupy itself). out of the flow/zone..
  • Test pyramid (unit/service/ui)

    • testing through the UI like this is slow, increasing build times
    • tests that run end-to-end through the UI are: brittle, expensive to write, time consuming to run
  • We can change the classification of the Test Pyramid to use the time limits:

Type Speed Determinism/Brittleness Maintenance Diagnostic Precision Volume
UI > 10s <= 80% Days Low Low
Service ~ 1s 95% Hours Med Med
Unit < 100ms 100% Minutes High High
  • see also, https://martinfowler.com/articles/practical-test-pyramid.html

  • shows example of test and all the layers in a test

    • test
    • infrastructure, not our own code but is part of the stack
    • front-end
  • back-end

  • 3 things that can make programs slow (sleeping, io bound, cpu bound):

    • sleep()
    • networking - faster network or remove io
    • speed of cpu - buy faster cpu
  • Slowly removed unnecessary bits to discover bottlenecks

  • Integration confidence / Functionality condfidence / Configuration confidence (ports, etc)... (works on all diff browsers?)

  • !! Problem with a lot of tests: we're trying to get too many kinds of confidence in the same test.

  • revisit end of talk /questions

  • is it possibble to selenium replace webdriver with domagent?

  • suggests: maintaining 1 suite that you can run in different configurations/assemblies. i can ran the same test in many different ways. however, only one 1 impl of the scenario, and 1 impl of the step defeinitions, but what is pluggable is the actors (test users) to interact with the systems. Actors are the glue between the test and the system. it isolates what you need to do in very small pieces.

  • does this assume this is a single page web app for the faster tests? (response: not sure)

https://speakerdeck.com/aslakhellesoy/sub-second-acceptance-tests-seleniumconf-2018 https://github.com/subsecondtdd/todo-subsecond

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment