Upload
jonas-newman
View
215
Download
0
Tags:
Embed Size (px)
Citation preview
Intelligent Testing, Improvement and Assurance
Slide 1
Open Source Script Languages and UtilitiesWhat Every Tester Should Know
Paul [email protected]: @paul_gerrardWeb: gerrardconsulting.com
“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
Slide 2
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
Slide 3
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
Slide 4
Some Open Source Research
Courtesy of the Times23 October 2012
Intelligent Testing, Improvement and Assurance
Slide 6
Intelligent Testing, Improvement and Assurance
Slide 7
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
Slide 8
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
Slide 10
“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
Slide 11
What is a Raspberry PI?
Intelligent Testing, Improvement and Assurance
Slide 12
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
Slide 13
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
Slide 14
RaspberryPI in schools
Intelligent Testing, Improvement and Assurance
Slide 15
Manufacturers are shipping 4-5,000 Raspberry PIs per
DAY250,000+ shipped so far
Intelligent Testing, Improvement and Assurance
Slide 16
But I want a ‘proper
PC/Workstation’
Intelligent Testing, Improvement and Assurance
Slide 17
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
Slide 18
Intelligent Testing, Improvement and Assurance
Slide 19
My development PC is a model like this – it cost me £27.50 plus £10 postage in May 2012 – works a treat
So, it’s easy to get started
What can I actually do with my scripting skills?
Intelligent Testing, Improvement and Assurance
Slide 20
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
Slide 21
Extract text from flat files and
generate test data
Intelligent Testing, Improvement and Assurance
Slide 22
Generate test data combinations from
a table of seed datavalues
Intelligent Testing, Improvement and Assurance
Slide 23
Create an all-pairs table of test
combinations for configuration tests
Intelligent Testing, Improvement and Assurance
Slide 24
Compare the contents of files while masking
columns, rows and selected patterns
of dataIntelligent Testing, Improvement and
AssuranceSlide 25
Drive simple web transactions from the command line to load test data
Intelligent Testing, Improvement and Assurance
Slide 26
Create a test environment
monitoring utility that emails you when your web
servers are downIntelligent Testing, Improvement and
AssuranceSlide 27
Backup your test results files into an
archive
Intelligent Testing, Improvement and Assurance
Slide 28
Generate template test automation code from HTML(Robot, Selenium
etc.)
Intelligent Testing, Improvement and Assurance
Slide 29
Generate a basic HTML web page mockup directly
from story scenarios
Intelligent Testing, Improvement and Assurance
Slide 30
Generate unit test harness code from
your story scenarios
Intelligent Testing, Improvement and Assurance
Slide 31
Create graphical coverage maps from your test records records
Intelligent Testing, Improvement and Assurance
Slide 32
Analyse the text of your requirements
and test documents using a natural language
processorIntelligent Testing, Improvement and
AssuranceSlide 33
Generate a first cut glossary of terms
for your documentation and identify new terms
as they appearIntelligent Testing, Improvement and
AssuranceSlide 34
Create test reports in HTML from plain
text reports or tester notes (and
mail summaries to the team every
day)Intelligent Testing, Improvement and
AssuranceSlide 35
Post incident reports directly to a web based IR tool via the command
line
Intelligent Testing, Improvement and Assurance
Slide 36
OK that was more than ten
But you get the ideaYou don’t need to be a super
coder to do most of these things.
Intelligent Testing, Improvement and Assurance
Slide 37
Close
Convinced yet?
Intelligent Testing, Improvement and Assurance
Slide 38
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
Slide 39