Automated Testing for Web
Applications
Andrei Savu / @andreisavu
Wurbe #36 Bucharest @Adobe
Me
 Student @UPB – Master Degree
 Co-Founder @thesunnytrail.com
 Passion for clean code, testing & automation
 @GSoC –...
Outline
 What is testing
 Types of testing
 Why automated testing
 Low - hanging fruits
 Demo
 Advices
 … share adv...
What is testing?
 ”Software testing is an investigation conducted to provide
stakeholders with information about the qual...
Types of testing (1)
 Internal visibility: black box & white box
 Unit testing
 Integration testing
 Functional testin...
Types of testing (2)
 Sanity / Smoke testing
 Regression testing
 Acceptance testing
 Load & stress testing
 Usabilit...
Types of testing (3)
 Install / Uninstall (deployment) testing
 Recovery testing
 Security testing
 Compatibity testin...
Why automated testing?
 Saves Time and Money
 Improves Accuracy
 Does What Manual Testing Cannot (scale)
 Improves Tea...
Low - hanging fruits
 Low Effort with Good Results (… and you don't
have a QA team)
 Unit, Integration & Functional Test...
1. Unit testing
 For components with:
 No external dependencies
 Easy to mock dependencies
 Keep them fast & run them ...
2. Integration & functional testing
 Orchestrate dependencies execution
 Automated deployment solves the problem for
com...
Demo
 Typical Application: database, interface, email
 Demo: MongoDB + tornado + SMTP
 Sources:
 https://github.com/an...
What about Sunnytrail?
 Helping startups to track revenue metrics
 Complete rewrite / Testable
 Componets: MongoDB, Pyt...
Final Advices
 think about testing from the beginning
 test early, test often & automate
 not everything should be test...
Thanks! Questions?
Andrei Savu / @andreisavu
savu.andrei@gmail.com
Upcoming SlideShare
Loading in …5
×

Automated Testing for Web Applications - Wurbe #36

1,833 views
1,773 views

Published on

Practical advices for testing web applications. Demo built using MongoDB, tornado & SMTP.

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,833
On SlideShare
0
From Embeds
0
Number of Embeds
69
Actions
Shares
0
Downloads
21
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Automated Testing for Web Applications - Wurbe #36

  1. 1. Automated Testing for Web Applications Andrei Savu / @andreisavu Wurbe #36 Bucharest @Adobe
  2. 2. Me  Student @UPB – Master Degree  Co-Founder @thesunnytrail.com  Passion for clean code, testing & automation  @GSoC – Apache Zookeeper  @Adobe – EXIF analytics for photoshop.com  Speaker @Wurbe #2 #25
  3. 3. Outline  What is testing  Types of testing  Why automated testing  Low - hanging fruits  Demo  Advices  … share advices from practice  … things you can do starting from now
  4. 4. What is testing?  ”Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test.” wikipedia  Does the product meet the requirements?  Did I broke something? #agility
  5. 5. Types of testing (1)  Internal visibility: black box & white box  Unit testing  Integration testing  Functional testing  System testing  End-to-end testing
  6. 6. Types of testing (2)  Sanity / Smoke testing  Regression testing  Acceptance testing  Load & stress testing  Usability testing
  7. 7. Types of testing (3)  Install / Uninstall (deployment) testing  Recovery testing  Security testing  Compatibity testing  Alpha testing  Beta testing source
  8. 8. Why automated testing?  Saves Time and Money  Improves Accuracy  Does What Manual Testing Cannot (scale)  Improves Team Morale source
  9. 9. Low - hanging fruits  Low Effort with Good Results (… and you don't have a QA team)  Unit, Integration & Functional Testing  Setup a Continous Integration server
  10. 10. 1. Unit testing  For components with:  No external dependencies  Easy to mock dependencies  Keep them fast & run them often
  11. 11. 2. Integration & functional testing  Orchestrate dependencies execution  Automated deployment solves the problem for complicated systems  Keep single tests fast enough
  12. 12. Demo  Typical Application: database, interface, email  Demo: MongoDB + tornado + SMTP  Sources:  https://github.com/andreisavu/automatic-testing-demo  What's interesting?  test orchestration, in-memory smtp
  13. 13. What about Sunnytrail?  Helping startups to track revenue metrics  Complete rewrite / Testable  Componets: MongoDB, Python, Tornado, Beanstalkd (queue), API & Dashboard, Background Processing, CLI Tools, SMTP
  14. 14. Final Advices  think about testing from the beginning  test early, test often & automate  not everything should be tested  make your life easier
  15. 15. Thanks! Questions? Andrei Savu / @andreisavu savu.andrei@gmail.com

×