Exploratory testing in an agile development organization (it quality & test ...Johan Åtting
A case about how a company (Sectra) is using Exploratory Testing in their agile development organization where testers and developers are sitting together in cross functional teams using Scrum.
Let's explore what is agile testing, how agile testing is different than traditional testing. What practices team has to adopt to have parallel testing and how to create your own test automation framework. Test automation frameworks using cucumber, selenium, junit, nunit, rspec, coded UI etc.
Despite the belief that a shared context and collaboration drives quality, too often, software testers and quality professionals struggle to find their place within today's integrated agile teams. This session is a practitioner’s view of testing and testing practices within an iterative/incremental development environment. We will begin with a discussion of some of the challenges of testing within an agile environment and delve into the guiding principles of Agile Testing and key enabling practices. Agile Testing necessitates a change in mindset, and it is as much, if not more, about behavior, as it is about skills and tooling, all of which will be explored.
I believe that our existing models of testing are not fit for purpose – they are inconsistent, controversial, partial, proprietary and stuck in the past. They are not going to support us in the rapidly emerging technologies and approaches. The certification schemes that should represent the interests and integrity of our profession don’t, and we are left with schemes that are popular, but have low value, lower esteem and attract harsh criticism. My goal in proposing the New Model is to stimulate new thinking in this area.
eurostarconferences.com
testhuddle.com
You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019Peter Gfader
Our industry has a problem:
We are not lacking software methodologies, programming languages, tools or frameworks.
We need great software teams.
Great software engineering teams build quality-in and deliver great software on a regular basis.
The technical testing excellence of those teams will help you escape the “Waterfall sandwich” and make your organization a little more agile, from the inception of an idea till they go live.
---
Keynote from Testcon.lt 2019 https://www.testcon.lt/peter-gfader/
Exploratory testing in an agile development organization (it quality & test ...Johan Åtting
A case about how a company (Sectra) is using Exploratory Testing in their agile development organization where testers and developers are sitting together in cross functional teams using Scrum.
Let's explore what is agile testing, how agile testing is different than traditional testing. What practices team has to adopt to have parallel testing and how to create your own test automation framework. Test automation frameworks using cucumber, selenium, junit, nunit, rspec, coded UI etc.
Despite the belief that a shared context and collaboration drives quality, too often, software testers and quality professionals struggle to find their place within today's integrated agile teams. This session is a practitioner’s view of testing and testing practices within an iterative/incremental development environment. We will begin with a discussion of some of the challenges of testing within an agile environment and delve into the guiding principles of Agile Testing and key enabling practices. Agile Testing necessitates a change in mindset, and it is as much, if not more, about behavior, as it is about skills and tooling, all of which will be explored.
I believe that our existing models of testing are not fit for purpose – they are inconsistent, controversial, partial, proprietary and stuck in the past. They are not going to support us in the rapidly emerging technologies and approaches. The certification schemes that should represent the interests and integrity of our profession don’t, and we are left with schemes that are popular, but have low value, lower esteem and attract harsh criticism. My goal in proposing the New Model is to stimulate new thinking in this area.
eurostarconferences.com
testhuddle.com
You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019Peter Gfader
Our industry has a problem:
We are not lacking software methodologies, programming languages, tools or frameworks.
We need great software teams.
Great software engineering teams build quality-in and deliver great software on a regular basis.
The technical testing excellence of those teams will help you escape the “Waterfall sandwich” and make your organization a little more agile, from the inception of an idea till they go live.
---
Keynote from Testcon.lt 2019 https://www.testcon.lt/peter-gfader/
Agile Testing examines software from the customer point of view, and requires that the entire team tests the product to deliver value.
According to James Bach, testing is the questioning of a product in order to evaluate it.
Agile Testing takes the fundamentals of software testing, and provides options for testing products delivered in Agile workflows. It focuses on early involvement of testers, defect prevention, quick feedback loops, test automation, and exploratory testing.
This presentation will start with selected ideas from Agile Testing, and
More Agile Testing, then Dag Rowe will tie in ideas from other practices and practitioners, notably BDD and Specification by Example
Gain a deeper understanding of what Exploratory Testing (ET) is, the essential elements of the practice with practical tips and techniques, and finally, ideas for integrating ET into the cadence of an agile process
Effective Testing Practices in an Agile EnvironmentRaj Indugula
This is a practitioner’s view of testing and testing practices within an iterative development environment. We will explore the challenges of testing within such an environment and ways to better integrate the QA professional into what is inherently a developer-centric methodology. If quality is paramount, then we ought to move testing to the front of the line and test early and often. Automation lies at the heart of agility and we will look at how test automation techniques and test-first design philosophy might be applied at multiple-levels to drive quality.
'The Real Agile Testing Quadrants' with Michael BoltonTEST Huddle
EuroSTAR Conferences, with the support of ISA Software Skillnet, Irish Software Innovation Network and SoftTest, were delighted to bring you a half-day software testing masterclass with Michael Bolton
In this session, Michael Bolton (who has extensive experience as a tester, as a programmer, and as a project manager) explained the role of skilled software testers, and why you might not want to think of testing as "quality assurance".
He present ideas about the relationship between management and testers, and about the service that testers really provide: making quality assurance possible by lighting the way of the project. For those of you who who attended this event, we really hope it was of use to you in your testing careers.
www.eurostarconferences.com
The certification for Foundation Level Extension – Agile Tester is designed for professionals who are working within Agile environments. It is also for professionals who are planning to start implementing Agile methods in the near future, or are working within companies that plan to do so.
Agile Testing: The Role Of The Agile TesterDeclan Whelan
This presentation provides an overview of the role of testers on agile teams.
In essence, the differences between testers and developers should blur so that focus is the whole team completing stories and delivering value.
Testers can add more value on agile teams by contributing earlier and moving from defect detection to defect prevention.
New Model Testing: A New Test Process and ToolTEST Huddle
In this webinar, Paul described his experiences of building and using a bot for paired testing and also propose a new test process suitable for both high integrity and agile environments. His bot – codenamed System Surveyor – builds a model of the system as you explore and captures test ideas, risks and questions and generates structured test documentation as a by-product.
This talk was given at Eurostar 2013 in Gothenburg, Sweden.
“Significant forces in the IT industry that mean testing in most organisations is under extreme pressure. Bosses wonder why they need people ‘over here’ to make sure people ‘over there’ do their job properly. Users, analysts, developers and testers may have to redistribute responsibility for testing and checking and by collaborating more effectively.
Testers won’t drive this transition, and they may be caught out if they ignore the winds of change. There's complacency, self-delusion and over capacity in the testing business; there is too little agreement about what testing is, what it’s for or how it should be done. In this talk, Paul will suggest what leadership is required in our industry, the market and our organisations.
Of course, some responsibility will fall on your shoulders. Whether you are a manager or technical specialist, there will be an opportunity for you to lead the change.”
The 3 Pillars Approach to Agile Testing Strategy with Bob Galen & Mary ThornTEST Huddle
Far too often agile adoptions focus just on the development teams, agile frameworks, or technical practices as a part of their adoption strategies. And then there’s the near perpetual focus on tooling or developing test automation without striking a balanced approach. Often the testing activity and the testing teams are “left behind” in agile strategy development or worse yet, they’re simply “along for the ride”. That is not an effective transformation strategy.
Join experienced agile coaches Bob Galen and Mary Thorn as they share the Three Pillars framework for establishing a balanced strategic plan for effective quality and testing. The Three Pillars focus on development and test automation, testing practices, and collaboration activities that will ensure you have a balanced approach to agile testing. Specifically, risk-based testing, exploratory testing, paired collaboration around agile requirements, agile test design, and TDD-BDD-Functional testing automation will be explored as tactic within a balanced Three Pillars framework. You will leave with the tools to immediately initiate or re-tool a much more effective and balanced agile testing strategy.
ortion pills to be shipped to house
Have you ever bumped into a wall with your automated tests? Many developers bump into various roadblocks and hurdles when writing test code. Are your test methods starting to fail because the code-under-test uses the current date and time? Are your automated integration tests failing because the database they integrate with keeps changing? Do you have an explosion of test methods, with the ratio of test code to code-under-test way too high? Is your effort to refactor and improve code overwhelmed by the time it takes to rewrite all those failing unit tests? This presentation is about clearing away Agile testing obstacles, avoiding common pitfalls, and staying away from dangerous practices.
Why communicated deadlines will always lead to bad quality, and why you should never communicate deadlines if you are working according to Agile values.
Agile Testing examines software from the customer point of view, and requires that the entire team tests the product to deliver value.
According to James Bach, testing is the questioning of a product in order to evaluate it.
Agile Testing takes the fundamentals of software testing, and provides options for testing products delivered in Agile workflows. It focuses on early involvement of testers, defect prevention, quick feedback loops, test automation, and exploratory testing.
This presentation will start with selected ideas from Agile Testing, and
More Agile Testing, then Dag Rowe will tie in ideas from other practices and practitioners, notably BDD and Specification by Example
Gain a deeper understanding of what Exploratory Testing (ET) is, the essential elements of the practice with practical tips and techniques, and finally, ideas for integrating ET into the cadence of an agile process
Effective Testing Practices in an Agile EnvironmentRaj Indugula
This is a practitioner’s view of testing and testing practices within an iterative development environment. We will explore the challenges of testing within such an environment and ways to better integrate the QA professional into what is inherently a developer-centric methodology. If quality is paramount, then we ought to move testing to the front of the line and test early and often. Automation lies at the heart of agility and we will look at how test automation techniques and test-first design philosophy might be applied at multiple-levels to drive quality.
'The Real Agile Testing Quadrants' with Michael BoltonTEST Huddle
EuroSTAR Conferences, with the support of ISA Software Skillnet, Irish Software Innovation Network and SoftTest, were delighted to bring you a half-day software testing masterclass with Michael Bolton
In this session, Michael Bolton (who has extensive experience as a tester, as a programmer, and as a project manager) explained the role of skilled software testers, and why you might not want to think of testing as "quality assurance".
He present ideas about the relationship between management and testers, and about the service that testers really provide: making quality assurance possible by lighting the way of the project. For those of you who who attended this event, we really hope it was of use to you in your testing careers.
www.eurostarconferences.com
The certification for Foundation Level Extension – Agile Tester is designed for professionals who are working within Agile environments. It is also for professionals who are planning to start implementing Agile methods in the near future, or are working within companies that plan to do so.
Agile Testing: The Role Of The Agile TesterDeclan Whelan
This presentation provides an overview of the role of testers on agile teams.
In essence, the differences between testers and developers should blur so that focus is the whole team completing stories and delivering value.
Testers can add more value on agile teams by contributing earlier and moving from defect detection to defect prevention.
New Model Testing: A New Test Process and ToolTEST Huddle
In this webinar, Paul described his experiences of building and using a bot for paired testing and also propose a new test process suitable for both high integrity and agile environments. His bot – codenamed System Surveyor – builds a model of the system as you explore and captures test ideas, risks and questions and generates structured test documentation as a by-product.
This talk was given at Eurostar 2013 in Gothenburg, Sweden.
“Significant forces in the IT industry that mean testing in most organisations is under extreme pressure. Bosses wonder why they need people ‘over here’ to make sure people ‘over there’ do their job properly. Users, analysts, developers and testers may have to redistribute responsibility for testing and checking and by collaborating more effectively.
Testers won’t drive this transition, and they may be caught out if they ignore the winds of change. There's complacency, self-delusion and over capacity in the testing business; there is too little agreement about what testing is, what it’s for or how it should be done. In this talk, Paul will suggest what leadership is required in our industry, the market and our organisations.
Of course, some responsibility will fall on your shoulders. Whether you are a manager or technical specialist, there will be an opportunity for you to lead the change.”
The 3 Pillars Approach to Agile Testing Strategy with Bob Galen & Mary ThornTEST Huddle
Far too often agile adoptions focus just on the development teams, agile frameworks, or technical practices as a part of their adoption strategies. And then there’s the near perpetual focus on tooling or developing test automation without striking a balanced approach. Often the testing activity and the testing teams are “left behind” in agile strategy development or worse yet, they’re simply “along for the ride”. That is not an effective transformation strategy.
Join experienced agile coaches Bob Galen and Mary Thorn as they share the Three Pillars framework for establishing a balanced strategic plan for effective quality and testing. The Three Pillars focus on development and test automation, testing practices, and collaboration activities that will ensure you have a balanced approach to agile testing. Specifically, risk-based testing, exploratory testing, paired collaboration around agile requirements, agile test design, and TDD-BDD-Functional testing automation will be explored as tactic within a balanced Three Pillars framework. You will leave with the tools to immediately initiate or re-tool a much more effective and balanced agile testing strategy.
ortion pills to be shipped to house
Have you ever bumped into a wall with your automated tests? Many developers bump into various roadblocks and hurdles when writing test code. Are your test methods starting to fail because the code-under-test uses the current date and time? Are your automated integration tests failing because the database they integrate with keeps changing? Do you have an explosion of test methods, with the ratio of test code to code-under-test way too high? Is your effort to refactor and improve code overwhelmed by the time it takes to rewrite all those failing unit tests? This presentation is about clearing away Agile testing obstacles, avoiding common pitfalls, and staying away from dangerous practices.
Why communicated deadlines will always lead to bad quality, and why you should never communicate deadlines if you are working according to Agile values.
Deze presentatie geeft een samenvatting van het white paper 'Creëer buitengewone klantbeleving en onderscheid u van uw concurrentie'. Het volledige paper is gratis te downloaden via www.crmpapers.nl
De presentatie gaat in op de waarde van klantkennis en laat zien hoe u met de toepassing van diepgaande klantkennis het verschil kunt maken. Verweef uw klant in uw strategie, bouw aan klantloyaliteit door positieve klant-emotie
en verzamel systematisch klantkennis (360-graden klantbeeld).
VOLIA Smart HD: continue our journey to TV of future! (Nov 2013)Anna Mikhaelian
November, 2013.
VOLIA signnificantly extend interactive TV functionality and make it available on new devices overall Ukraine!
- launching catch-up, time-shift and multiscreen
- launching own VOD service with great movies
- going to retail with plug&play solution
- running its own application on Samsung Smart
These slides quickly illustrate how you can successfully adopt Agile to improve your development efforts. In addition to discussing how and why teams are interested in Agile, it covers some of the challenges of adopting it and suggestions for ensuring success.
MHA2018 - Quality Advocacy: The next progression for Agile Testers - Don PetersAgileDenver
"As we strive as an industry to deliver value more quickly, we need to adapt our testing practices to keep up.
As Quality Advocates, we can’t sit back and wait for work to show up in our queue. We can provide the most value if we bring our testing skills and mindset to all of the activities our team performs. I’ll discuss the attributes of a Quality Advocate and how we can influence culture, planning, and test automation strategy to help our teams deliver value and delight customers."
like Google, Improve your Test perception & practices and learn how Test might be a key lever to improve your business.
- Understand the different types of Test
- Best & Worst practices of Test
Agile Testing XBOSoft Jared Richardson Phil LewXBOSoft
These are the slides from a discussion Jared Richardson and Phil Lew had on agile testing.
They discussed:
Agile (testing) trends
Scrum
Requirements
Metrics
Documentation
Tools
and much more.
A recording can be found here:
http://www.youtube.com/user/XBOSoft
This slide deck was used at the Global Scrum Gathering in Prague in 2015. The deck provides inspiration on:
* How to make the tester part of the Development Team
* How to eliminate the need for "Quality Control"
* Foster collaboration within the team.
Software Testing - Test management - Mazenet SolutionMazenetsolution
Topics: Organisation,configuraiton management,test estimation,monitoring and control,incident management,standards for testing.
To know more about
Offer- http://mazenet-chennai.in/mazenet-offers.html
Syllabus- http://www.mazenet-chennai.in/software-testing-training-in-chennai.html
Slide share: http://www.slideshare.net/mazenet_solution/presentations
For more events- http://mazenet-chennai.in/mazenet-events.html
All videos- https://www.youtube.com/c/Mazenetsolution
Facebook- https://www.facebook.com/Mazenet.IT.Solution/
Twitter- https://twitter.com/Maze_net
Mail us : marketing@mazenetsolution.com
Contact: 9629728714
2. Agenda
• What is Agile Development?
• Challenges for Testers
• Strategies for Dealing with Them
• Agile Testing Tools
3. Context-Driven Testing Principles
• The value of a practice depends on context.
• Practices may be good in context, but there are no best
practices.
• People, working together, are the most important part of
any project’s context.
• Projects unfold are often not predictable.
• The product is a solution. If the problem isn’t solved, the
product doesn’t work.
• Good software testing is a challenging intellectual
process.
• Only through judgment and skill, exercised cooperatively
throughout the entire project, are we able to do the right
things at the right times to effectively test our products.
Context-driven testing is biased towards rapid feedback
and adaptability
www.context-driven-testing.com
4. What is Agile Development?
• Incremental, Iterative, Adaptive
• Incremental
• Build a system gradually
• See the system grow
• Demonstrating progress
• Iterative
• Multiple releases or check points during a project, each closer
to the target
• Iterations include requirements development and testing
• Typical iterations are two weeks long
• Plan as you go
• Adaptive
• Goals change based on lessons from prior iterations, feedback
and business opportunities
5. What is Agile Development?
• Regularly delivers business value
• Work broken down into “stories”
• Sometimes called features or use-cases
• Consists of multiple tasks, often assigned to different
programmers
• Has defined acceptance criteria
• Not done until the unit and acceptance tests pass
6. What is Agile Development?
• Collaborative
• Pairing, with changing pairs
• Avoids specialized knowledge
• Team code ownership (optimistic locking)
• No Backsliding
• Continuous Integration
• Unit Testing (usually using test-driven development)
• Constant regression testing
7. The Old Strategies Won’t Work
• Detailed test planning
• Not enough time
• Too many changes
• Dedicating a phase for testing
• You don’t get to define entry and exit criteria
• Iterations will move on without you
• Change control
• Changes are now commonplace
• Being in a position of authority
• You need to learn how to express concerns without really
being able to judge software correctness authoritatively
8. What are Testers Good for Anyway?
• In business, any worthwhile function either provides products
or services.
• What product or service does testing provide?
• “Tested, Debugged Software” – Wrong Answer
Testing provides
information about
the status of software under development
to inform decisions.
9. Challenge: Are Testers Obsolete?
• With developers doing unit testing, do we still
need to have “QA” testers?
• Some teams have fired testers when adopting agile.
They have then regretted this.
• Testing may be done by people who aren’t called “QA”
or “Tester”: e.g. Business Analysts.
• Some teams are using developers for acceptance
testing.
• Dedicated testers bring two benefits:
• Focus on customer usage over technical implementation
• Focus on uncovering flaws over confirming completeness
10. Challenge: Testing Half-Baked Code
• With frequent iterations delivered to testing, how
can testers test incomplete code?
• Stories must be defined in terms of business value.
• Stories should not span iterations.
• Good story definition is difficult to do.
• Clumsy story definition often impacts testers more than
developers.
• Testers may need to help with story definition (i.e.
become analysts).
• Don’t “test” the stories, just help get them right.
• There will always be gaps.
• Testers need to learn and adapt as they find them.
11. Challenge: Aren’t Story Acceptance Tests Simplistic?
• How can it be good testing if your acceptance
tests are only verifying that a story is complete?
Isn’t this happy-path testing?
• Each iteration requires additional tests other than those
that simply focus on accepting completion of a story.
12. Iteration Testing
Dev 1 2 3
Test 1 2
At the end of an iteration, promote code for further testing:
• Exploratory Testing • Endurance Testing
• Learn, plan and execute at once
• Execute software over long
• Look for bugs, missing features periods of time
and opportunities for improvement
• Combination/Interaction Testing • Business Cycle Testing
• Focus on interactions between • Execute scenarios based on end-
features of-day, end-of-month, end-of-
• Scenario Testing quarter and other business cycles
• Use real-world scenarios that • Load Testing
exercise multiple stories
• Replicate a full load on the system
13. Challenge: Getting Testers to be Part of the Team
• How can we get testers to be part of a team?
Doesn’t this force them to sacrifice their integrity?
• Testers have been an oppressed group and have often
stuck together to provide mutual support.
• It’s time to let go of this.
• Testers should co-locate with developers and analysts.
• Agile only works when there is lots of both formal and
informal communication within a team.
14. Challenge: When is Testing Done?
• Without the time devoted to complete testing,
how do we know when testing is done?
• Useful testing addresses important product risks.
• Agile testers need to be able to justify tests in terms of
risk.
• What risks would these tests inform?
• Ultimately testing must be prioritized just like stories.
• Bug metrics also provide an indicator of completeness.
• A good tester is never done.
15. Pairing Testers with Developers
• Why? • Facilitate Grey Box Testing
• Developers gain insight into • Understand relationships between
potential errors parts of the system
• Testers gain insight into • Analyze impact of changes
constraints and opportunities • What needs retesting?
• Together can succeed with • What can be left alone?
automated testing • Understand bugs
• Automate Acceptance Testing • What were the root causes?
• Where did the problems surface?
• Write acceptance tests using the
same programming environment • Understand risk
used for development • Develop test strategy that targets
risk
• Reuse unit testing frameworks
• Justify and articulate testing
• Make the software more testable objectives
• Learn to diagnose bugs
• Identify source of errors
16. Pairing Testers with Analysts
• Why?
• Testers need to understand the business
• There are always hidden requirements
• Analysts need to understand how to test their requirements
• Involve testers earlier
• Defining requirements is difficult
• Often harder to specify requirements than design
• Easy to become out of date
• Specify by Example
• Defining them by example is incremental, easier and more concrete
• Acceptance tests…
• Ground concepts
• Define goals and expectations
• Demonstrate progress
• Drive development
• Good acceptance tests are:
• Clear – so any one can understand
• Specific – so it can be executed
17. Challenge: Don’t We Need Bug Tracking?
• Some have declared that agile teams shouldn’t
track bugs and just fix them as soon as they are
found.
• This works well when you are testing in Dev.
• When you are testing a completed iteration in a Test
environment, you’ll need to track bugs because you
won’t see fixes for a while (even if they are fixed right
away).
• Ideally, bugs will be fixed right away, but some may be
deferred.
• Ultimately, bugs can be prioritized with stories.
18. Challenge: Collecting Useful Metrics
• What are useful quality metrics for agile projects?
• One of the best quality metrics is the number of bugs
that escape development and are found after
deployment. Unfortunately, this is a trailing indicator.
• Counting “escapes” by iteration can give a leading
indicator of how good the code is.
• We can also learn from bugs in other ways:
• Are there unit tests to catch the kinds of problems that are
being found by acceptance tests? Add them.
• Can we make bugs easier to find and diagnose?
• Can we make it so that programmers are less likely to
make common mistakes?
19. Challenge: Regression Testing
• With frequent iterations, we need to retest often.
And unit tests aren’t enough. How do we get
effective user-level regression tests?
• You don’t necessarily need to do a full regression test
with each iteration. You may run parts in each iteration
cycling through.
• But you’ll still need some level of automated user-level
regression tests.
20. Challenge: Regression Test Tools
• Most commercial test tools work poorly in an agile
environment. Most have these flaws:
• Vendor-specific languages (vendorscripts)
• Poor integration with source control
• Hard to use with continuous integration
• Impractical to install on every workstation
• These problems make them impractical for use by the
team as a whole.
• Agile teams are building their own test tools and
releasing many of them as open-source…
21. Problems with Commercial Test Tools
• Proprietary Scripting Languages
• Winrunner (TSL), SilkTest (4test), Robot (Test Basic)
• http://www.stickyminds.com/se/S2326.asp
• But newer tools are now using standard languages
• Astra QuickTest (VB Script), XDE Tester (Java),
• Incompatibility with Source Control
• Temporary files and directories (WinRunner)
• http://paulhammant.com/blog/000245.html
• Key information stored in repositories (Rational)
• Lack of External Calling API’s
• They refuse to allow themselves to be used as a library.
• Generally, you can only launch complete scripts with limited access to
results information.
• Therefore difficult to integrate with Continuous Integration
• Some new low-cost and shareware tools are exceptions
• E.g. TestComplete
• Restrictive and Expensive Licensing
• Developers can’t run test suites.
These “features” encourage vendor-lock and frustrate serious
programming
• Open-Source Tools almost always avoid these shortcomings.
22. Open-Source Tools for Acceptance Testing
• Many tools for Windows, Java and Web GUIs
• Today we’ll focus on the Web
• HttpUnit and Other Protocol Drivers
• WTR and other COM/DOM Drivers
23. Web Protocol Drivers for Functional Testing
Tool Tests
HttpUnit, popular Java Java
http://www.httpunit.org/
jWebUnit, extends HttpUnit and Fit, Java Java & HTML
http://jwebunit.sourceforge.net
Canoo WebTest, extends HttpUnit Java XML
http://webtest.canoo.com
HtmlUnit, similar to HttpUnit Java Java
http://htmlunit.sourceforge.net/
libwww-perl, general tool, e.g. spiders Perl Perl
http://ftp.ics.uci.edu/pub/websoft/libwww-perl/
WebUnit, based on HttpUnit Ruby Ruby
http://www.xpenguin.biz/download/webunit/index-en.html
Puffin Python XML
http://www.puffinhome.org/
WebInject Perl XML
http://www.webinject.org/index.html
24. Web Protocol Drivers
• A very popular category
• Some use parsers to support data-driven test formats
• XML, HTML
• Some support embedded scripting languages
• Namely embedding Jython in Java
• Focus varies between functional and load testing
• Functional tools tend to offer better browser simulation
• Load tools tend to offer better support for concurrent testing
• But most can do some of either
• Some support many protocols
• Including ones not supported by browsers
• E.g. SOAP
Web Server
HT
HTTP/HTML
TP
/H
TM
L
Web Automation
Browser Library
25. HttpUnit Example
public void testLoginSuccess() throws Exception {
WebConversation conversation = new WebConversation();
String url = "http://localhost:8080/shopping/shop“;
WebResponse response = conversation.getResponse(url);
assertEquals(“Login”, response.getTitle());
WebForm form = response.getFormWithName("loginForm");
WebRequest loginRequest = form.getRequest();
loginRequest.setParameter("user", “mike”);
loginRequest.setParameter("pass", “abracadabra”);
response = conversation.getResponse(loginRequest);
assertEquals(“Product Catalog”, response.getTitle());
}
Example Courtesy of Mike Clark
26. Canoo WebTest Example
<project name=“ShoppingCartTests" default=“main”>
<target name="main">
<testSpec name=“loginSuccessTest">
<config host="localhost“ port=“8080“
protocol="http“ basepath=“shopping” />
<steps>
<invoke url=“shop" />
<verifytitle text="Login" />
<setinputfield name="user“ value="mike" />
<setinputfield name="pass“ value=“abracadabra" />
<clickbutton label="Login" />
<verifytitle text=“Product Catalog" />
</steps>
</testSpec>
</target>
</project>
Example Courtesy of Mike Clark
27. Load Testing Tools (Protocol Drivers)
• JMeter • TestMaker
• Java-based tool. • Python test scripts, Java-
• Supports HTTP, HTTPS, SOAP, based tool.
XML-RPC, JDBC, LDAP
• Supports HTTP, HTTPS, SOAP,
• Allows multiple machines to XML-RPC, SMTP, POP3, IMAP
generate load.
• Only one machine can be
• http://jakarta.apache.org/j
used to generate load.
meter/
• http://pushtotest.com
• Grinder • OpenSTA
• Java-based tool. New • C++/Corba based tool.
version supports Python Tests are in SCL, a
test scripts. vendorscript!
• Supports HTTP, HTTPS, SOAP, • Supports HTTP, HTTPS
XML-RPC, JDBC, IIOP,
RMI/IIOP, RMI/JRMP, JMS, • http://opensta.org/
POP3, SMTP, FTP, LDAP
• Allows multiple machines to
generate load.
• http://grinder.sourceforge.
net/ All of these include recorders!
28. Web Interface Drivers
• How do your tests access the product
server?
• Simulation (Protocol Drivers)
Web Server • Access the server in the same way as a
browser would.
HT
• Automation (Browser Drivers)
HTTP/HTML
TP
/H
TM
L
• Drive the browser using automation
interfaces.
Web Automation
Browser Library
Web Server
Web Automation Automation
Browser Interface Library
29. Browser Automation
• Use the COM Automation
interface to Internet Explorer
Web Server
Internet Automation IE Controller
Explorer Interface & Ruby
Tests drive the browser
30. DOM
• “Document Object Model”
• A non-proprietary standard for representing elements of
a web page.
• Often used by client-side JavaScript.
• Supported by IE and Netscape and other browsers.
• IE provides access to the DOM via COM Automation.
31. Web Testing with Ruby
• Three related implementations of Ruby-based libraries
that drive IE’s COM/DOM interface.
• Chris Morris – original
• Bret Pettichord – modifies Chris’s
• Paul Rogers – more different
• WATIR is a sub-project that aims to get the best of each
• Bret Pettichord & Paul Rogers
• Wiki
• http://www.clabs.org/wtr/
• Mailing List
• http://rubyforge.org/projects/wtr/
32. COM/DOM Automation
• Any decent language can call Internet Explorer’s COM
Automation interface.
• Numerous people have built project-specific test tools to
drive the COM/DOM interface.
• Visual Basic
• Python
• Perl (See samie.sf.net)
• C#
35. Test Automation in the Silo
• Traditionally test automators have worked in a separate space
from developers
• The code is separate
• The teams are separate
• Ex post facto GUI automation
• Reasons for change
• Tool/application compatibility (testability)
• Maintenance when GUI changes
• Testing needs to be everyone’s concern
You can change whether you are are using Agile or not!
36. Further Study
Context-Driven Testing
• Lessons Learned in Software Testing:
A Context-Driven Approach
• Cem Kaner, James Bach & Bret Pettichord
• Mailing List
• http://groups.yahoo.com/group/software-testing/
• Wiki
• http://www.context-driven-testing.com/wiki/
Agile Testing
• Agile Testing Papers
• http://www.testing.com/agile
• “Where are the Testers in XP?”
• http://www.stickyminds.com/s.asp?F=S6217_COL_2
• Mailing List
• http://groups.yahoo.com/group/agile-testing/
Open Source Test Tools
• Home Brew Test Automation
• http://www.io.com/~wazmo/papers/homebrew_test_automation_200311.pdf