Your SlideShare is downloading. ×
Python for blackbox testers
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Python for blackbox testers

1,477

Published on

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 …

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?

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

No Downloads
Views
Total Views
1,477
On Slideshare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
20
Comments
0
Likes
7
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Presented at PyconSG on 14th June 2013
  • 2. ● Coastal GeoScientist and Civil Engineer● 10+ years in Software Quality Assuranceand Functional Testing● HP Certified Professional in Quality Center● Lead Quality Assurance at Vistaprint● Contributor to Holmium Core● http://sajnikanth.comAbout me
  • 3. ● Background to black-box testing● Manual vs Automated testing● Why python?● selenium and other uses● Lessons LearnedContents
  • 4. Black-box tester?
  • 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 testBlack-box testers task list
  • 6. Qualities of a good black-box tester
  • 7. How many test cases do you see?Whats the problem?5 * 3 * 3 * 2 * 2 = 180Test Cases * Browsers * Countries * Languages * EnvironmentTime to test on a few platforms?Good luck sucker!!
  • 8. ● Repetitive manual regression = boring● Low test coverage● No common language● Ever growing Test Suites● Testing becomes a bottleneck● QA bites the bulletWhats the problem?Source -http://en.wikipedia.org/wiki/Infinite_monkey_theorem
  • 9. ● "Fail fast; fail often" - Martin Fowler● Integration / Functional / Performance● Building block for continuous integration anddeployment● Higher Return on investmentAutomated testing
  • 10. QTP to the rescue● Expensive● Proprietary● Windows-centric● "Ageing" community● Familiar (HP Certified after all)● Popular● Supports Record and PlayI think it is time for QTP to die - http://paulhammant.com/blog/die-qtp-die.html/
  • 11. python?● Easy to setup● Readable code (easy for beginners)○ forced indentations; better for the team○ consistency● open source; active community / library
  • 12. OK; Getting back to the problem5 * 3 * 3 * 2 * 2 = 180Test Cases * Browsers * Countries * Languages * EnvironmentTime to test on a few platforms?
  • 13. ● Record and Play (Firefox)● Multiple browsers● Mobile Support● Multiple ways to locate an element● Screenshots● ...Selenium Features
  • 14. ● Test APIs● Write scripts for simple UI tests● Create test data● Test Suites● Performance Testing● ...Working with python
  • 15. Lessons learned
  • 16. Lessons learnedWeb dev changes conventions - intrologin-name,intrologin-password etc.
  • 17. 1. Use Page ObjectsPageObjects by Adam Goucher -http://www.pushtotest.com/create-robust-selenium-tests-with-pageobjectsLessons learned
  • 18. Lessons learned
  • 19. 2. Wait instead of SleepExplicit and Implicit Waits -http://docs.seleniumhq.org/docs/04_webdriver_advanced.jspLessons learned
  • 20. 3. picknose 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. ● Run 30 tests on Firefox○ about 12 minutesLessons learned● Run 30 tests on a Headless browser○ about 7 minutes
  • 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○ vagrantLessons learned
  • 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 remotelyIntroducing Holmium
  • 24. nosetests tests/vistamobi_tests.py--with-holmium--holmium-browser=firefox--holmium-environment=staging--holmium-useragent=iphone
  • 25. View this presentation from here -http://sajnikanth.comHow many software testers does it take to change a lightbulb?None; testers just report that the room is dark.Questions?

×