390 likes | 486 Views
Open Source Script Languages and Utilities What Every Tester Should Know. Paul Gerrard paul@gerrardconsulting.com Twitter: @ paul_gerrard Web: gerrardconsulting.com. “I’m a tester, not a techie”. Like saying, “I don’t know how a plane works”
E N D
Open Source Script Languages and UtilitiesWhat Every Tester Should Know Paul Gerrard paul@gerrardconsulting.com Twitter: @paul_gerrard Web: gerrardconsulting.com Intelligent Testing, Improvement and Assurance
“I’m a tester, not a techie” Like saying, “I don’t know how a plane works” OK if you’re a steward, but not OK if you’re a professional pilot Intelligent Testing, Improvement and Assurance
Your team are at a disadvantage if you don’t have someone who ‘knows how to code’ Increasingly, employers are looking for testers with programming skills Intelligent Testing, Improvement and Assurance
Agenda • My thesis: • You, or at least your team, need scripting (and open source skills) • The march of open source • How do I start? • Ten things scripting languages can do for you Intelligent Testing, Improvement and Assurance
Some Open Source Research Courtesy of the Times 23 October 2012
Open Source is on the march • Clearly, most IT management have decided that OS is worth pursuing • Reduce or eliminate licensing costs • Take ownership of risk and support or (preferred) hire professional services to take the burden • Whichever route your organisation takes, it seems likely we’ll all be working much more with open source products. Intelligent Testing, Improvement and Assurance
Most Script Languages areOpen Source Free to download, all platforms, many books, enthusiastic user communities
What is a scripting language? • Mostly script languages have a unix/linux heritage • But because they are open source, they have ALL been ported to windows, Mac whatever • Examples: • Python, Perl, PHP, (V)Basic (program) • Bash+others, Windows Cmd prompt, Powershell • These are not scripting languages: • C, Java, C++, Visual C/Basic Intelligent Testing, Improvement and Assurance
“How do I get started with open source” Buy a RaspberyPI (Or tear off a DVD from a Linux magazine and install on an old pc) Intelligent Testing, Improvement and Assurance
What is a Raspberry PI? Intelligent Testing, Improvement and Assurance
What it is really • It’s a fully functional computer for $25 • Not particularly fast, but all you need is: • A power supply (micro usb) • Connector to TV (poor) or HDMI to monitor • Network cable to your router • SDHC Card - 2Gb works >8Gb better • Keyboard and Mouse • Case – cases can cost as much as the RPI Intelligent Testing, Improvement and Assurance
Raspbian OS • A cut down version of the Debian Linux distribution – the same source as Ubuntu • Python is the installed language, but you can install any script language in just a few commands (with an internet connection) • I’ve had the full technology stack for Business Story Manager running on a RPI • Mysql, Web2py, Postfix mail, 100+ DB tables, 170 web screens all on an 8Gb SDHC card • Total cost: £35 Intelligent Testing, Improvement and Assurance
RaspberryPI in schools Intelligent Testing, Improvement and Assurance
Manufacturers are shipping 4-5,000 Raspberry PIs per DAY 250,000+ shipped so far Intelligent Testing, Improvement and Assurance
But I want a ‘proper PC/Workstation’ Intelligent Testing, Improvement and Assurance
Want a more powerful option? No need for $$$ workstations – Linux uses less than half the resources of Windows I buy most of my hardware off eBay nowadays A 2nd hand Dell Optiplex small form factor PC sells for £30-35 I use one of these for all my applications development and a 5 year old server as a test environment (I could use a PI, but don’t). Intelligent Testing, Improvement and Assurance
My development PC is a model like this – it cost me £27.50 plus £10 postage in May 2012 – works a treat Intelligent Testing, Improvement and Assurance
So, it’s easy to get started What can I actually do with my scripting skills? Intelligent Testing, Improvement and Assurance
Things a tester can do with a decent scripting language Only limited by your imagination I have done all these (and still do some today) Intelligent Testing, Improvement and Assurance
Extract text from flat files and generate test data Intelligent Testing, Improvement and Assurance
Generate test data combinations from a table of seed datavalues Intelligent Testing, Improvement and Assurance
Create an all-pairs table of test combinations for configuration tests Intelligent Testing, Improvement and Assurance
Compare the contents of files while masking columns, rows and selected patterns of data Intelligent Testing, Improvement and Assurance
Drive simple web transactions from the command line to load test data Intelligent Testing, Improvement and Assurance
Create a test environment monitoring utility that emails you when your web servers are down Intelligent Testing, Improvement and Assurance
Backup your test results files into an archive Intelligent Testing, Improvement and Assurance
Generate template test automation code from HTML(Robot, Selenium etc.) Intelligent Testing, Improvement and Assurance
Generate a basic HTML web page mockup directly from story scenarios Intelligent Testing, Improvement and Assurance
Generate unit test harness code from your story scenarios Intelligent Testing, Improvement and Assurance
Create graphical coverage maps from your test records records Intelligent Testing, Improvement and Assurance
Analyse the text of your requirements and test documents using a natural language processor Intelligent Testing, Improvement and Assurance
Generate a first cut glossary of terms for your documentation and identify new terms as they appear Intelligent Testing, Improvement and Assurance
Create test reports in HTML from plain text reports or tester notes (and mail summaries to the team every day) Intelligent Testing, Improvement and Assurance
Post incident reports directly to a web based IR tool via the command line Intelligent Testing, Improvement and Assurance
OK that was more than ten But you get the idea You don’t need to be a super coder to do most of these things. Intelligent Testing, Improvement and Assurance
Close Convinced yet? Intelligent Testing, Improvement and Assurance
Discussion • All sounds rosy - what’s stopping you? • Hardware not the issue? • Can’t add uncertified hardware to our network • Can’t install software to our systems • Our people won’t write code • Our managers won’t let non-techies write code (Catch 22?) • Developers won’t like it • If developers are legacy/proprietary – they are in for a shock if they’re resistant/not ready. Intelligent Testing, Improvement and Assurance