May 2011 Monthly Meeting Summary


Potential discussion topics were:

  • Perl, Ruby, VBScript, Groovy, Python, Shell, etc
  • What are the strengths for each in terms of test automation usefulness?
  • What are the weaknesses of each in terms of test automation usefulness?
  • What factors should be considered in choosing one to work with?
  • Scripting languages vs compiled languages pros and cons for test automation.

Took place on: Wed. May 11 2011 6:30 PM

Attendance: 14

Meeting Notes:

We started out with a discussion of considerations for choosing a test automation scripting language (choosing a particular one for you or your team) and came up with an initial list:

The group then discussed various test automation languages that participants had experience with and provided some comments and some pros/cons:
  • Tcl - easy to learn and use scripting language often used in test harnesses and embedded systems; works well with C/C++; available for many platforms; con comments: 'everything is a string'. Also there is the related 'Tk' graphical toolkit for Tcl. Enables graphical app development for running on Win/Unix/Linux/Mac platforms.
  • Expect - an extension of the Tcl scripting language - interactive shell for Unix/Linux platforms - oriented to backend type tests/deployments/processes
  • Ruby - modern scripting language with very large ecosystem having built up around it; available for most platforms; terse; object-oriented.
  • Perl - also has a very large ecosystem; huge collection of libraries available, good for text processing, multi-platform; con comments: easy to end up with cryptic code.
  • Groovy - an object-oriented programming/scripting language dynamically compiled to JVM bytecode.
  • VBS - VBscript scripts work out of the box on Win platforms; QTPro COTS automation tool uses VBScript as scripting language; can enable interaction with databases and Excel, Word, etc. Con comments: awkward language, documentation is not so good, limited to Win.
  • VBA - Visual Basic for Applications, an implementation of MS VB 6 and its IDE, built into most MS Office apps (accessed via Alt-F11). Code runs within a host app (like Excel, etc) and not as standalone app.; not compatible with
  • DSL's - narrow-focus scripting languages - domain specific languages; the 'wide' definition includes SQL and Shell scripting; also includes things like Cucumber.
  • Python - scripting language requiring an 'indented' format which enforces some code readability; is well-established with a large ecosystem with many libraries and good documention having developed around it; available for most platforms; some comments that it was an awkward language in some aspects and that it often ended up being not that readable.
  • Javascript - well documnented; browsers have debug capabilities for it; some automation tools utilzie it; con comments: slow, constrained in where it can be used, not amenable to 'packages' like some other languages.
  • php - well documented and well known as a server-side scripting language, which limits its usage for test automation; some comments that it has good reporting capabilities.
  • Shell scripting - available with all Unix/Linus platforms; easy to use; commonly used in back end testing; con comments: limited to *nix platforms and scripts often end up being not very readable
  • PowerShell - Microsoft scripting language for Win platforms; task automation framework - a command-line shell and scripting language integrated with .NET Framework. Often used for system admin tasks.
  • Others mentioned included Erlang, Rex, awk, sed, LISP, and some others

A survey of attendees indicated Ruby and Python were the most-used scripting languages among attendees.

     NoVaTAIG Home Page

Copyright 2011 Northern Virginia Test Automation Interest Group
Northern Virginia Test Automation Interest Group