$30 off During Our Annual Pro Sale. View Details »

Stop wasting time NOT writing tests

Stop wasting time NOT writing tests

It's a common mistake that tests take lots of time, while actually the truth is that initial manual testing is the overhead. Kickout manual testing and never ask time for writing tests - make them a part of your workflow.

DamirSvrtan

October 03, 2015
Tweet

More Decks by DamirSvrtan

Other Decks in Programming

Transcript

  1. Stop wasting time NOT writing tests

    View Slide

  2. How many of you are
    developers?

    View Slide

  3. How many of you test
    your applications?

    View Slide

  4. Some just do manual testing…

    View Slide

  5. Characteristics of
    manual testing

    View Slide

  6. 1. Repetitive

    View Slide

  7. 2. Slow

    View Slide

  8. 3. Error prone due to
    human memory capacity

    View Slide

  9. “Whatever can be
    automated will inevitably
    be automated”
    - Bob Lord, president of AOL

    View Slide

  10. What is automated
    testing?

    View Slide

  11. Automated testing is a process of
    writing and executing scripts which will
    simulate a user using our application
    before it get’s released to production.

    View Slide

  12. How is it better than
    manual testing?

    View Slide

  13. Slow
    Repetitive
    Error prone due to human
    memory capacity

    View Slide

  14. Why people don’t write
    tests?
    #excuses

    View Slide

  15. “The application is too
    small to write tests for it.”

    View Slide

  16. Small applications
    tend to grow.

    View Slide

  17. “writing tests is boring”

    View Slide

  18. Is clicking around your application
    whenever something changes, fun?

    View Slide

  19. “we don’t have a specification,
    tests are no use at all.”

    View Slide

  20. STOP. Arrange a meeting
    with your project manager
    and sort s**t out.

    View Slide

  21. “We don’t have time to
    write tests”

    View Slide

  22. View Slide

  23. It doesn’t take extra
    time to write tests

    View Slide

  24. The wrong way:
    manually test
    write code write tests

    View Slide

  25. Never separate the
    application and tests

    View Slide

  26. The right way:
    write code write tests

    View Slide

  27. You’re not wasting time
    on automated tests -
    you’re wasting time on
    initial manual testing

    View Slide

  28. Testing API’s

    View Slide

  29. View Slide

  30. Don’t check your
    implementation in the
    browser - from the beginning
    do it through tests.

    View Slide

  31. Testing large forms

    View Slide

  32. View Slide

  33. Shouldn’t QA engineers
    handle the testing phase?

    View Slide

  34. Simple bugs hide the
    more advanced ones

    View Slide

  35. Let QA engineers
    focus on improving the
    UX, security, weird
    edge cases…

    View Slide

  36. BAD GOOD
    GOOD EXCELLENT

    View Slide

  37. Test Driven
    Development

    View Slide

  38. order number
    Order Container
    identification number
    Product
    order date
    details
    product name
    Shipment tracking application
    Ship
    name

    View Slide

  39. My order XYZ shipped on
    December 21st
    containing 3 cases of
    beers, travelling with ship
    named MARSHALL inside
    a container with an ID 161

    View Slide

  40. My order XYZ shipped on
    December 21st
    containing 3 cases of
    beers, travelling with ship
    named MARSHALL inside
    a container with an ID 161

    View Slide

  41. IF I ENTER:
    XYZ

    View Slide

  42. December 21st

    View Slide

  43. beer

    View Slide

  44. MARSHALL

    View Slide

  45. 161

    View Slide

  46. I SHOULD FIND MY
    ORDER

    View Slide

  47. KNOW THE
    OUTPUTS FOR
    GIVEN INPUTS

    View Slide

  48. Improve your
    specification through
    tests.

    View Slide

  49. How to start writing
    tests?

    View Slide

  50. Writing tests is hard..

    View Slide

  51. Is programming hard?

    View Slide

  52. Writing tests is a
    discipline of it’s own..

    View Slide

  53. ..but as hard as learning
    a set of design patterns.

    View Slide

  54. Developer: I want to
    start writing tests

    View Slide

  55. Product manager / client:
    we don’t have time for that, we
    should work on our new features

    View Slide

  56. TRY A DIFFERENT
    APPROACH

    View Slide

  57. Make tests part of your
    development cycle

    View Slide

  58. Conclusions

    View Slide

  59. Kick out manual
    testing!

    View Slide

  60. Don’t ask for time to do
    tests - just do them!

    View Slide

  61. Damir Svrtan
    Rails Team Lead @ Infinum
    Organizer @ Ruby Zagreb Meetup
    Hit me up on twitter @DamirSvrtan

    View Slide