Intelligent Testing, Improvement and AssuranceSlide 1 Open Source Script Languages and Utilities...

Preview:

Citation preview

Intelligent Testing, Improvement and Assurance

Slide 1

Open Source Script Languages and UtilitiesWhat Every Tester Should Know

Paul Gerrardpaul@gerrardconsulting.comTwitter: @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

Recommended