Successfully reported this slideshow.
Your SlideShare is downloading. ×

Python for blackbox testers

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Upcoming SlideShare
Introduction to holmium
Introduction to holmium
Loading in …3
×

Check these out next

1 of 26 Ad

Python for blackbox testers

Download to read offline

This is my experience as a non-technical, black box test engineer in a software development team. I try to explore answers to questions like: What are my strengths? Were my strengths becoming my weaknesses? Writing "code" is for developers; How can I? Yeah, but why python? * Was it worth the effort?

This is my experience as a non-technical, black box test engineer in a software development team. I try to explore answers to questions like: What are my strengths? Were my strengths becoming my weaknesses? Writing "code" is for developers; How can I? Yeah, but why python? * Was it worth the effort?

Advertisement
Advertisement

More Related Content

Slideshows for you (20)

Similar to Python for blackbox testers (20)

Advertisement

Recently uploaded (20)

Python for blackbox testers

  1. 1. Presented at PyconSG on 14th June 2013
  2. 2. ● Coastal GeoScientist and Civil Engineer ● 10+ years in Software Quality Assurance and Functional Testing ● HP Certified Professional in Quality Center ● Lead Quality Assurance at Vistaprint ● Contributor to Holmium Core ● http://sajnikanth.com About me
  3. 3. ● Background to black-box testing ● Manual vs Automated testing ● Why python? ● selenium and other uses ● Lessons Learned Contents
  4. 4. Black-box tester?
  5. 5. Source - http://innovation.lv/ino2/publications/leonardo_manual/en/www.innosupport.net/webhelp/wso/index.cfm@fuseactionlearnl_id3808pl_id3554.htm ● Prepare test plans and test cases ● Test the application ● Find and record defects ● Re-test ● Regression test Black-box tester's task list
  6. 6. Qualities of a good black-box tester
  7. 7. How many test cases do you see? What's the problem? 5 * 3 * 3 * 2 * 2 = 180 Test Cases * Browsers * Countries * Languages * Environment Time to test on a few platforms? Good luck sucker!!
  8. 8. ● Repetitive manual regression = boring ● Low test coverage ● No common language ● Ever growing Test Suites ● Testing becomes a bottleneck ● QA bites the bullet What's the problem? Source - http://en.wikipedia.org/wiki/Infinite_monkey_theorem
  9. 9. ● "Fail fast; fail often" - Martin Fowler ● Integration / Functional / Performance ● Building block for continuous integration and deployment ● Higher Return on investment Automated testing
  10. 10. QTP to the rescue ● Expensive ● Proprietary ● Windows-centric ● "Ageing" community ● Familiar (HP Certified after all) ● Popular ● Supports Record and Play I think it is time for QTP to die - http://paulhammant.com/blog/die-qtp-die.html/
  11. 11. python? ● Easy to setup ● Readable code (easy for beginners) ○ forced indentations; better for the team ○ consistency ● open source; active community / library
  12. 12. OK; Getting back to the problem 5 * 3 * 3 * 2 * 2 = 180 Test Cases * Browsers * Countries * Languages * Environment Time to test on a few platforms?
  13. 13. ● Record and Play (Firefox) ● Multiple browsers ● Mobile Support ● Multiple ways to locate an element ● Screenshots ● ... Selenium Features
  14. 14. ● Test APIs ● Write scripts for simple UI tests ● Create test data ● Test Suites ● Performance Testing ● ... Working with python
  15. 15. Lessons learned
  16. 16. Lessons learned Web dev changes conventions - intrologin-name, intrologin-password etc.
  17. 17. 1. Use Page Objects PageObjects by Adam Goucher - http://www.pushtotest.com/create-robust-selenium-tests-with-pageobjects Lessons learned
  18. 18. Lessons learned
  19. 19. 2. Wait instead of Sleep Explicit and Implicit Waits - http://docs.seleniumhq.org/docs/04_webdriver_advanced.jsp Lessons learned
  20. 20. 3. pick nose is nicer testing for python - https://nose.readthedocs.org/en/latest/ ● Organize tests better ● Run selected tests ● Plugin Architecture ● List all tests ● Test Runner (less boilerplate code) Lessons learned
  21. 21. ● Run 30 tests on Firefox ○ about 12 minutes Lessons learned ● Run 30 tests on a Headless browser ○ about 7 minutes
  22. 22. 4. use headless ● step toward Continuous Integration ○ jenkins / teamcity / Travis CI are phantomjs-ready ● better performance than Firefox / Chrome ● works without GUI ○ no interruption ○ ec2 micro instance ○ vagrant Lessons learned
  23. 23. ● https://holmiumcore.readthedocs.org ● plugin for nosetests ○ developed by Ali-Akber Saifee ■ http://ali.indydevs.org/ ● Page object definitions made easy ● Other options: ○ Specify environment ○ Select browsers ○ Run tests remotely Introducing Holmium
  24. 24. nosetests tests/vistamobi_tests.py --with-holmium --holmium-browser=firefox --holmium-environment=staging --holmium-useragent=iphone
  25. 25. View this presentation from here - http://sajnikanth.com How many software testers does it take to change a lightbulb? None; testers just report that the room is dark. Questions?

×