Homebrew Test Automation
Bret Pettichord, a software testing expert and an influential author and speaker,
joined ThoughtWorks in July 2004. Mr. Pettichord serves ThoughtWorks, Inc. as a
test architect, implementing effective technologies for automated testing and
promoting responsible methodologies for agile testing and quality assurance.
His software testing philosophy is context-driven, focusing on uncovering
important risks, maintaining close relations with programmers, and using agile
testing methods that provide rapid feedback. He has broad experience using
commercial and open-source tools for automated testing.
Mr. Pettichord is a founder of the Context-Driven School of software testing,
which sees testing as a technical investigation of software risk that requires skill,
adaptability and tact. He co-authored Lessons Learned in Software Testing (a Jolt
Award finalist) to explain the thinking of the School. He has published over two
dozen papers on software testing and test automation. His ideas about homebrew
automation, agile testing and testability have been featured in Application
Development Trends and The Rational Edge.
As a member of the Agile community, he has regularly hosted workshops that
have brought together leading testers and programmers to assess and develop
methods for testing on agile projects. Mr. Pettichord founded the Austin Workshop
on Test Automation in 2000. It’s a yearly event that brings together leading test
automators. He has been regularly contributing to similar workshops since the first
meeting of the Los Altos Workshop on Software Testing in 1996. He regularly
speaks at conferences around the world.
Software Automated Testing Guidelines
Most of today’s enterprise software is developed
using some variant of agile process like RUP .
The main idea of these processes is to break-up the
whole big project into many small manageable parts.
Each part is released to the client, while the
subsequent releases integrate with the older one.
These kinds of processes have their own benefits for
all the stakeholders.
Once a project is complete and the whole product
is fully deployed, the product goes into the
maintenance phase. Software in general and
enterprise applications in specific should not resist
changing. Due to this reason these days software are
built using pluggable components. Any component
could be changed anytime as the needs arise. There
could be numerous reasons for the change. We are
not discussing the reasons to initiate these changes
but one thing is obvious that in today’s volatile
world change is inevitable in the software.
In the above two scenarios, it is notable that
software testing team has to do lot of regression
testing. In scenario one, whenever a new iteration is
complete and it is merged with the previous release,
the inspection team has to thoroughly test the new
functionality while running the regression test on the
previous release, to make sure that integration is
smooth. In a big enterprise application the amount of
software, to be regression tested, increases. In
scenario two, mostly the client changes are too small
as compared to the size of the whole project. Again
the result is that once the change is implemented,
inspection team has a lot of testing work as far as
regression testing is concerned. Although software
organizations try to circumvent this situation by
intelligently analyzing and segregating software
parts which could potentially malfunction and hence
are good candidate of regression testing. But this
method has its potential risks.
Iterative development and changes initiated by
client are not the only situations when testing team
has lot of work to do. Different organizations
perform different testing cycles on their releases.
Similarly after each bug fix, localized regression is
performed. So the workload of inspection team is
ever increasing .
In this paper, we are not discussing that how an
organization could choose from its repertoire of
choices. Our focus is to present guidelines for an
organization, which has already decided to go for
automated testing. Automated software testing is
comparatively a newer approach of testing and lot of
myths surrounds this technique. In section 2, we
have discussed various testing alternatives.
Automated testing is one of them. In section 3, we
have discussed some benefits of automated testing.
In section 4, a few challenges of automation have
been discussed briefly. In rest of this paper, a
prescription or guidelines for an organization which
has already arrived at the decision to use automated
testing, have been suggested in detail.
Agile Automation Testing
What is Agile Automation Testing? Automation of the test cases done
for the Agile project means applying the agile values and principles
for doing the automation of the test cases.
The biggest difference between agile methods and traditional method
of testing is the short feedback loop. The concept of agility is nothing
more, than "build the most important module of the system, evaluate,
adjust, and repeat". Effective automation requires thoughtful
investment and is a very important tool for shortening the feedback
In agile methods the majority of the automated tests consist of unit
tests that verify the smallest possible modules of software and can be
executed very quickly. Applying agile values and principles helps
teams get traction in starting their automation efforts.
It makes it possible to execute the test set many times a day or even
many times an hour and shortens the feedback loop even more.
The paper describes how to apply agile values, principles and
practices to develop an automation strategy. Where to start from, how
to start, what you shouldn’t automate, and where you should proceed
with caution this paper describes it all.
Automated testing for mainframeproducts
Aspire used WinRunner and Test
Director to verify and validate all
existing and new product features
of the customer's mainframe
integration product suite. The
automation scripts developed by
Aspire were much appreciated by
the customer – they were robust,
configurable and reusable. This
reduced testing cycle times and
improved product qualit
Automated Testing of Distributed Systems
We present a technique to test servers that interact with clients using the Sun RPC protocol. The
technique requires the user to provide two things: a list of RPC calls for the server being tested, and a
set of invariants that are required to hold over the RPC communications trace between a set of clients
and the server. The technique works by generating random sequences of RPC calls and checking that
the invariants holds over the traces. If an invariant is violated, the violating sequence of RPC calls is
reported to the user. We report the results of our testing a block server and a lock server
Challenges in Test Automation
This paper deals various challenges in test automation. In real time, test automation is bit more
challenge to achieve 100% road map of customer’s expectation. The customer stands on test
automation should be increase regression test coverage within a small time but the actual
returns of investment and implication difficulties makes customer disappointment in the
industry. The reason behind the scenario is lack of awareness about the tools, process and etc.
My experience says about what actually happening in the industry and how to mitigate such
kind of problems. Every one knows that Test Automation swallows considerable budgets and
efforts. This presentation takes you how to get good returns by adopting good practices in terms
of development of scripts, maintenance and execution. All the lessons that I have experienced
would be help full the world of test automation projects to avoid the issues and confusions. Here
I furnished the lessons learnt experiences under the following topics.
Automated Testing Options for PL/SQL
Concentrate on concepts, not details. Afterwards...
Download and use any of my the training materials, •
available at my "cyber home" on Toad World, a
portal for Toad Users and PL/SQL developers:
these materials to all You have my permission to use •
do internal trainings and build your own applications.
But they should not considered production ready. –
You must test them and modify them to fit your –
Download and use any of my scripts (examples, •
performance scripts, reusable code) from the
demo.zip, available from the same place
Test Automation with CTA Framework
Powerpoint Presentation on Test Automation with CTA Framework
Getting Started Guide for IBM Rational Robot
This roadmap provides an outline of the material that is most useful to bring users up the
Rational Robot learning curve for functional testing. The emphasis will be on the steps
you will need to take to understand Robot and get to the point where you can efficiently
use the tool for functional testing. First, find the section that best describes your current
learning challenge with Robot. Then study the material in that section to help advance
you to the next level.
Rational Robot Quick Start Guide
Welcome to the Rational Robot Quick Start Guide. This guide has been provided to allow you
to get up and running with the toolset as quick as possible and ensure that you see the
benefit of Test Automation from the outset
Automated Testing with WWW::Mechanize - Free eBook Automated Testing with WWW::Mechanize - Download ebook Automated Testing with WWW::Mechanize free