• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Python for blackbox testers
 

Python for blackbox testers

on

  • 876 views

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?

Statistics

Views

Total Views
876
Views on SlideShare
822
Embed Views
54

Actions

Likes
1
Downloads
9
Comments
0

9 Embeds 54

http://flavors.me 17
http://tomnemeth.blogspot.cz 15
https://www.facebook.com 7
http://tomnemeth.blogspot.de 7
http://tomnemeth.blogspot.com 3
http://www.linkedin.com 2
https://m.facebook.com&_=1372048385722 HTTP 1
https://m.facebook.com&_=1372058402868 HTTP 1
http://tomnemeth.blogspot.pt 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Python for blackbox testers Python for blackbox testers Presentation Transcript

    • Presented at PyconSG on 14th June 2013
    • ● 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
    • ● Background to black-box testing● Manual vs Automated testing● Why python?● selenium and other uses● Lessons LearnedContents
    • Black-box tester?
    • 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
    • Qualities of a good black-box tester
    • 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!!
    • ● 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
    • ● "Fail fast; fail often" - Martin Fowler● Integration / Functional / Performance● Building block for continuous integration anddeployment● Higher Return on investmentAutomated testing
    • 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/
    • python?● Easy to setup● Readable code (easy for beginners)○ forced indentations; better for the team○ consistency● open source; active community / library
    • OK; Getting back to the problem5 * 3 * 3 * 2 * 2 = 180Test Cases * Browsers * Countries * Languages * EnvironmentTime to test on a few platforms?
    • ● Record and Play (Firefox)● Multiple browsers● Mobile Support● Multiple ways to locate an element● Screenshots● ...Selenium Features
    • ● Test APIs● Write scripts for simple UI tests● Create test data● Test Suites● Performance Testing● ...Working with python
    • Lessons learned
    • Lessons learnedWeb dev changes conventions - intrologin-name,intrologin-password etc.
    • 1. Use Page ObjectsPageObjects by Adam Goucher -http://www.pushtotest.com/create-robust-selenium-tests-with-pageobjectsLessons learned
    • Lessons learned
    • 2. Wait instead of SleepExplicit and Implicit Waits -http://docs.seleniumhq.org/docs/04_webdriver_advanced.jspLessons learned
    • 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
    • ● Run 30 tests on Firefox○ about 12 minutesLessons learned● Run 30 tests on a Headless browser○ about 7 minutes
    • 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
    • ● 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
    • nosetests tests/vistamobi_tests.py--with-holmium--holmium-browser=firefox--holmium-environment=staging--holmium-useragent=iphone
    • 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?