Escolar Documentos
Profissional Documentos
Cultura Documentos
com
A
S
utomated .......
T
oftware esting MAGAZINE
March 2011 $8.95
The Art of
Linking Just Like
Clockwork
Measuring and
Improving Automation
reliability
Image Based
Automation
A non-intrusive, GUI
neutral approach
TestLink/Hudson
Automation
Open source automated
Test management
Contents
The Art of Linking
No software project has unlimited resources, therefore, the ability to engineer optimal solutions based on the
limited resources made available on a project is definitely an art worth mastering. This issue provides guidance on
how to link commercial, open source and home grown resources together in order to end up with an automated test
solution that maximizes your ability to achieve your goals.
Features
Image Based Automated Software Testing 14
Need a non-intrusive, GUI neutral automated test solution? Image based automation may be for you. Read this article to learn
about image based automation and the tool requirements that point to this type of automation as a solution. By Elfriede Dustin
Manage Your Automated Tests With TestLink and Hudson 20
This article offers an effective, efficient and... free solution for managing automated tests via open source tools. Read this article
to learn about Hudson and TestLink, and about integrating these tools for managing your tests. By Bruno P. Kinoshita
from my engineering days, however, is This issue of the AST magazine is respect to reliability. Entitled, “Just Like
the ability to come up with an optimal dedicated to the art of linking together Clockwork”, Fern’s article continues AST’s
solution given some finite, limited set resources and the quality implications of quality attribute series by introducing three
of resources. As electrical engineers, we doing so. Ms. Elfriede Dustin provides a characteristics of reliability and identifying
were often given problems and projects approaches by which they may be measured
featured article entitled “Image Based
to solve and complete with a specific set and improved.
Automated Software Testing” that
of resources and inputs. With the given introduces image based test automation The department articles also focus on
resources and inputs it was possible to and addresses linking commercial image links; specifically the “Hot Topics in
complete the project in many different Automation” department. In this issue
based tools with homegrown solutions
ways, but it wasn’t enough just to the hot topic is “Finishing the Internet”,
for meeting test automation needs. In a
complete it. It had to be completed such and it focuses on linking the existing IPv4
featured article entitled “Managing Your
that the output from the finished product Internet to the emerging IPv6 Internet
Automated Tests With TestLink and
was maximized. and the performance testing implications
Hudson”, Mr. Bruno P. Kinoshita also of doing so.
Although I’m now in the world of talks about links by discussing a tool with
software, these skills still follow me. No the word “link” in its name. Kinoshita So let the linking begin!
Public Courses
Software Test Automation Foundations
Automated Test Development & Scripting
Designing an Automated Test Framework
Advanced Automated Test Framework Development
Virtual Courses
Automated Test Development & Scripting
Designing an Automated Test Framework
Advanced Automated Test Framework Development
Test Automation Framework Workshop: A Shortcut to Success
Come
participate in a set
of test automation courses Featured Course
that address both fundamental
and advanced concepts from a
theoretical and hands on perspective.
These courses focus on topics such
as test scripting concepts, automated
framework creation, ROI calculations
and more. In addition, these courses
may be used to prepare for the
TABOK Certification
exam.
Asserting Yourself
Create Your Own Custom Assertions in 4 Steps
A
ssertions are functions that Step 1. Identify the pertinent
check a true/false statement function arguments
within a software program.
These functions, which only pass when Line 1 of the function defined in Figure 1
the statement is evaluated as True, are an begins the function definition and reveals
excellent way to implement verification some typical assertion arguments. Table 1
points within an automated test because defines these arguments.
they provide a mechanism for concisely
identifying a condition that must be
checked and presenting an error message
if the check fails. Many programming
languages have standard libraries with
built-in assertions, but not all of them.
Even if a programming language has
assertions, it is still useful to be able
to create custom assertions that can
perform activities not included in built-
in assertions; activities such as aborting
tests and/or the application in the event of Table 1: Function Parameters
a test failure.
assigned a value somewhere within an the
A simple condition assertion can be
automated script, therefore upon checking
created via the following 4 steps:
the equality of these two variables, a
1. Identify the pertinent function value of either True of False will
arguments be returned. If the condition returns
Step 2. Evaluate Condition True, then line 3 is executed. Line 3,
2. Evaluate condition
in an effort to keep the sample function
3. Evaluate additional arguments Lines 2 through 13 reveal how a simple, merely generates a message box
4. Test the function typical if-then-else function may with a defined pass message, but in an
be used for evaluating a basic condition. actual implementation you may want
Figure 1 provides a VBScript example A condition may be something as simple to include a statement that sends a pass
of how such a function may be produced. as a = b. The variables a and b will be message to your test report and performs
some additional actions. If the condition
returns False, then the block of code
represented in lines 5 through 12 will
be executed. Line 5 simply generates a
message box with a defined fail message.
and/or AUT.
Public Courses
Software Test Automation Foundations
Automated Test Development & Scripting
Designing an Automated Test Framework
Advanced Automated Test Framework Development
Virtual Courses
Automated Test Development & Scripting
Designing an Automated Test Framework
Advanced Automated Test Framework Development
Test Automation Framework Workshop: A Shortcut to Success
Mobile Source
The Demand For and Impediments to Mobile Open Source Applications
By
Elfriede Dustin
(*There are several useful image based tools currently in existence. Each requirement above references one or more image
based testing tools - from a short list (SL) of tools listed in this article - that meet the requirement. A brief description of each
tool - SL item - may be found on the subsequent pages of this article.)
1
5 Image Based Indicators decided to continue our search for other
tool options that allowed for non-intrusive
automated testing and discovered
independent. Our client had a variety
of operating systems, but initially we
performed our proof of concept on
Must Be Non-Intrusive To SUT
eggPlant, which at the time was owned by Windows and Linux. eggPlant only
Originally our search for tools that Redstone. eggPlant had great potential. ran on a Mac and at the time they were
met this specific requirement led us to Like VNCRobot we found that it used working on a Windows appliance. With
VNCRobot, which at the time was a VNC technology and met our requirement the Windows appliance one still would
freeware tool. This tool used the Virtual of not being intrusive to the SUT. After have to use a Mac with the Windows
Network Computing (VNC) technology evaluating eggPlant and VNCRobot for appliance connected to the Mac. TestPlant
to connect one computer to another. three months we decided that eggPlant had eventually developed a solid Linux
VNCRobot itself was the “VNC client” features important to us that were absent eggPlant license, allowing our framework
and could access and control the remote in VNCRobot. For example eggPlant to meet the required OS independence. In
computer running a “VNC Server” via the provided an “image collection” feature addition, TestPlant released their official
RFB (remote framebuffer) protocol. See which during test execution allowed Windows license in 2010.
Figure 1 for a pictorial view of this setup. for image searching and comparison of
When we got in touch with the
VNCRobot author we ascertained that
he was the sole developer working this
various similar images. We therefore
chose to incorporate eggPlant into our
overall automated testing framework that
3
Must be Graphical User Interface
(GUI) technology independent
Many of the current vendor provided
project, so my colleagues and I had a we called Automated Test and Re-Test
automated software testing tools are GUI
critical question to answer: (ATRT).
technology dependent. That means if
“Did we want to hinge the success of
our project on one developer?” 2
Must be OS independent
The tool we selected as part of our
proprietary programming languages or
third party controls are used within the
SUT, the tool would not be compatible
Our answer was “No”. Therefore, we ATRT framework also needed to be OS thus presenting problems for testing.
4
Must be able to handle display of data generation, but it didn’t allow SL2: Project Sikuli
and non-display centric for the complexity of data interactions
automation and relations required. We decided
(http://sikuli.org/)
Another requirement our customer upon Matlab for our data generation Sikuli is a visual
had was that a tool/framework be able (http://www.mathworks.com/products/ technology to automate
to test various backend (non-GUI) matlab/) and test graphical
interfaces using an array of protocols. user interfaces (GUI)
using images. Sikuli
5
Unfortunately, eggPlant did not Must be able to handle
support this requirement out-of-the networked multi-computer includes Sikuli Script,
-box, so we had to develop an in-house environment a visual scripting
solution for this backend “interface” API for Jython, and Sikuli IDE, an
While most of the industry mainly seems integrated development environment for
testing ourselves. This was a complex to focus on web based applications and
undertaking because we first needed writing visual scripts with screenshots
web testing, the DOD world in which easily. Sikuli Script automates anything
to understand the requirements, the we worked consisted of networked
make-up of the backend system and you see on the screen without internal
computers (i.e. multiple servers, systems API’s support.
the message data. Each SUT used of systems, monitors and displays)
a different protocol (TCP/IP, UDP, interconnected to form one SUT.
CORBA, proprietary) and all used
different message data formats. Thus,
eggPlant, with its VNC use, handled SL3: RoutineBot
the interconnected systems well and we
we developed an approach where all developed ATRT in such a way that it (http://www.routinebot.com/)
protocols and data could be tested via could support this networked mesh of RoutineBot is a
our ATRT framework. environments. For example, it handled visual automated
This approach used the open source distributed and concurrent testing over a test tool that
Eclipse development environment. We network, allowing automated tests to be provides its users
chose the Eclipse Rich Client Platform executed concurrently over a network. with the capability
because it could be expanded on the This was useful for automating test cases of creating and
ATRT base environment to allow that involved various GUI or message executing tests
for configurability/extensibility via based outputs that were dependent on based on image
a powerful plugin framework. New each other, moved over a network or patterns in the application under test.
feature sets and tools are integrated, ran in parallel. As long as a VNCServer
Note
It’s worth noting that the evaluation discussed at the beginning of this article was nearly 4 years ago and both VNCRobot
and eggPlant have undergone several changes since then. In 2009 VNCRobot was acquired by T-Plan Ltd. and renamed
T-Plan Robot (http://www.t-plan.com/robot/). T-Plan Robot now also comes with the “image collection” feature and more.
Also, a reduced feature, open source version of T-Plan Robot is available under a GPL license.
eggPlant has also undergone various changes since our initial evaluation as well, including being acquired by TestPlant
(1998).
ATI Automation
Honors
Celebrating Excellence in the
Discipline of Software Test
Automation
What is TestLink?
By Bruno P. Kinoshita TestLink is a web based test management
system. Its use is governed by the terms of
the GNU General Public License. TestLink
contains features that allow for the creation
of Test Projects, Test Specifications, Test
Tests With TestLink and are Test Projects. Within a Test Project you
can create your Test Specification, add
Test Plans and execute your tests.
“
chosen in both companies.
Find a way to manage our automated tests.”
What is Hudson?
T
his was the directive I received in September of last year from my employer and
I know from past experience that it actually meant “find an effective and efficient
solution for managing our automated tests.” I had a teacher at my university Continuous Integration (CI) has become
that was obsessed with the etymology of words, so I remember exactly what effective a popular development practice in many
and efficient mean. Effective is something that accomplishes a purpose, and efficient companies. Among CI tools Hudson
is being effective without wasting time or effort or expense. Since I had previously has had some noticeable success since
participated in the decision to use TestLink as a test management tool and Hudson as a it won the Java Duke’s Award in 2008.
continuous integration server in my employer company, the idea of using TestLink and Hudson is extremely lightweight, fast,
Hudson together to manage our automated tests seemed to be the best. TestLink already easy to install and extensible. The project
had an API to facilitate external integration, and extending Hudson can be a pretty started in Sun with the Software Engineer
Replace it with the following line: By default Hudson listens to port 8080, so it may be accessed
at http://localhost:8080/. To install the TestLink Plug-in, open
$tlCfg->api->enabled = TRUE; Hudson and go to Manage Hudson -> Manage Plugins and
select it for installation.
Go to TestLink and look for the “My Settings” link in the top
of the page. There the devkey used by the plug-in to access Once the plug-in installation is completed Hudson must be
TestLink may be generated. restarted for the installation changes to take effect. Next, go to
Manage Hudson -> Configure System and add your TestLink
Installing Hudson and the TestLink Plug-in installation information to the TestLink section as illustrated in
Figure 3.
Hudson is relatively easy to install. Go to http://www.hudson-
ci.org and download the Hudson 1.395 WAR file. Then, use the Now, create a FreeStyle Job and add a step to invoke TestLink
command line to open the directory where the WAR file was (see Figure 4). Any value can be entered into the Build name
saved, and execute the following statement: field. When the plug-in is not able to find a build in TestLink it
creates a brand new one. The name of the newly created custom
java –jar hudson-1.395.war field must be added, however, because this custom field is also
Strategies used by the plug-in to find TestLink can be effective for managing your tests, be they
test results manual or automated. Hudson has many features to facilitate the
execution and schedule of your automated tests. By using the
After the automated tests are executed the plug-in has to look TestLink Hudson Plug-in you can put them to work together. The
for test results to determine whether or not an automated test was plug-in is responsible for integrating both tools and orchestrates
executed correctly and to update the test status in TestLink (as the activities. Another advantage on using the plug-in is that it is
shown in Figure 5). The TestLink Hudson Plug-in currently has extremely easy to add your automated tests to your continuous
three strategies for finding Test Results: TAP, TestNG and JUnit. integration process, as you are already running them inside the CI
All three of these strategies use a key custom field to associate a server. All you will need to use this solution is a set of automated
test result with an automated test case. tests that can output in TAP, JUnit or TestNG and a few minutes
to prepare your entire environment.
TAP
TestNG
For TestNG, the plug-in uses the class name of the test as the Announcements &
key. Usually a TestNG XML report contains a suite with many Community
Comments Box Blog Posts
tests. The plug-in looks for the name of the classes of the tests. If
a TestNG class name is the same as the value of the key custom
field of a Test Case, then the plug-in checks the status of the
methods of the class. If a class contains a method that failed,
then the Test Case is updated with the status failed. Otherwise it Automation
is updated with passed.
Events
by David Fern
Most software test automation projects rely on some type Reliability is defined as:
Functionality
of framework or architecture to operate as efficiently and “A set of attributes that
effectively as possible, and we the test engineers are often Reliability
bear on the capability of the
developers of these software test architectures or frameworks. Usability software to maintain its level
The Idiom “like clockwork” refers to: Efficiency of performance under stated
“With machine like regularity and precision; perfectly.” Maintainability conditions for a stated period
of time .” (ISO 9126: 1991,
http://www.thefreedictionary.com/like+clockwork Portability
4.2)
This article will focus on Software reliability can also
Most software test automation or frameworks. As we “Reliability” which has be defined as “the probability
projects rely on some type of design and develop these the following three sub of failure-free operation of
framework or architecture frameworks, we must characteristics: a computer program in a
to operate as efficiently and follow good development specified environment for
effectively as possible, and practices, which ensure that a specified time”. (http://
Maturity
we the test engineers are the following six quality en.wikipedia.org/wiki/
often developers of these characteristics identified in Fault Tolerance Software_quality#Software_
software test architectures the ISO 9126-1 are met: Recoverability reliability)
www.ver
26 Automated Software Testing Magazine www.automatedtestinginstitute.com March 2011
nference 2011
d the Abstract
rifyati.com
March 2011 www.automatedtestinginstitute.com Automated Software Testing Magazine 27
reusable code or keywords the more unexpected situation as opposed to
mature your architecture is. waiting for human intervention or
crashing.
Reliability
How can you build maturity into your
automation architecture? Is your automated test architecture fault
Analogy (Part 2)
tolerant?
The first thing to remember is you are Maturity
building software to test software. There are formulas for determining
So, just as with building software in how fault tolerant your automation
the Software Development Lifecycle We are only five minutes late in
architecture is. One such formula is
(SDLC), it is important to have Mean Time Between Failures (MTBF) starting the meeting, but I can live
complete automation requirements and or the average time to the next failure.
a proposed strategy for future versions. with that. I know that it is exactly five
Not everything can be thought of or The formula for MTBF is: minutes late because Old Reliable
built at once so the architecture will
need to evolve. You may begin with # TS
always displays the exact time
a Web testing architecture, but when MTBF =
# FE and date as I check it periodically
planned properly it can evolve to also
test database, mainframe and Web against the atomic clock and
Where:
Service applications. never do any maintenance on it.
• # TS = # of Test Steps
Completed Old Reliable is mature enough to
Fault Tolerance • # FE = # of Failures display the correct date and time
Fault Tolerance is defined as: Encountered for months with 30 or 31 days and
“Attributes of software that The higher the MTBF, the more fault even during leap year.
bear on its ability to maintain a tolerant your architecture is.
specified level of performance The next formula, Mean Time Taken
in cases of software faults or to Repair (MTTR), is used with MTBF
of infringement of its specified to calculate the availability of the
interface.” (ISO 9126: 1991, automation architecture or measures of
A.2.2.2) the impact of failure on an application
Fault tolerance or graceful degradation or project.
is the property that enables a system The formula for MTTR is:
(often computer-based) to continue
operating properly in the event of the
# HR
failure of (or one or more faults within) MTTR =
# TR
some of its components. (Source: http://
en.wikipedia.org/wiki/Fault-tolerance)
Where:
What if you script an automated test to
press a button on a page, but the page • # HR = # of Hours Spent
never comes up or the button is not Repairing
shown? What will your architecture • # TR = Total # of Repairs
do? Does the test stop and wait for you?
Does it go to the next test try the next The formula for Availability is:
command and probably keep failing
until it goes all the way through the % MTBF
= * 100%
Availability
entire test? Does it fail, document the MTTR+MTBF
event in a log and continue on to the
next test? The source of this formula is http://
www.cs.utk.edu/~parker/publications/
Being fault tolerant means that an PERMIS_06.pdf.
automation architecture successfully
continues upon encountering an As the failure/fault count and the
amount of time used to repair those executed. But, what if one step fails?
failures/faults increases, the availability
of that architecture for actually running Notice column H, the “Recovery”
Reliability
automated tests decreases. This links
directly back to the earlier discussion
column, has a keyword called Exit_
Iteration in some of its rows. This
Analogy (Part 3)
on maturity. A mature architecture will keyword causes the framework to
have a very high availability. automatically exit this test and move Fault Tolerance
to the next one if anything on that row
How can you build fault tolerance into fails to execute properly. This concept
your automated test architecture? can be taken to the next level as shown
As the presenter was attempting
in rows 6, 7 and 8 with a keyword to get the software working, I
Many test automation tools have some called Report_Defect. If a row with
sort of fault tolerance already built in. this keyword in it fails, the test not only
looked down at my watch to find
Such as setting the time you want a test exits and moves to the next test, but also that 10 minutes had past. I began
to wait and retry if it cannot perform automatically creates a defect report in
a certain action. Also some tools the defect database.
to remember all that watch and
will perform an action as long as an I had been through together. It
application page meets some minimal This ensures that even in the event of
threshold of recognition set for the page. failures the full suite of tests will be proved to be water resistant once
executed, instead of stopping while upon a time when our raft flipped
But, what happens if the action awaiting human intervention.
ultimately leads to a failure that results in over on the Shenandoah River,
the subsequent failures of the remainder
and it proved to be shock proof
of the test? Recoverability
upon taking many hits as we rode
The test will continue the long and
Recoverability is defined as: once on the Bizarro roller coaster
painful failure on each step until it gets
to the end of the test. “Attributes of software that bear at the theme park. The only thing
on the capability to re-establish
Recovery scenarios can be utilized in that ever broke on this watch was
its level of performance and
a keyword driven architecture offering
recover the data directly affected the band once when I caught it
a very effective way of implementing
in case of a failure and on the
fault tolerance. on a nail while building the kids
time and effort needed for it.”
Suppose you have a scenario file or (ISO 9126: 1991, A.2.2.3) playhouse. It takes a licking and
design document such as the one keeps on ticking.
The Open Group defines recoverability
illustrated in Figure 1. In this scenario,
as “The ability to restore a system to
the automation architecture performs
a working state after an interruption.”
each task or row and then moves to the
(www.opengroup.org/public/arch/p3/
next.
trm/tx/tx_quals.htm)
The test starts at row 3 by opening the
When we refer to recoverability in
application under test, and then verifies
a software automation architecture,
that Page_1 is available. Next, it enters a
we are referring to the ability to see
user name, and then continues executing
what the architecture was doing or has
each row until all rows have been
done before it failed so an automation
Figure 1: Test_1_Scenario_File.xls
As a registered user you can submit content directly to the site, providing you with
content control and the ability to network with like minded individuals.
Community
Comments Box >> Community Comments Box - This comments box, available on the home page of
the site, provides an opportunity for users to post micro comments in real time.
>> Announcements & Blog Posts - If you have interesting tool announcements, or
you have a concept that you’d like to blog about, submit a post directly to the ATI
Announcements & Online Reference today. At ATI, you have a community of individuals that would love
Blog Posts to hear what you have to say. Your site profile will include a list of your submitted
articles.
>> Automation Events - Do you know about a cool automated testing meetup,
webinar or conference? Let the rest of us know about it by posting it on the ATI site.
Automation Add the date, time and venue so people will know where to go and when to be there.
Events
Learn more today at http//www.about.automatedtestinginstitute.com
AST Comics
Negative Testing...Illogical
Public Courses
Software Test Automation Foundations
Automated Test Development & Scripting
Designing an Automated Test Framework
Advanced Automated Test Framework Development
Virtual Courses
Automated Test Development & Scripting
Designing an Automated Test Framework
Advanced Automated Test Framework Development
Test Automation Framework Workshop: A Shortcut to Success
Come
participate in a set
of test automation courses Featured Course
that address both fundamental
and advanced concepts from a
theoretical and hands on perspective.
These courses focus on topics such
as test scripting concepts, automated
framework creation, ROI calculations
and more. In addition, these courses
may be used to prepare for the
TABOK Certification
exam.
March 2011
Public and Virtual Training Available
www.automatedtestinginstitute.com Automated Software Testing Magazine 33
34 Automated Software Testing Magazine www.automatedtestinginstitute.com March 2011
March 2011 www.automatedtestinginstitute.com Automated Software Testing Magazine 35
Verify/ATI Con
Venture Beyond
www.ver
36 Automated Software Testing Magazine www.automatedtestinginstitute.com March 2011
nference 2011
d the Abstract
rifyati.com
March 2011 www.automatedtestinginstitute.com Automated Software Testing Magazine 37
Go On A Retweet
Paying a Visit To T
Microblogging is a form of power that has definitely not been lost
communication based on the concept on the test automation community. Let’s
of blogging (also known as web retreat into the world of microblogs for
logging), that allows subscribers of the a moment and see how automators are
microblogging service to broadcast brief using their 140 characters.
messages to other subscribers of the
service. The main difference between
microblogging and blogging is in the fact
that microblog posts are much shorter,
with most services restricting messages
to about 140 to 200 characters.
Popularized by Twitter, there are
numerous other microblogging services,
including Plurk, Jaiku, Pownce and
Tumblr, and the list goes on-and-on.
Microblogging is a powerful tool for
relaying an assortment of information, a
Figure 2: IPv4 to IPv6 Transition (9) Some performance studies and testing
have been done on the matter mainly to
assess whether the various transition
possible, and began imagining it in the Generation Transition Working Group
mechanisms have different performance.
late 1980s. And in 1994, the Internet (NGtrans) which proposed several
A study published in the European
Engineering Task Force (IETF), a transition mechanisms to be used when
Journal of Scientific Research evaluated
“large open international community of deploying an IPv6 based service across an
the tunneling transition mechanisms
network designers, operators, vendors, IPv4 Internet, including the dual stack and
with respect to latency, throughput and
and researchers concerned with the tunneling transition mechanisms (7).
CPU utilization and found that the each
evolution of the Internet architecture and
Dual Stack involves a single system mechanism definitely impacted the
the smooth operation of the Internet” (4),
using both an IPv4 and IPv6 Stack that performance that was observed on the
began working on a plan to replace the 32-
operate in parallel. This mechanism can system. It found that the IPv6 to IPv4
bit addressing format with a new 128-bit
be used both in the end system and the Automatic Tunneling definitely performed
format known as IPv6 . IPv6 will allow
(5)
the best out of the three tunneling
for 2 – 340 undecillion or 340
128
mechanisms in the areas of latency,
,282,366,920,938,463,463,374,6
throughput and CPU utilization (9).
07,431,768,211,456 – addresses,
which for now seems like more Another study looking at
than enough for the foreseeable performance of the IPv6 protocol
future. But while IPv6 has already stacks as compared to IPv4
been implemented by some (6), it protocol stacks acknowledged
has yet to be largely embraced that, “It is also clear that when
by the network industry and considering tunneling transition
is expected to have a gradual mechanisms, they will contribute
transition period that will see the Figure 3: Dual Stack Illustration (9) to degraded performance for IPv6,
IPv6 protocol running along side since IPv6 packets have to be
of the IPv4 protocol (5) for a while. encapsulated in IPv4 packets and
Initially, there will be a small number of network node. When used in the end suffer the additional overhead.” (10)
IPv6 systems (IPv6 Island) that will need system, it becomes possible for IPv4 and
to communicate with a large IPv4 Internet IPv6 applications to operate at the same A third research study evaluated
(IPv4 Ocean). Eventually, however, the time. When used in the network node, both various transition mechanisms on various
Internet will be largely an IPv6 network IPv4 and IPv6 packets can be transmitted operating systems (11) and found evidence
(IPv6 Ocean) with a small IPv4 Island. by the system. to support the following three hypotheses
Then ultimately, the Internet will be fully that they began with:
Tunneling, involves encapsulating an
IPv6.
IPv4 address in an IPv6 packet, and is itself • Hypothesis 1: There are
The dilemma with this gradual broken into several distinct mechanisms. performance differences between
transition from IPv4 to IPv6 is that the One source identifies the following three different IP version 4 and IP
two versions are not interoperable, thus tunneling mechanisms (9): version 6 transition mechanisms.
essentially making them two separate
• IPv6 over IPv4 • Hypothesis 2: Different IP
Internets. Therefore when the two need
to communicate with each other some version 4 and IP version 6
• IPv6 to IPv4 Automatic Tunneling
sort of transition mechanism must be transition mechanisms perform
in place. Fortunately, the IETF foresaw • Tunneling Broker differently on various Operating
this as well and formed the IETF Next Systems.