SlideShare a Scribd company logo
1 of 44
Download to read offline
An AUTOMATED TESTING INSTITUTE Publication - www.automatedtestinginstitute.com




Automated .......
S    T



  A
     oftware                                    esting
                                             December 2011 $8.95
                                                                            MAGAZINE




             Automated
         M obile
                                           esting
                                                                               Cost Effective
                                                                           Test Management
                                                                           Develop a HomeGrown
                                                                            Managment Solution



                                                                                   Surviving
                                                                                  Obfuscation
                                                                                 How To Automate
                                                                                 Obfuscated Code




  Test Management Getting Crowded: Crowdsourcing Inspires New Tool
A Sotera Defense Solutions Company


  If you’re looking to thrive in a diverse and vibrant professional team, we’re looking for you!
                       Submit your resumé to staffing@spt-inc.com today!

                          Through the SPT PromiseTM, we’ve made a commitment to value our employees, to be
                          understanding and supportive of individual needs and to provide opportunities for
                          career growth. We value and appreciate our employees for the work they do for us
                          as a company and for the clients’ mission.

                          SPT partners with client organizations to design, develop, implement and deploy
                          high-end, custom, technology-based solutions by integrating existing and emerging
                          concepts. Positions are available for professionals looking for exciting and rewarding
                          challenges with significant impact to ongoing missions. Openings include:
                                 • Software Engineers                     • Systems Engineers
                                 • Configuration Managers                 • Systems Administrators
                                 • Systems/Software Testers

                          Most positions require an active TS/SCI clearance
                          with full scope or CI polygraph.
                          SPT is EOE, M/F/D/V.
                                                                                                  .com
                                                                                             t-inc
                                                                                         w.sp
7230                                                                      5          • ww
       Lee D                                                          -221
            efores                                               1-854
                   tD   rive, Suite                        6 • 30
                                    100 • Columbia, MD 2104


                    Our promise is to ensure we are committed to continued exellence and success for our clients’
                    mission. We are devoted to doing what is right for our company, our partners, and our
                    employees to best serve our community and country.
                                    © 2011 Software Process Technologies, LLC. (SPT). All rights reserved.
Automated
S    T
   oftware                   esting
December 2011, Volume 3, Issue 5



Contents
Cover Story
Mobile Automated Testing                                                        19
For many, mobile devices are fast becoming the computing environment of choice. With so many different devices
and new ones emerging all the time, it’s infeasible to conduct sufficient testing for each, manually. But how will
test automation need to adjust from the PC to mobile? Read this article to find out. By Patrick Quilter



Features
Obfuscation: Avoiding Friendly Fire in the Battle for Security 12
How do we handle application dynamics introduced by security measures such as obfuscation? Read this article to get strategies for
handling this challenge that results in modern computing.    By Dion Johnson


“Integrating MS Office For Cost-Effective Test Management 26
Need a cost-effective test management solution? Read this article as Tom Wimsatt identifies key test management features, as well as a
step-by-step approach for using common Windows desktop software for creating a tool customized to your needs.              By Tom Wimsatt




Columns & Departments
Editorial               4                                             I ‘B’Log To U 38
The Mobile Evolution                                                  Enjoy a testing comic strip that is funny and informative.
How mobile technology effects test management and
automated test execution.                                             Go On A Retweet 40
                                                                      Read featured microblog posts from the web.
Authors and events                              6
                                                                      TestKIT is Hot! 42
Learn about AST authors and upcoming events.
                                                                      The KIT is Koming
                                                                      Learn what this year’s conference has to offer.
Open Sourcery                        8
                                                                       The Automated Software Testing (AST) Magazine is an Automated Testing
Test Management is Getting Crowded                                                           Institute (ATI) publication.
How Crowdsourcing and the Mobile Revolution Have                                  For more information regarding the magazine visit
Inspired The Birth of a New QA Tool                                           http://www.astmagazine.automatedtestinginstitute.com




   December 2011                           www.automatedtestinginstitute.com            Automated Software Testing Magazine                    3
Editorial

The Mobile Evolution
by Dion Johnson
Many computing technologies have been
introduced over the years and with them,
new approaches for test implementation.
Linda Hayes wrote a great article called
the “Evolution of Automated Software
Testing” that was published in Volume
1, Issue 1 of the Automated Software
Testing Magazine; her article chronicled
the evolution in computing from
Mainframe dominance all the way up
to the Internet taking center stage. Each
evolutionary phase was accompanied by
a test automation evolutionary response
that highlighted the changes to how test
automation was conducted in order to
keep pace with the shift in the computing
world at large.

The computing world is at the beginning
of a new computing sea change, and
I have no doubt that there will need to          ...efficient test management is no longer
be a major evolutionary response to this
change in the world of test automation.                          just a luxury.
The sea change will move us further into      test management is no longer just a           Quilter discusses tools for managing
the world of mobile technology, and the       luxury. Many organizations have gone          mobile device test cases.
move is likely to happen faster than any      without any real approach or tool for test
of the other computing paradigm shifts        management, with the excuse that such         Next, Tom Wimsatt reveals an approach
to date – evidenced by the faster than        an approach or tool would be overkill for     for implementing a homegrown test
expected depletion of IPv4 addresses that     the way they do testing. With increased       management solution in his article
has forced us quickly into the world of       test complexity, however, and teams that      entitled, “Integrating MS Office for Cost-
IPv6 (see AST Volume 3, Issue 1).             may span multiple organizations, and/or       Effective Test Management”. In addition
                                              continents, test management is becoming       to identification of key test management
Mobile technology has introduced new
                                              increasingly important. Another item          features, Wimsatt provides a step-by-step
devices, new types of software and a whole
                                              that we must come to grips with is how        approach for using common Windows
host of new challenges for testing and test
                                              automation of our test execution will be      desktop software for creating a tool
automation. In the past we were largely
                                              changed by the mobile evolution. This         customized to your needs.
concerned about adjusting to a world in
                                              issue of the Automated Software Testing
which setting up lab environments to test                                                   In the second feature, Dion Johnson
                                              Magazine is the first of many to come
multiple versions and configurations of a                                                   (yours truly) shifts gears slightly to offer
                                              that focuses on these items and more.
handful of browsers was the challenge.                                                      strategies for handling another challenge
That’s nothing compared to the 100s,          In our cover story entitled, “Mobile          that results in modern computing: the
maybe 1000s of mobile devices and             Automated Testing”, Patrick Quilter           challenge posed by security measures
configurations that may be running your       provides a look into how the explosion        such as obfuscation. Obfuscation often
organization’s mobile application (app)!      of mobile device usage has affected
                                                                                            results in dynamic UI properties that
We need to quickly come to grips with         the current day implementation of test
                                              execution automation. He discusses how        render an application non-automatable.
what this means for testing and the tools
that aid our testing.                         traditional tools and strategies can be       In this article entitled, “Obfuscation –
                                              used for mobile app automation with a         Avoiding Friendly Fire in the Battle for
One thing this technological shift            little assistance from simulators, but also   Security”, he provides useful mechanisms
means is that we need to come to grips        addresses test execution automation on        for creating stable automated scripts on
with the fact that structured, efficient      the actual mobile devices. In addition,       an unstable application.

4   Automated Software Testing Magazine              www.automatedtestinginstitute.com                               December 2011
Training That’s Process Focused Yet Hands On
Software Test Automation Training
        www . training . automatedtestinginstitute . com




                                   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




                   Come
           participate in a set
      of test automation courses
    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.




       Public and Virtual Training Available
Authors and Events

Who’s In This Issue?
                      Patrick Quilter Jr. has earned a Bachelor
                      of Science in Computer Science & Mathematics, a
                                                                                    Automated
                                                                                    S    T
                                                                                       oftware               esting
                      graduate certificate in Homeland Security Technology
                      Management, and is in the process of acquiring a
                                                                                    Managing Editor
                      Master degree in Technology Management. Patrick
                                                                                    Dion Johnson
                      has been an automation architect for a number of large
                      companies such as Travelers Insurance, Computer               Contributing Editor
                      Science Corporation (CSC), and GEICO. While at                Donna Vance
                      Travelers Insurance, Patrick received the company’s           Edward Torrie
Outstanding Achievement Award for an R&D solution that programmatically
generated business test cases for automated regression execution. Patrick           Director of Marketing and Events
has also worked as a test consultant providing tools architecture and process       Christine Johnson
guidance for both commercial organizations and federal government
agencies. After 10 years of experience and continued development, he is
in the process of patenting a cloud based, automation framework that’s               A PUBLICATION OF THE AUTOMATED
been configured with many popular automation engines. He is currently
employed as a lead automation architect while also assisting organizations
through Quilmont LLC, a test process consulting company and cloud based,
test automation service provider.

Tom Wimsatt is an ISTQB/ASTQB Fully
Certified Advanced Tester with Software Process
Technologies, Inc. A Sotera Defense Company in                                      CONTACT US
                                                                                    AST Magazine
Columbia, Maryland. He has been in the field of
                                                                                    astmagazine@automatedtestinginstitute.com
testing for more than 20 years beginning in the Parts
Analysis labs with NASA at Goddard in Maryland.                                     ATI Online Reference
The last ten years he has been concentrating on testing                             contact@automatedtestinginstitute.com
software specializing in tools and automated test
development. He can be reached at: TomWimsatt@wimsatt.truepath.com

                       Dion Johnson has several years of experience
                                                                                    ATI and Partner Events
                      in providing IT services to both government and
                      private industry. With a Bachelor of Science degree           January 1 2012
                      in Electrical Engineering, he has spent much of his           TestKIT 2012 Conference Call
                      professional career as a consultant in the areas of quality   For Presentations Opens
                      assurance (QA), quality control (QC), software process
                      improvements, requirements analysis and software
                                                                                    April 1, 2012
                      test automation. As a regular conference speaker              4th Annual ATI Automation
and presenter, Dion has delivered award winning and highly acclaimed                Honors Awards Nominations
presentations at many of the most prestigious industry conferences, including       Begin
                                                                                    www.atihonors.automatedtestinginstitute.com
the StarEast and StarWest International Conference on Software Testing,
Analysis and Review, and the Quality Assurance Institute Conference. He
                                                                                    Fall 2012
also teaches college level classes relative to testing and test automation, and
has several published articles in various IT publications.                          TestKIT 2012 Conference




6    Automated Software Testing Magazine               www.automatedtestinginstitute.com                             December 2011
K
                The KIT is Coming
                gnimoC si TIK ehT
                gnimoC si TIK ehT




                                    Fall
                                   2012
                  http://www.testkitconference.com




December 2011        www.automatedtestinginstitute.com   Automated Software Testing Magazine   7
Open Sourcery

Test Management is Getting
Crowded
How Crowdsourcing and the Mobile Revolution Have Inspired The Birth of a
New QA Tool

    A few years ago, the                                                                                      uTest customers seeking
open source alternatives                                                                                      to have their software
for test management                                                                                           tested    in     diverse,
were pretty sparse. The                                                                                       realistic environments.
bug tracking portion of                                                                                       Matt Johnston, CMO
test management didn’t                                                                                        of uTest, referred to
lack     for    automated                                                                                     this type of testing as
tools, but not very many                                                                                      “in the wild testing”.
tools filled the needs                                                                                        It was this “in the wild
for features such as test                                                                                     testing” along with
case       administration,                                                                                    the large number of
assigning work, status                                                                                        clients involved in
tracking, reporting, and                                                                                      mobile application (app)
other key elements of test                                                                                    development that helped
management. This is far                                                                                       to lead to the decision
from being the case now,                                                                                      to create a new test
as there are several viable                                                                                   management tool.
open source solutions                                                                                             Johnston explained
for test management.                                                                                          that once it was clear that
Among the most popular                                                                                        a test management tool
tools are TestLink and                        announcements were not only intriguing
                                                                                             was necessary to better administer the
XStudio. XStudio isn’t completely open        due to the fact that several open source
                                                                                             testing process, they polled nearly 1000
source, but is free and has some open         test case management tools already exist,
                                                                                             of their customers to get a feel for what
source elements. There are many more          but also because uTest indicated in these
                                              announcements that they were partnering        solutions were being used. The feedback
open source test management tools
                                              with Mozilla to produce this new offering.     revealed that the test management
besides these two, however, including
                                              That’s right! They were partnering with        market was extremely fragmented.
RTH (Requirements Testing Hub),
                                              the maintainers of Testopia, an already        Small companies often didn’t use test
Salome-TMF, and Testopia. Testopia is
                                              available open source test management          management tools at all, while larger
an open source test case management
                                              tool. AST reached out to uTest to get          companies felt their solutions – whether
extension for Mozilla’s open source bug
                                              some answers.                                  commercial or open source – had serious
tracker, Bugzilla. Given this existing list
                                                                                             deficiencies. Ultimately, while most of
of available tools, we were intrigued             uTest describes themselves as “the         their customers were happy with the bug
to hear of a new test management tool         world’s largest marketplace for software       tracking systems they each employed,
known as CaseConductor entering this          testing services.” With a community
already crowded space. A company                                                             there was little consensus on the most
                                              of 45,000+ professional testers from
known as uTest announced in April that                                                       satisfactory test case management tool.
                                              180 countries around the globe, they
they’d be developing a new test case                                                         When asked specifically about tools
                                              are founded on a crowdsource testing
management system (http://www.utest.                                                         such as TestLink and XStudio, Johnston
                                              business model that involves a number of
com/press/utest-announces-partnership-                                                       indicated that his customer base gave
                                              different testers from different places as
mozilla-build-test-case-management-                                                          little feedback on these at all.
                                              opposed to in-house consultants. Testers
system), an announcement that came            sign-up with uTest and complete a                 Open source tools such as TestLink
to fruition on October 25, 2011 as            technical profile indicating their technical   and XStudio were, however, evaluated
they announced the release of the             expertise, along with the platforms,           by uTest, along with many commercial
beta version of this system known as          environments and/or devices they have          tools and, according to Johnston, some
CaseConductor (http://blog.utest.com/         access to. These testers are then enlisted     key elements necessary for uTest’s
utest-and-mozilla-release-beta-version-       for testing assignments as necessary           approach for doing business were
of-caseconductor/2011/10/).         These     when their profiles meet the needs of          missing. One of the key elements that

8   Automated Software Testing Magazine              www.automatedtestinginstitute.com                                December 2011
Open Sourcery

was lacking was the ability to adequately        the beta release, CaseConductor was                   regression tests.
handle remote collaboration. For any             developed with the following three core           3.	 Simple interface – The producers
given testing project, uTest may have            values:                                               of CaseConductor set out to keep
testers from all around the world plus              1.	 Community-oriented – Allow                     the tool as accessible and simple
testers from a client’s company (for which              dynamic distribution of test cases             as using Word or Excel since those
the testing is being conducted) involved                across different user roles. With              are the tools being used to manage
in test implementation. Tests or even test              CaseConductor, your testing                    test cases for a big chunk of the
steps may need to be assigned to various                team can be a combination of                   market. Test cases libraries have
testers in different locations, testers may             your internal QA members, open                 the potential to be quite large, but
need to be able to communicate with                     source testers and uTesters – all              the UX has been streamlined to
one another, and status may need to be                  of whom can execute test cases                 keep assignments and results on
appropriately tracked. Another missing                  simultaneously. Essentially, you               one screen.
element that the CMO identified was the                 can create an unlimited testing
ability to appropriately handle a more                                                              Currently, there is no integration
                                                        team using a single interface.          with functional automated test tools, but
fluid, agile style of testing. uTest has a lot
of customers that develop mobile apps,              2.	 Environment coverage – In               according to Johnston, conversations have
which Johnston says requires a different                today’s software ecosystems,            already begun with organizations that are
testing approach than that employed for                 almost every product needs to           interested in developing integrations with
larger, more monolithic applications.                   support an enormous testing matrix      it. AST will keep an eye out for this and
                                                        consisting of OS versions, device       will also be listening to the automation
    For these reasons and others uTest felt             makers, languages, locations            community to find out how well you all
that a new tool was necessary, and upon                 and more.         CaseConductor’s       receive CaseConductor into the fold of
working with uTest customer Mozilla, the                design     around      environment      test management solutions.
makers of the popular Firefox browser, it               attributes allows testers to easily
was found that they had many of the same                and visually specify complex                 Wait! There’s More!
test management needs that apparently                   compatibility test metrics and
weren’t being filled by Testopia or any                 select those high priority test cases          For more information on
other tool. uTest and Mozilla decided                   for quicker and more targeted                  CaseConductor, visit the
to work together to create a new test                   compatibility testing. The goal               CaseConductor repository at
management solution that culminated into                for CaseConductor was to enable                https://github.com/mozilla/
what is now known as CaseConductor.                     testing managers to improve their               caseconductor-platform/
   According to the announcement of                     product coverage when doing full




Training That’s Process Focused Yet Hands On
Software Test Automation Training
                 www . training . automatedtestinginstitute . com

                                                   Public Courses
                                     Software Test Automation Foundations
                                    Automated Test Development & Scripting
                                    Designing an Automated Test Framework
                                Advanced Automated Test Framework Development
December 2011                              www.automatedtestinginstitute.com             Automated Software Testing Magazine             9
10 Automated Software Testing Magazine   www.automatedtestinginstitute.com   December 2011
We have 203 guests online




      December 2011         www.automatedtestinginstitute.com   Automated Software Testing Magazine   11
Obfuscation
Avoiding Friendly
Fire in the Battle
for Security
by
Dion Johnson




12 Automated Software Testing Magazine   www.automatedtestinginstitute.com   December 2011
“Obfuscation is not the first technique employed to protect
  code from those that wish to reverse engineer or tamper with
 it, but is instead another weapon used in a long battle between
programmers and those that seek to use or access the programs
                               in unintended, undesirable ways.”
Obfuscated Code - Obfuscated code is source or machine code that has been made difficult to understand for humans.
Programmers may deliberately obfuscate code to conceal its purpose (security through obscurity) or its logic to prevent tampering,
deter reverse engineering, or as a puzzle or recreational challenge for someone reading the source code.
                                                                               http://en.wikipedia.org/wiki/Obfuscated_code




                               C
                                            yber security and the ability to protect code from being reverse engineered have become
                                            increasingly important as the threats of a system being reverse engineered or compromised
                                            have exploded over the years. It is widely accepted that the risk of these threats cannot
                                            be eliminated, but can be greatly reduced by making application code more obscure and
                                 costly to decipher in an effort to deter the act of reverse engineering. Increasingly, a method known
                                  as obfuscation is being employed to make the code more obscure.
                                   In general, obfuscation is the practice of making something more confusing, unclear, and/or
                                    difficult to understand. This same definition applies to obfuscated code as well. Obfuscated
                                     code is code that has been modified, typically by a program known as an obfuscator, to
                                       be more convoluted and difficult for humans to understand and follow its behavior. The
                                        obfuscated code is functionally indistinguishable from the original code, but the details
                                          surrounding the implementation of those functions have changed.
                                            Obfuscation is not the first technique employed to protect code from those that wish
                                             to reverse engineer or tamper with it, but is instead another weapon used in a long
                                              battle between programmers and those that seek to use or access the programs in
                                                unintended, undesirable ways. Unfortunately, it is often the software automator
                                                 that gets caught in the cross fire from this never ending battle, particularly when
                                                  the obfuscation affects an application’s user interface (UI). When obfuscation
                                                    affects an application’s UI, test automation is severally impacted because these
                                                     tests depend on a certain degree of consistency and/or predictability in how
                                                       UI elements are referenced. Turning to Figure 1 allows us to look at three
                                                        commonly exercised elements: a Username textbox, Password textbox and
                                                         a Login button. Automated tests identify these three elements by property
                                                          values that have been assigned to them in the application code.
                                                           For example, each object may have an ID property that defines it. The
                                                            username textbox may have an ID equal to ‘uname’, the password
                                                             textbox may have an ID equal to ‘pword’, while the Login button may
                                                               have an ID equal to ‘Login’. These property names are descriptive
                                                                and probably fairly constant, thus helping the page remain relatively
                                                                 automatable and maintainable. An obfuscated UI will likely change
                                                                  these IDs in a manner that will negatively affect their ability to be
                                                                   consistently accessed by automated tests.
                                                                      Table 1 and Figure 2 reveal how the ID properties may be
                                                                       affected by obfuscation. Not only do the properties follow no
                                                                        set pattern, they may change from build to build or as often
                                                                       as each time the application is invoked.

December 2011                          www.automatedtestinginstitute.com            Automated Software Testing Magazine             13
•	   Pre-obfuscation automation
                                                                                          •	   Label-based identification

                                                       ID property = ‘uname’              •	   Obfuscation map utilization

    labels                                                                                •	   Image-based automation
                                                       ID property = ‘pword’
                                                                                        Pre-obfuscation Automation
                                                                                      Probably the most obvious solution to
                                                       ID property = ‘Login’          dealing with obfuscated code is to…
                                                                                      well…not deal with obfuscated code.
                                                                                      Since obfuscated code is typically the
                                                                                      product of a baseline set of code being run
                                                                                      through an obfuscator, it stands to reason
 Figure 1: Login Screen
                                                                                      that automation be performed on the code
                                                                                      prior to it being obfuscated. Some take
                                                                                      umbrage with this solution because it
                                                                                      is testing of a code base that is different
                                                                                      from that which goes into production.
                                                                                      In his blog, Nick Olivo, frequent ATI
     Object           ID First Accessed             ID Second Accessed                contributor, takes aim at this criticism:
       User               erlwlkjf4                       askflaf6                       “I would think that obfuscation would
    Password              pewtlj90                        aasksj2                        impact any tests that were run after
                                                                                         the obfuscation process. So is it safe
      Login                alsjfafs3                      aljfljlaj5                     to say that companies who employ
                                                                                         unit tests must be running those tests
 Table 1: Obfuscated Properties                                                          prior to the obfuscator running? If so,
                                                                                         should the manager be concerned
                                                                                         that the unit tests were run against
                                                                                         non-obfuscated code?
                                                                                         Obfuscation would also prevent
                                                                                         any other type of post-build white
                                                                                         box testing; so any tools I've written
                                                                                         that call methods directly from dlls
                                                                                         or invoke web service calls would
                                                                                         be stopped dead. So what's the best
                                                      ID property = ‘erlwlkjf4’          solution here? Is it to do the bulk of
    labels                                                                               your automated testing against non-
                                                                                         obfuscated code and then do manual
                                                      ID property = ‘pewtlj90’
                                                                                         sanity checks against an obfuscated
                                                                                         build? Or is there a better way that I'm
                                                                                         not seeing?”
                                                     ID property = ‘alsjfafs3’             (http://autonomicon.blogspot.com/2009/02/
                                                                                                             obfuscation-question.html)


                                                                                           Label-Based Identification
 Figure 2: Obfuscated Login Screen                                                    Obfuscation is typically a process that is
                                                                                      transparent to the user of an application.
                                                                                      Therefore, while much of the code is




T
                                                                                      changed during the obfuscation process,
                                                                                      items that we may reasonably expect to
                                                                                      remain stable are text-based UI labels,
                his type of UI instability has brought down many test automation      along with their relationship to fields on
                efforts, because it makes the test automation un-maintainable,        a page. For example, Figure 2 has two
                particularly as the automated test bed grows.                         text boxes, each preceded by a label that
                                                                                      provides information to the user on how
                There are several proven techniques, however, that may be             those textboxes should be used. The labels
                employed to provide cover for test automation when development        are not necessarily directly linked to fields
                injects obfuscation into the coding battles against hackers and the   that they describe, but there is normally a
                like, including:                                                      pattern for assigning labels to fields. Once

14 Automated Software Testing Magazine         www.automatedtestinginstitute.com                                    December 2011
is moved around the screen and/or its
  table row 1,                                                 table row 1, column 2           properties change.
    column 1
                                                                                               Cell-based identification is useful when
                                                                                               the page objects are contained within a
                                                                                               table. Provided that each label/field pair is
                                                                                               contained within cells separate from other
                                                                                               label/field pairs, the cell configuration
  table row 2,                                                                                 may be used for uniquely identifying a
    column 1                                                   table row 2, column 2           field.
                                                                                               The first step in making this work is to
                                                                                               programmatically locate the label that is
                                                                                               associated with the desired field on the
 Figure 3: Cell-based Object Identification                                                    screen, and then get the table cell in which
                                                                                               the label exists. Based on the pattern used
the pattern is identified it can be assessed   Thus, gathering all of the page’s objects       in the application for storing label/field
and used for object identification by an       into an array named pageElementArray,           pairs, the label cell information will be
automated test at run-time.                    would produce an array or collection with       used for uniquely identifying the desired
                                               the following items:                            field. For example, if the label typically
Three approaches for using labels to
                                                                                               exists in the same cell as its associated
uniquely identify fields are:                    pageElementArray[0] = Username label          field, then code can be written to get the
    1.	 Location-based identification            pageElementArray[1] = erlwlkjf4 textbox       child textbox of the same cell element in
    2.	 Cell-based identification                pageElementArray[2] = Password label
                                                                                               which the label exists. If the field typically
                                                                                               exists in the same row, but an adjacent
    3.	 Property-based identification            pageElementArray[3] = pewtlj90 textbox        column of the label, as illustrated in
                                                 pageElementArray[4] = alsjfafs3 button        Figure 3, code can be written to get the
Location-based identification initially                                                        child textbox element of the adjacent cell.
seems closely linked to the volatile           Upon looping through the array or
coordinate-based automation approach                                                           In a roundabout way, the cell-based
                                               collection of objects and locating the
that we’ve been taught to steer clear of.                                                      approach is dependent on location,
                                               desired label, the automation loop can
Despite appearances, however, it is not                                                        because you’re expecting the field to be in
                                               be set to return the very next item in the
the same thing, but is instead a much more                                                     a location relative to its associated label.
                                               array or collection that is a textbox. So,
stable approach to identifying application                                                     The third label-based approach, property-
                                               if the automated test needs to access the
fields. Location-based identification                                                          based identification, is the only label-
                                               ‘Password’ textbox without using the
using labels is based on the stability of                                                      based approach that is not dependent
                                               dynamic ID property that is currently
the label names and the pattern used by                                                        on location at all. This approach is most
                                               equal to ‘pewtlj90’, it would simply
programmers for coupling labels with                                                           useful when the label element has an
                                               loop through the array of objects and
fields, which is a more robust approach                                                        attribute that is directly tied to an attribute
                                               find the ‘Password’ label. Upon find the
than using the actual position of an object                                                    of its corresponding field.
                                               ‘Password’ label at array item 2, the loop
on a screen.                                   - which has been set up to return the very      For example, a label may have a NAME
Location-based identification first requires   next array item that is a textbox - will        attribute that is identical to the ID attribute
that your test automation approach provide     return array item 3, which is the ‘pewtlj90’    of its corresponding field, as illustrated in
a mechanism for obtaining all fields on a      textbox. Provided that the label name text      Figure 4. In this situation, automated test
page into an array or collection, based on     remains constant, the associated field          code can be written to programmatically
the order in which those objects appear        can be found even if the field (and label)      obtain the desired label based on its label
on the screen. For web pages, the “all”
document object model (DOM) method                NAME property = ‘erlwlkjf4’
makes this possible. If you are using xpath
for web object identification, “//*” will
do the trick. Once the objects are stored                                                                     ID property = ‘erlwlkjf4’
in an array, a loop may be established to
traverse that array or collection in search                                                                   ID property = ‘pewtlj90’
of a label element with the desired label
text. Then, based on the pattern identified
for coupling labels with fields, the desired                                                                 ID property = ‘alsjfafs3’
field can be identified. For example, the
application screen represented in Figure
2 has its fields preceded by labels that          NAME property = ‘pewtlj90’
represent that field, evidenced by the fact
that the ‘Username’ label precedes the          Figure 4: Property-based Object Identification
textbox used for entering a username.
December 2011                             www.automatedtestinginstitute.com               Automated Software Testing Magazine              15
text, and then get the NAME property           (TABOK) Guidebook describes Image-
associated with that label. The automated      based automation as follows:



                                                                                                C
code can then be instructed to find the           …often based on Virtual Network
field with an ID property that is equal to
the label NAME property that has been
                                                  Computing (VNC), [an image-based
                                                  automation tool} relies on image
                                                                                                           ontribute
captured.                                         recognition as opposed to object




                                                                                                C
Upon identifying the appropriate label-           recognition (Context Sensitive) or
based approach, functions and/or methods
can be created to perform the necessary
                                                  coordinate recognition (Content
                                                  Sensitive).                                     ontent
computations in a way that is seamless to      VNC-based tools follow the two-



                                                                                                T
the design time test automation process.       computer system, with the automated
The automators would simply need to
use a field’s associated label text for
                                               tool residing on the client machine and
                                               functioning as the VNC client. The server
                                                                                                  oday
identification of that field as opposed to     machine on which the AUT is installed
properties directly related to the desired     will run a VNC server that communicates
field.                                         with and transmits images to the VNC
                                               client. These tools, therefore, recognize
          oBFUSCATION mAPS                     application objects based on analysis of
                                               the transmitted images.
At times, when code is passed through                                                                   Community
an obfuscator, in addition to outputting       This mode is more closely related to
                                               context sensitive automation than content
                                                                                                       Comments Box
the obfuscated code an obfuscation map
may also be produced. This map provides        sensitive, because it is not completely
a direct relationship between old property     coordinate-based. These images may still
values and the new property values of          be located if they are moved to a different
application fields and other elements. If an   screen position or if their internal
obfuscation map is not produced, you may       properties change. Thus, image-based                  Announcements &
be able to request that the development        automation can be useful for handling                    Blog Posts
team modify the obfuscator to produce          applications that utilize obfuscation.
such a resource, because it could be
invaluable. With an obfuscation map, a                      cONCLUSION
utility can be written to synchronize the
                                               Obfuscation is a battle between software
object information used by the automated
                                               producers and their enemies, and if testing
scripts with the new object information                                                                   Automation
                                               suffers, ultimately the software producer
in the application prior to or during script
                                               suffers. Follow the approaches defined                       Events
execution.                                     in this article to avoid being a casualty
                                               of obfuscation or any other development
     IMAGE-Based AUTOMATION                    approach that injects instability in the
The Test Automation Body of Knowledge          application UI field properties.
                                                                                                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.


                                                                                               Learn more today
                                                                                                      at

                                                                                             http//www.about.automatedtestinginstitute.com




16 Automated Software Testing Magazine                www.automatedtestinginstitute.com                                December 2011
December 2011   www.automatedtestinginstitute.com   Automated Software Testing Magazine   17
18 Automated Software Testing Magazine   www.automatedtestinginstitute.com   December 2011
A           Automated
                                                                                                       Mobile Automation




      M obile
                                                     esting
With Traditional Tools & Beyond
                                                     by   Patrick Quilter


Has consumer demand already chosen mobile devices to replace the personal computer?
Will traditional webpage design with drop downs and text boxes lose ground to mobile
touch screen data entry? Will everything we know about creating automated tests for
applications change because of mobile devices? Don’t abandon your old automation
frameworks just yet. You’ll still need them to expand into the untamed world of automated
mobile testing.
Mary Meeker, a renowned Internet analyst with Morgan Stanley, highlighted the significance
of mobile consumer demand in her latest “State of the Internet” report. Meeker predicted
that within the next five years, “more users will connect over mobile devices than desktop
PCs.” Since 2010 the trend of smartphone shipments outpacing PC shipments continues
to surge and gives credence to Meeker’s forecast (Ingram, 2010). Anyone can see that
a multitude of organizations have already embraced this technology swing by developing
applications explicitly to establish a mobile presence. Recognized companies continue to
offer free or inexpensive apps for both business and entertainment purposes.


While having a mobile presence is significant for organizations,
it is also becoming imperative to have stable applications and mobile
                                                                                    “Simulators on
websites.    PhoCusWright conducted an 800 participant survey to evaluate           Windows or Macs
user tolerance for buggy mobile software. The survey revealed that 37% of
smartphone users indicated that they would be less likely to use that particular    allow teams to employ
application again and 28% indicated that they would seek out competitor
applications (Leggatt, 2010). These facts illustrate the importance for sound       traditional automation
application development practices and the ability to automate test cases. With
so many different devices and new ones emerging all the time, it’s infeasible
                                                                                    engines like Quick
to conduct sufficient testing for each, manually. Automation’s luster is the
ability to execute large volumes of repeatable scenarios that a person could
                                                                                    Test Professional or
not undertake manually.                                                             Selenium”
December 2011                            www.automatedtestinginstitute.com         Automated Software Testing Magazine   19
To Simulate or Not to Simulate                   software under development is going           device transactions has spurred the growth
                                                 to be application based or web based?         of application development service
A typical beginning for application
                                                 If application based, functionality will      providers. A capable service provider will
development teams journeying the path
                                                 vary depending on device platform such        offer an on-demand testing infrastructure,
of mobile testing is to create automated
                                                 as iPhones, Androids, Blackberries, and       multiple devices, and automated scripting
scripts that execute on desktop simulators.
                                                 Windows.       Although some solutions        capabilities.
A simulator has the same look-and-
                                                 are materializing to allow developers         In terms of mobile testing this type of
feel of a mobile application displaying
                                                 the ability to create one codebase that       service is invaluable because it accounts
on a device, however, it executes on a
                                                 deploys over multiple devices (regardless     for all major strategic characteristics
desktop operating system. Teams utilize
                                                 of iPhone, Android, etc.) the typical         under one solution. But what specific
a simulator by constructing business
                                                 approach is to maintain a separate            service provider existing today offers all
flow, user designs, and verifying basic
                                                 codebase per platform. A savvy tester         of this?
functionality of their applications.
                                                 will see the vulnerability in maintaining
Simulators on Windows or Macs allow
                                                 multiple codebases. This implies multiple
teams to employ traditional automation
                                                 builds to verify.
                                                                                               Meet Keynote
engines like QuickTest Professional or                                                         DeviceAnywhere
Selenium to create test cases.                   Device manufacturers and operating
                                                                                               A great example of this type of service
                                                 systems have the biggest impact on
Although using a simulator adds                                                                provider is a company called Keynote
                                                 how applications function even across
value to an application development                                                            DeviceAnywhere       headquartered     in
                                                 the platform families. For example, the
practice, verifying functionality is                                                           San Mateo, California.           Keynote
                                                 HTC EVO and Samsung Galaxy are both
limited. Neglecting to conduct tests on a                                                      DeviceAnywhere helps organizations of
                                                 part of the Android family, however, the
physical device causes vulnerabilities to                                                      all sizes bring their products, services,
                                                 same application installed on them could
application performance. This realization                                                      and IT applications to a mobile platform.
                                                 function differently. The reason for
has its drawbacks. For one, the list of                                                        Their cloud-based solution hosts a phone
                                                 this is the manufacturer can manipulate
popular devices is growing rapidly, and                                                        bank of over 1000 real devices that are
                                                 how processing, GUI rendering, and
testing must occur for all devices on                                                          used for mobile application testing, test
                                                 form factors affect execution on their
the list. Secondly, how do application                                                         automation, monitoring, and development
                                                 devices. Web based functionality is more
development teams execute test cases                                                           worldwide. This is possible through
                                                 straightforward because developers and
outside of the PC-based automation tools?                                                      their award winning, end-to-end studio
                                                 testers converge on a single deployment
Are there any strategies to handle these                                                       platform that cuts operational expenses
                                                 of code to a server. Configuration settings


 A capable service provider will offer an on-demand testing
  infrastructure, multiple devices, and automated scripting
                          capabilities.
                                                 determine functionality based on the
challenges?                                                                                    and time associated with testing mobile
                                                 device a user connects with to the mobile
                                                                                               applications (HP/KDA datasheet, 2009).
                                                 website. Normally, functionality across
What’s the strategy?                             product families will work the same.
The most challenging aspect of an                Although not a guarantee, testing a mobile    Accessing the Environment
automation strategy is devising a practice       website with an HTC EVO and Samsung           Keynote DeviceAnywhere users first
that optimizes test case execution across        Galaxy that is running the same version of    gain access by logging into a web-based
multiple devices. Ideally we’d like to           Android should produce the same results.      portal that provides a management
craft a single test case that can execute        Testing just one of them would most likely    dashboard, training information, and
on multiple devices, otherwise we would          be sufficient. The device carrier is also     links to support resources. From there,
have to maintain a separate copy of each         significant when considering a strategy for   the user downloads the client-side
test case, per device. Test sets (a collection   both mobile applications and web based        software onto their individual desktop to
of test cases that compose a test plan)          software. Network speeds and protocol         experiment with the actual devices. This
would become maintenance intensive               restrictions are common performance           gives them a window into the Keynote
over time without this reuse capability.         hinderers for mobile software. The key        DeviceAnywhere devices hosted in the
Mobile devices cause a significant amount        for any organization will be how to turn      cloud. A visual representation of the
of variation for development and testing         the strategy into reality.                    physical device displays once the user
efforts. First, is the question of whether       Luckily consumer demand for mobile            acquires a device. Users can license any


20 Automated Software Testing Magazine                  www.automatedtestinginstitute.com                              December 2011
K
           The KIT is Coming




                If you thought ATI’s 2011 event was
                     good, wait until you see 2012.
                   http://www.testkitconference.com


December 2011         www.automatedtestinginstitute.com   Automated Software Testing Magazine   21
Most tools rely on open and published APIs to obtain the
    discrete properties of a control. Mobile platforms do not
    provide the traditional APIs, rendering your favorite tools
                         useless in mobile
of the hosted Keynote DeviceAnywhere          developed for one device it can be cloned      script-less actions correspond to these
devices upon request. Acquiring devices       to run on multiple devices. It’s script-       screen interaction properties.
is an important concept because team          less because automation steps are created      Walking through an example, a user
members can share and schedule times          by dragging and dropping icons which           developing a script for an iPhone will first
for when they want to test on particular      are preset to perform specific actions.        acquire the device and is then presented
devices.                                      Stringing together a series of icons           with a window view of the iPhone next
Once a device has been acquired, the user     produces a whole test case.                    to a blank execution grid. This tells the
can control all aspects of the physical       For users that are familiar with traditional   scripting component that the particular
device through mouse clicks and keyboard      web-based automation, the biggest              implementation is going to interact with
strokes to mimic the actions as if they had   adjustment may be getting accustomed           an iPhone device. The users will drag-
the device in their hand. The user can        to how objects are represented on mobile       and-drop Keynote DeviceAnywhere
also manipulate the features of the devices   pages. Tal Barmeir, CEO of Experitest,         actions (icons) onto the execution grid
such as buttons, LCD screen, speaker,                                                        in an order that corresponds to test case
ringer, battery, power-plug, and data-                                                       steps. The actions available to the user
cables. The Keynote DeviceAnywhere                                                           can search for some text on the screen,
control sliders allow the user to change       Script-less automation:                       enter text, click on GUI icons, or validate
these setting and pre-condition the
device before conducting a test case.
                                                 “  Script-less means no scripting/
                                                                                             a checkpoint area located on the screen.
                                                                                             The actions are separate steps represented
                                               programming in the test automation
Another controller known as the Device                                                       as separate icons. During execution, the
                                                    tool’s native language. This
Console is also accessible for typing                                                        actions perform the key strokes and touch
                                                doesn’t mean there are no scripts
text and performing SMS messaging.                                                           screen interaction that a human has with
                                                  involved. Explicitly, this means
This Console can monitor HTML traffic                                                        the iPhone. The iPhone’s screens are
                                                while automating test cases, there
between webpages and the device. The                                                         driven by the actions in the execution grid
                                               is no more need to program scripts
importance of controlling these features                                                     until the last one has been reached.
                                                         for each test case”
is in the fact that mobile test cases have                                                   Once the test case has been created and
some unique verification steps when                                    (Qualitia, 2011).
                                                                                             saved, the test case can then be cloned
compared to PC based applications or                                                         for other devices. All of the steps that
webpages. For example, a user may want                                                       were created for the iPhone could be
to see what happens to their application                                                     enabled for an HTC EVO. The benefit of
when the phone rings or a text message        explains that, “existing industry-leading      cloning test cases is that for the most part
is received (Keynote DeviceAnywhere,          test automation tools are restricted by        application flow stays consistent from one
2010). Accessing the devices through          object recognition limitations.       Most     device to the next. All action command
the studio and using the Device Console       tools rely on open and published APIs to       steps are converted for use on the new
allows a user to set the stage for these      obtain the discrete properties of a control.   device. In some cases, actions that
types of scenarios.                           Mobile platforms do not provide the            contain specific GUI representations will
To accomplish automation, Keynote             traditional APIs, rendering your favorite      need updating after the cloning process.
DeviceAnywhere provides a module              tools useless in mobile” (Barmeir, 2011).      Typically these types of updates are
specifically for managing requirements,       Unlike web page objects, mobile objects        minimal and identifying where to make
test case steps, execution tracking, and      are identified differently. Web-based          the adjustment is intuitive to the users.
result reporting. Each of the items are       objects are referenced by property tags        This is because the user has the advantage
organized within a project and shared         such as an object name or ID. A scripter       of using the Keynote DeviceAnywhere
between team members for collaborative        can use tools to break down the various        technology to stay within a consistent
testing.    A user can start creating         types of objects on a page and associate       framework. Users can also mitigate the
automation steps by accessing Keynote         data with those objects. With mobile           amount of updates by incorporating an
DeviceAnywhere’s         device-agnostic,     application rendering, property tags are       automation development strategy or best
script-less automation technology (HP/        not referenced in this way. Instead a user     practices within the framework that fits
KDA datasheet, 2009). The technology is       interacts with the screen by anchoring on      their applications. Trial and error will
device-agnostic because when a script is      specific text, icon recognition, and pixel     help identify the best strategy.
                                              locations. Keynote DeviceAnywhere’s

22 Automated Software Testing Magazine               www.automatedtestinginstitute.com                                December 2011
Incorporating Framework                        an add-in that a user can download for           editing complex logic before the compile
Automation                                     this capability. For those that are QTP          stage. The Keynote DeviceAnywhere
                                               developers, you know that when launching         APIs provide a great way for organizations
For many applications, using the script-       QTP you have the option to select which          that don’t have expensive commercial
less approach is appropriate especially        add-ins are loaded for your development          tools or the budget to purchase them
if functionality changes are minimal           and execution sessions. After installation,      to still get the most out of the mobile
between code updates or if the particular      the user just needs to check the box in the      automated testing experience.
application doesn’t have an abundance          add-in selection screen for the Keynote
of data entry. An application heavy with
links and button pushes would be covered
                                               DeviceAnywhere add-in. Once this step            How We Integrate with
                                               is complete, a user can reference any of         Keynote DeviceAnywhere
adequately. This is also a useful approach     the actions they’ve created to drive the
if the test case suite is small and easily     automation capabilities on any of the            Here at Quilmont we have a pre-developed
maintainable.                                  devices. Interacting with a specific device      framework that comprises a user-friendly
Users that have applications with heavy        is managed in the QTP object repository          interface for managing application
data entry in many business scenarios will     where every device that is going to be           properties and creating test case steps.
naturally want to incorporate industry         tested is a separate object in the repository.   Our out-of-the-box function libraries
standard practices such as creating a data     The handshake between the repository             integrate with QTP/QC, Selenium,
driven or keyword driven framework. This       and the devices are controlled by a unique       CodeUI, Rational Functional Tester,
type of approach enhances script reuse,        ID property. From this point a user can          and yes, Keynote DeviceAnywhere.
quicker maintenance, and offers the ability    design a framework and separate the              For our Keynote DeviceAnywhere
to create test cases without consuming a       automation code from their test case data.       implementation, we provide plug-ins for
Keynote DeviceAnywhere license (the            As a best practice, a user should create         both QTP and JAVA APIs to deliver a
last section provides an example of how        a design where QTP does the repetitive           framework with keyword and data driven
this can be accomplished). For those well      calling of a sequence of Keynote                 capabilities.
versed in automation design, the script-       DeviceAnywhere actions while passing             In our setup we employ a three layer
less approach may sound like a variation       parameters to those actions. Keystrokes          approach. In the first layer we have several
on record and playback. Also restricted        and data entry can be controlled in              keyword actions packaged at a project level
access to the scripting language may strike    spreadsheets or other data harnesses. All        for use in the Keynote DeviceAnywhere
automation developers as a hindrance to        results and screenshots during execution         Studio.       Keynote DeviceAnywhere
their effectiveness. In other words there      will roll up into the QTP execution report       Studio allows projects to be imported
are some things a seasoned programmer          (Keynote DeviceAnywhere, 2010).                  and exported. For us, this means we
can accomplish more effectively with code                                                       can import and export our keyword
                                                                                                 actions to any Keynote DeviceAnywhere
     Keystrokes and data entry can be                                                            Studio installation. Our second layer is
                                                                                                 a driver script which could be the QTP

     controlled in spreadsheets or other                                                         or JAVA API version depending on the
                                                                                                 customer request. This is the layer that
                                                                                                 processes the main execution and calls
              data harnesses.                                                                    the keywords depending on the test case
                                                                                                 information it receives from the third
                                               A second option for organizations that do         layer. The third layer is our framework
than relying on script-less actions. Not to    not have Functional Testing (QTP) and            interface. In this layer our customers
worry because Keynote DeviceAnywhere           don’t plan to purchase it, is to create a        can manage any application properties
offers two ways to interact with their         data driven or keyword driven framework          (for mobile application this would be
automation engine so that a tradition data     by utilizing Keynote DeviceAnywhere’s            text, icon objects, pixel information)
framework can be created.                      JAVA based APIs to control the actions.          and create test case steps. The test
For organizations that use HP/Mercury          In the same way a user can create                case steps call keyword actions in the
Functional Testing (QTP) and Quality           reusable code and incorporate a datasheet        Keynote DeviceAnywhere studio while
Center, there is a tremendous opportunity      to drive the commands.            Keynote        also passing parameters to these actions
to continue utilizing these tools and          DeviceAnywhere provides a JAVA editor            through the driver script. This allows our
configure them to work with the Keynote        internally to create the API programs and        customers to first create all of their test
DeviceAnywhere Studio. This allows             conveniently stores all components inside        case information outside of the Keynote
organizations to expand upon the familiar      the Keynote DeviceAnywhere Studio. In            DeviceAnywhere Studio which cuts down
features of QTP and QC as well as enhance      addition, the Keynote DeviceAnywhere             on license consumption and then log into
their tester’s skillsets. This option allows   Studio can interact with other JAVA              the Keynote DeviceAnywhere studio
a QTP developer to extend their current        editors such as Eclipse to get the full          when they are ready to execute their test
framework to invoke existing actions in        capabilities of a JAVA environment               cases.
the Keynote DeviceAnywhere Studio.             (Keynote DeviceAnywhere, 2010). This             An example of how the three layers work
Keynote DeviceAnywhere has created             is convenient for managing packages and          together can be illustrated as follows:

December 2011                            www.automatedtestinginstitute.com               Automated Software Testing Magazine             23
Let’s assume the device we are testing is an HTC EVO and our          These three calls will log into the application and drive the screen
application has a login screen. The login screen has objects for      to the next page.
a user name, password, and a login button. The goal of our test
                                                                      Statistically we can see that mobile devices are becoming
case is simply to verify that we can log into the application and
                                                                      the preferred way of conducting business transactions for
get to the next screen. Starting with layer three (framework
                                                                      consumers. Touch screens provide a more desirable method
interface) we would represent each of the objects (user name,
                                                                      for collecting customer information than keying data into web
password, and login button) in the section of the interface that
manages object information. Since these are mobile objects we         forms or scrolling through overpopulated dropdown boxes.
would most likely reference the text labels for each object. In       Mobile devices have arrived and more companies are embracing
the test case creation section of the interface we would create the   the change every year. It’s fair to describe the application
step sequence where each step would reference an object name,         development techniques for mobile software as still being in its
value, and keyword action.                                            early stages. However, applying discipline through traditional
                                                                      application development practices (test automation being one
                                                                      of them) will assist future standardization. From an automation
                                                                      developer’s standpoint, learning the tools and techniques in this
                                                                      early stage will have great implications on a person’s individual
    Framework Interface:                                              skillset. It’s an amazing opportunity to learn, discover, and help
    Step 1: User Name | user1 | EnterData                             standardize the untamed world of automated mobile testing.

    Step 2: Password | pwd1 | EnterData
                                                                      References:
    Step 3: Login | button | Click
                                                                      Barneir, Tal (2011), Need for Mobile Test Automation
                                                                      Tool on Various Platforms (Android, iPhone, Blackberry,
                                                                      Symbian & WindowsPhone 7), Mobile Application
In the second layer, the driver script would read these steps         Testing. Retrieved: November 17th 2011 From: http://
from the framework interface and call the action in the Keynote
DeviceAnywhere Studio that corresponds to the action in the
                                                                      www.mobileappstesting.com/category/mobile-application-
step sequence. The driver passes the object name and value to         testing/mobile-application-testing-and-automation-tools/#
the keyword action.
                                                                      HP/KDA Datasheet (2009), Test Automation for Mobile
                                                                      Devices, Hewlett-Packard. Retrieved: July 16th 2011 From:
                                                                      http://support.openview.hp.com/
    Functional Testing (QTP) or JAVA API Driver:
    GET Step 1 from interface, CALL EnterData in Keynote              Keynote     DeviceAnywhere      (2010),     Keynote
    DeviceAnywhere Studio, PASS User Name | user1                     DeviceAnywhere Test Center User Manual for Enterprise
    GET Step 2 from interface, CALL EnterData in Keynote              Deployments, Keynote DeviceAnywhere. Retrieved: June
    DeviceAnywhere Studio, PASS Password | pwd1                       15th 2011
    GET Step 3 from interface, CALL Click in Keynote
    DeviceAnywhere Studio, PASS Login | button                        Ingram, Mathew (2010), Mary Meeker: Mobile Internet
                                                                      Will Soon Overtake Fixed Internet, Gigaom. Retrieved:
                                                                      October 25th 2011 From: http://gigaom.com/2010/04/12/
                                                                      mary-meeker-mobile-internet-will-soon-overtake-fixed-
In the first layer, the pre-developed keywords receive the            internet/
parameters from the driver script and use the Keynote
DeviceAnywhere automation engine to translate the action for
use on the HTC EVO.                                                   Leggatt, Helen (2010), Travelers display low tolerance for
                                                                      mobile app, website glitches, Gigaom. Retrieved: October
                                                                      25th 2011 From: http://www.bizreport.com/2010/08/
                                                                      travelers-display-low-tolerance-for-mobile-app-website-
   Keywords stored in Keynote DeviceAnywhere Studio:                  glitches.html#
   RUN EnterData, FIND User Name, TYPE user1
   RUN EnterData, FIND Password, TYPE pwd1
                                                                      Qualitia (2011), Defining Scriptless, QualitiaSoft. Retrieved:
                                                                      November 17th 2011 From: http://www.qualitiasoft.
   RUN Click, FIND Login, TOUCH Login
                                                                      com/pdfs/Definition%20of%20Scriptless%20Test%20
                                                                      Automation.pdf

24 Automated Software Testing Magazine                www.automatedtestinginstitute.com                                December 2011
Are You Contributing
Content Yet?
The Automated Testing Institute relies heavily on the automated testing
community in order to deliver up-to-date and relevant content. That’s why
we’ve made it even easier for you to contribute content directly to the ATI
Online Reference! Register and let your voice be heard today!




                   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
t
                                                                              m sat
                                                                        m Wi
                                                            by To




                             We       all have the
                 necessary components on
                     our systems to build a
                      solution of our own.




                                         Test
                        Management
26   Automated Software Testing Magazine  www.automatedtestinginstitute.com            December 2011
“A simple system...to coordinate your test procedure development effort.”




        Integrating MS Office
        F    C  or-E               ost                      ffective
        Test Management
            A Homegrown, Desktop Solution for Test Management


            A     s in any test effort, we write test procedures and eventually
                  require some way to keep track of all of the documentation.

             Many of us become spreadsheet jockeys with workbooks of our tests
            and other supporting information tucked away in the labyrinth of
            our disk drives. The management becomes increasingly cumbersome
            leading to duplication and confusion. We forget if we wrote a
            procedure to cover a case, a new member joins the team and does not
            know what has been written, or we are unable to locate the needed
            procedure. Our typical solution is to write a new test and add it to
            the workbooks for safe keeping.

            Another complication arises when we want to create a test set for a
            particular purpose, such as a user acceptance test or regression test
            set. We may also get requests from management about which tests
            cover which requirements, or about getting some sort of a test report.
            Pulling the different parts together to create the needed documents,
            and managing the whole process becomes time consuming and error
            prone. In other words, a perfect opportunity for automation!

            There are a number of nice commercial solutions available that
            answer the task quite well; but, what if we do not have a large
            team or a budget that can afford one of the packages? We all have
            the necessary components on our systems to build a solution of our
            own. What follows is an explanation of a system I developed with
            Microsoft (MS) Office, and the same can be adapted for OpenOffice.
            Org.

December 2011                   www.automatedtestinginstitute.com   Automated Software Testing Magazine   27
Requirements
Before jumping into the details of the
design, a few requirements need to be
established. After having used a number
of tools over the years, I settled on the
following basic functions:


    •	   Viewing of all tests
    •	   Filter and Sort
    •	   Test Set Production
    •	   Track Status and Author
    •	   Allow Attachments
    •	   Associate Requirements
    •	   Track Team Members
    •	   Allow Team Communication

                                                Figure 1: Test procedure database directory structure
Basic Architecture
Most of us have the Microsoft Office            need to share out the location to your team if you choose to store it on your own work
suite on our machines and it makes sense        station. This organization is optional, so, feel free to adjust to your own desire.
to develop for something the majority           This organization works well, as it helps to keep things organized in a way that seems
has access to. Most of us, though, forget       logical. At the root directory is the actual database – in this case it would be under
that Office is more than Word, Excel and        the Test Procedures directory. Under that are subdirectories for each of the systems
PowerPoint. At the heart of this system         of your particular test effort. If this was an effort to test MS Office, they would be
is the MS Access database. The test             Word, Excel, PowerPoint, etc. Under each of the system directories are the subsystem
procedures are in MS Excel spreadsheets         directories and under that are the test files themselves.
to make the formatting somewhat
easier, and allow for some additional           The naming convention for the files mirrors the above directory structure. It helps
functionality without the complication of
Word document formatting. In addition,
there is a hook into Outlook to provide
some automated communication for the
team.
Behind the scenes, MS Office uses Visual
Basic for Applications (VBA) for the
programming language. This makes it
easy to add more functionality or modify
any of the existing functions.
The database provides a place to store the
details about the test procedures, but the
file system contains the actual spreadsheet
files. Using links in the database, the tests
can be displayed and modified. New tests
are created from the information entered
into the database. The test procedure
files are kept as originals, and modified
as needed and copies are created and
collected to build test sets for the actual
runs.
Refer to Figure 1 below. The database is
best stored on a networked drive shared
out to the team. At a minimum, you will         Figure 2: Tables and relationships

28 Automated Software Testing Magazine                www.automatedtestinginstitute.com                             December 2011
locate a file easily as the name contains the
basic structure:

<ProcNum><System><Subsystem>.xlsx

The ProcNum is automatically generated
by Access, and the initial spreadsheets get
the number on the tabs as you will see.
Delving further into the structure of the
database, we have tables that not only
contain the data for our test procedures but
also the various components associated
with the test procedures. To make up a test
procedure, we need to know certain details
such as description, system, subsystem,
status, etc. Some of the information can be
selected from drop-downs that draw from
the data in the tables. Figure 2 shows the
tables and their respective relationships
within the database. Keep in mind when
you modify the structure of the tables (e.g.
add or remove columns), you may need to
remove a relationship and restore it after
                                                Figure 3: Main Page Form
you finish the modification.
The tables are:
  •	   System – contains the names
       of the systems and their related
       subsystems. Typically you can
       use work breakdown structures,
       diagrams or other documents to
       develop items for this table;
  •	   Members – the team members
       and related information such
       as telephone numbers, e-mail
       addresses, etc;
  •	   Status – stages of the procedure
       development from In Progress to
       Obsolete;
  •	   Methods – the test methods for
       each procedure such as Analysis,
       Observation, and Test;
  •	   Requirements;
  •	   Procedures;
  •	   Req Attachments – requirement
       attachments;
  •	   Attachments        –       procedure
       attachments;
  •	   ReqtoProcID – the associated
       IDs of the requirements and test
       procedures.



Forms and Reports
MS Access uses forms and reports to serve
as the interfaces to the tables and data. The   Figure 4: Test Procedure Entry/Edit Form

December 2011                             www.automatedtestinginstitute.com    Automated Software Testing Magazine   29
Automated softwaretestingmagazine december2011
Automated softwaretestingmagazine december2011
Automated softwaretestingmagazine december2011
Automated softwaretestingmagazine december2011
Automated softwaretestingmagazine december2011
Automated softwaretestingmagazine december2011
Automated softwaretestingmagazine december2011
Automated softwaretestingmagazine december2011
Automated softwaretestingmagazine december2011
Automated softwaretestingmagazine december2011
Automated softwaretestingmagazine december2011
Automated softwaretestingmagazine december2011
Automated softwaretestingmagazine december2011
Automated softwaretestingmagazine december2011
Automated softwaretestingmagazine december2011

More Related Content

What's hot

Agile User Experience
Agile User ExperienceAgile User Experience
Agile User ExperienceACM
 
Faster apps. faster time to market. faster mean time to repair
Faster apps. faster time to market. faster mean time to repairFaster apps. faster time to market. faster mean time to repair
Faster apps. faster time to market. faster mean time to repairCompuware ASEAN
 
Integrating Quality into Portfolio Management
Integrating Quality into Portfolio Management Integrating Quality into Portfolio Management
Integrating Quality into Portfolio Management Brent Barton
 
Agile Resiliency: How CMMI can make Agile thrive and survive
Agile Resiliency: How CMMI can make Agile thrive and surviveAgile Resiliency: How CMMI can make Agile thrive and survive
Agile Resiliency: How CMMI can make Agile thrive and surviveJeff Dalton
 
CCLLC Firm Intro
CCLLC Firm IntroCCLLC Firm Intro
CCLLC Firm IntroTony Latona
 
Mainframe Solutions Introduction
Mainframe Solutions IntroductionMainframe Solutions Introduction
Mainframe Solutions IntroductionMicro Focus
 
"Lean software development: discovering waste" by Mary Poppendieck
"Lean software development: discovering waste" by Mary Poppendieck"Lean software development: discovering waste" by Mary Poppendieck
"Lean software development: discovering waste" by Mary PoppendieckOperae Partners
 
ABC 2012 - Contract Metrics for Agile
ABC 2012 - Contract Metrics for AgileABC 2012 - Contract Metrics for Agile
ABC 2012 - Contract Metrics for AgileSusan Atkinson
 
Abc Contract Metrics (Atkinson) 10.10.12
Abc   Contract Metrics (Atkinson) 10.10.12Abc   Contract Metrics (Atkinson) 10.10.12
Abc Contract Metrics (Atkinson) 10.10.12susanatkinson
 
Real insights real_results-steve_robinson
Real insights real_results-steve_robinsonReal insights real_results-steve_robinson
Real insights real_results-steve_robinsonIBM
 
Refactoring AOMs For AgilePT2010
Refactoring AOMs For AgilePT2010Refactoring AOMs For AgilePT2010
Refactoring AOMs For AgilePT2010Joseph Yoder
 
Mary Poppendieck “It’s Not About Software”
Mary Poppendieck  “It’s Not About Software”Mary Poppendieck  “It’s Not About Software”
Mary Poppendieck “It’s Not About Software”Agileee
 
Simulation Professional - What each module can do for me
Simulation Professional - What each module can do for meSimulation Professional - What each module can do for me
Simulation Professional - What each module can do for mePrism Engineering, Inc.
 
Achieving agility at_scale-martin_nally
Achieving agility at_scale-martin_nallyAchieving agility at_scale-martin_nally
Achieving agility at_scale-martin_nallyIBM
 
Can MVP help Government innovate like a Startup?
Can MVP help Government innovate like a Startup?Can MVP help Government innovate like a Startup?
Can MVP help Government innovate like a Startup?aboobier
 
2011 pmo symposium Bridging the Agile-to-PMO Communication Gap
2011 pmo symposium Bridging the Agile-to-PMO Communication Gap2011 pmo symposium Bridging the Agile-to-PMO Communication Gap
2011 pmo symposium Bridging the Agile-to-PMO Communication GapBrent Barton
 

What's hot (20)

Agile User Experience
Agile User ExperienceAgile User Experience
Agile User Experience
 
Faster apps. faster time to market. faster mean time to repair
Faster apps. faster time to market. faster mean time to repairFaster apps. faster time to market. faster mean time to repair
Faster apps. faster time to market. faster mean time to repair
 
Integrating Quality into Portfolio Management
Integrating Quality into Portfolio Management Integrating Quality into Portfolio Management
Integrating Quality into Portfolio Management
 
Agile Resiliency: How CMMI can make Agile thrive and survive
Agile Resiliency: How CMMI can make Agile thrive and surviveAgile Resiliency: How CMMI can make Agile thrive and survive
Agile Resiliency: How CMMI can make Agile thrive and survive
 
CCLLC Firm Intro
CCLLC Firm IntroCCLLC Firm Intro
CCLLC Firm Intro
 
Mainframe Solutions Introduction
Mainframe Solutions IntroductionMainframe Solutions Introduction
Mainframe Solutions Introduction
 
Agile.usability
Agile.usabilityAgile.usability
Agile.usability
 
"Lean software development: discovering waste" by Mary Poppendieck
"Lean software development: discovering waste" by Mary Poppendieck"Lean software development: discovering waste" by Mary Poppendieck
"Lean software development: discovering waste" by Mary Poppendieck
 
ABC 2012 - Contract Metrics for Agile
ABC 2012 - Contract Metrics for AgileABC 2012 - Contract Metrics for Agile
ABC 2012 - Contract Metrics for Agile
 
Abc Contract Metrics (Atkinson) 10.10.12
Abc   Contract Metrics (Atkinson) 10.10.12Abc   Contract Metrics (Atkinson) 10.10.12
Abc Contract Metrics (Atkinson) 10.10.12
 
Real insights real_results-steve_robinson
Real insights real_results-steve_robinsonReal insights real_results-steve_robinson
Real insights real_results-steve_robinson
 
Fast track to the 9s via the cloud
Fast track to the 9s via the cloudFast track to the 9s via the cloud
Fast track to the 9s via the cloud
 
Refactoring AOMs For AgilePT2010
Refactoring AOMs For AgilePT2010Refactoring AOMs For AgilePT2010
Refactoring AOMs For AgilePT2010
 
Mary Poppendieck “It’s Not About Software”
Mary Poppendieck  “It’s Not About Software”Mary Poppendieck  “It’s Not About Software”
Mary Poppendieck “It’s Not About Software”
 
Scrum Hates Technical Debt
Scrum Hates Technical DebtScrum Hates Technical Debt
Scrum Hates Technical Debt
 
Simulation Professional - What each module can do for me
Simulation Professional - What each module can do for meSimulation Professional - What each module can do for me
Simulation Professional - What each module can do for me
 
Achieving agility at_scale-martin_nally
Achieving agility at_scale-martin_nallyAchieving agility at_scale-martin_nally
Achieving agility at_scale-martin_nally
 
Can MVP help Government innovate like a Startup?
Can MVP help Government innovate like a Startup?Can MVP help Government innovate like a Startup?
Can MVP help Government innovate like a Startup?
 
10thingsbook v4
10thingsbook v410thingsbook v4
10thingsbook v4
 
2011 pmo symposium Bridging the Agile-to-PMO Communication Gap
2011 pmo symposium Bridging the Agile-to-PMO Communication Gap2011 pmo symposium Bridging the Agile-to-PMO Communication Gap
2011 pmo symposium Bridging the Agile-to-PMO Communication Gap
 

Similar to Automated softwaretestingmagazine december2011

Automated softwaretestingmagazine april2013
Automated softwaretestingmagazine april2013Automated softwaretestingmagazine april2013
Automated softwaretestingmagazine april2013drewz lin
 
The Lean Startup EA edition
The Lean Startup EA editionThe Lean Startup EA edition
The Lean Startup EA editionEric Ries
 
Manual testers vs. automation testers – how QA organizations can bridge the gap
Manual testers vs. automation testers – how QA organizations can bridge the gapManual testers vs. automation testers – how QA organizations can bridge the gap
Manual testers vs. automation testers – how QA organizations can bridge the gapZado Technologies
 
Quality Assurance and its Importance in Software Industry by Aman Shukla
Quality Assurance and its Importance in Software Industry by Aman ShuklaQuality Assurance and its Importance in Software Industry by Aman Shukla
Quality Assurance and its Importance in Software Industry by Aman ShuklaAbhishekKumar773294
 
DevOps for the Discouraged
DevOps for the Discouraged DevOps for the Discouraged
DevOps for the Discouraged James Wickett
 
The Lean Startup fbFund Edition
The Lean Startup fbFund EditionThe Lean Startup fbFund Edition
The Lean Startup fbFund EditionEric Ries
 
Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps  Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps Chetan Gordhan
 
DEV345_Tools Won’t Fix Your Broken DevOps
DEV345_Tools Won’t Fix Your Broken DevOpsDEV345_Tools Won’t Fix Your Broken DevOps
DEV345_Tools Won’t Fix Your Broken DevOpsAmazon Web Services
 
Model-Based Testing for ALM Octane: Better tests, built faster
Model-Based Testing for ALM Octane: Better tests, built faster Model-Based Testing for ALM Octane: Better tests, built faster
Model-Based Testing for ALM Octane: Better tests, built faster Curiosity Software Ireland
 
Building and Scaling High Performing Technology Organizations by Jez Humble a...
Building and Scaling High Performing Technology Organizations by Jez Humble a...Building and Scaling High Performing Technology Organizations by Jez Humble a...
Building and Scaling High Performing Technology Organizations by Jez Humble a...Agile India
 
2009_06_08 The Lean Startup Tokyo edition
2009_06_08 The Lean Startup Tokyo edition2009_06_08 The Lean Startup Tokyo edition
2009_06_08 The Lean Startup Tokyo editionEric Ries
 
Thought frameworks brochure
Thought frameworks brochureThought frameworks brochure
Thought frameworks brochureSwetha Muthu
 
The Tester’s Role: Balancing Technical Acumen and User Advocacy
The Tester’s Role: Balancing Technical Acumen and User AdvocacyThe Tester’s Role: Balancing Technical Acumen and User Advocacy
The Tester’s Role: Balancing Technical Acumen and User AdvocacyTechWell
 
Zen Test Labs Starwest 2011 Keynote
Zen Test Labs Starwest 2011 KeynoteZen Test Labs Starwest 2011 Keynote
Zen Test Labs Starwest 2011 KeynoteZen Test Labs
 
2012 05 15 eric ries the lean startup pwc canada
2012 05 15 eric ries the lean startup pwc canada2012 05 15 eric ries the lean startup pwc canada
2012 05 15 eric ries the lean startup pwc canadaEric Ries
 
2010 02 19 the lean startup - webstock 2010
2010 02 19 the lean startup - webstock 20102010 02 19 the lean startup - webstock 2010
2010 02 19 the lean startup - webstock 2010Eric Ries
 
Aufbau von agilen und effizienten IT Organisationen mit DevOps
Aufbau von agilen und effizienten IT Organisationen mit DevOpsAufbau von agilen und effizienten IT Organisationen mit DevOps
Aufbau von agilen und effizienten IT Organisationen mit DevOpsAWS Germany
 

Similar to Automated softwaretestingmagazine december2011 (20)

Automated softwaretestingmagazine april2013
Automated softwaretestingmagazine april2013Automated softwaretestingmagazine april2013
Automated softwaretestingmagazine april2013
 
The Lean Startup EA edition
The Lean Startup EA editionThe Lean Startup EA edition
The Lean Startup EA edition
 
Manual testers vs. automation testers – how QA organizations can bridge the gap
Manual testers vs. automation testers – how QA organizations can bridge the gapManual testers vs. automation testers – how QA organizations can bridge the gap
Manual testers vs. automation testers – how QA organizations can bridge the gap
 
testingexperience19_09_12
testingexperience19_09_12testingexperience19_09_12
testingexperience19_09_12
 
Quality Assurance and its Importance in Software Industry by Aman Shukla
Quality Assurance and its Importance in Software Industry by Aman ShuklaQuality Assurance and its Importance in Software Industry by Aman Shukla
Quality Assurance and its Importance in Software Industry by Aman Shukla
 
DevOps for the Discouraged
DevOps for the Discouraged DevOps for the Discouraged
DevOps for the Discouraged
 
The Lean Startup fbFund Edition
The Lean Startup fbFund EditionThe Lean Startup fbFund Edition
The Lean Startup fbFund Edition
 
Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps  Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps
 
DEV345_Tools Won’t Fix Your Broken DevOps
DEV345_Tools Won’t Fix Your Broken DevOpsDEV345_Tools Won’t Fix Your Broken DevOps
DEV345_Tools Won’t Fix Your Broken DevOps
 
Model-Based Testing for ALM Octane: Better tests, built faster
Model-Based Testing for ALM Octane: Better tests, built faster Model-Based Testing for ALM Octane: Better tests, built faster
Model-Based Testing for ALM Octane: Better tests, built faster
 
Building and Scaling High Performing Technology Organizations by Jez Humble a...
Building and Scaling High Performing Technology Organizations by Jez Humble a...Building and Scaling High Performing Technology Organizations by Jez Humble a...
Building and Scaling High Performing Technology Organizations by Jez Humble a...
 
2009_06_08 The Lean Startup Tokyo edition
2009_06_08 The Lean Startup Tokyo edition2009_06_08 The Lean Startup Tokyo edition
2009_06_08 The Lean Startup Tokyo edition
 
Thought frameworks brochure
Thought frameworks brochureThought frameworks brochure
Thought frameworks brochure
 
The Tester’s Role: Balancing Technical Acumen and User Advocacy
The Tester’s Role: Balancing Technical Acumen and User AdvocacyThe Tester’s Role: Balancing Technical Acumen and User Advocacy
The Tester’s Role: Balancing Technical Acumen and User Advocacy
 
Zen Test Labs Starwest 2011 Keynote
Zen Test Labs Starwest 2011 KeynoteZen Test Labs Starwest 2011 Keynote
Zen Test Labs Starwest 2011 Keynote
 
2012 05 15 eric ries the lean startup pwc canada
2012 05 15 eric ries the lean startup pwc canada2012 05 15 eric ries the lean startup pwc canada
2012 05 15 eric ries the lean startup pwc canada
 
Test automation Anecdotes
Test automation AnecdotesTest automation Anecdotes
Test automation Anecdotes
 
2010 02 19 the lean startup - webstock 2010
2010 02 19 the lean startup - webstock 20102010 02 19 the lean startup - webstock 2010
2010 02 19 the lean startup - webstock 2010
 
Introduction to Chaos Engineering
Introduction to Chaos EngineeringIntroduction to Chaos Engineering
Introduction to Chaos Engineering
 
Aufbau von agilen und effizienten IT Organisationen mit DevOps
Aufbau von agilen und effizienten IT Organisationen mit DevOpsAufbau von agilen und effizienten IT Organisationen mit DevOps
Aufbau von agilen und effizienten IT Organisationen mit DevOps
 

Recently uploaded

CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 

Recently uploaded (20)

CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 

Automated softwaretestingmagazine december2011

  • 1. An AUTOMATED TESTING INSTITUTE Publication - www.automatedtestinginstitute.com Automated ....... S T A oftware esting December 2011 $8.95 MAGAZINE Automated M obile esting Cost Effective Test Management Develop a HomeGrown Managment Solution Surviving Obfuscation How To Automate Obfuscated Code Test Management Getting Crowded: Crowdsourcing Inspires New Tool
  • 2. A Sotera Defense Solutions Company If you’re looking to thrive in a diverse and vibrant professional team, we’re looking for you! Submit your resumé to staffing@spt-inc.com today! Through the SPT PromiseTM, we’ve made a commitment to value our employees, to be understanding and supportive of individual needs and to provide opportunities for career growth. We value and appreciate our employees for the work they do for us as a company and for the clients’ mission. SPT partners with client organizations to design, develop, implement and deploy high-end, custom, technology-based solutions by integrating existing and emerging concepts. Positions are available for professionals looking for exciting and rewarding challenges with significant impact to ongoing missions. Openings include: • Software Engineers • Systems Engineers • Configuration Managers • Systems Administrators • Systems/Software Testers Most positions require an active TS/SCI clearance with full scope or CI polygraph. SPT is EOE, M/F/D/V. .com t-inc w.sp 7230 5 • ww Lee D -221 efores 1-854 tD rive, Suite 6 • 30 100 • Columbia, MD 2104 Our promise is to ensure we are committed to continued exellence and success for our clients’ mission. We are devoted to doing what is right for our company, our partners, and our employees to best serve our community and country. © 2011 Software Process Technologies, LLC. (SPT). All rights reserved.
  • 3. Automated S T oftware esting December 2011, Volume 3, Issue 5 Contents Cover Story Mobile Automated Testing 19 For many, mobile devices are fast becoming the computing environment of choice. With so many different devices and new ones emerging all the time, it’s infeasible to conduct sufficient testing for each, manually. But how will test automation need to adjust from the PC to mobile? Read this article to find out. By Patrick Quilter Features Obfuscation: Avoiding Friendly Fire in the Battle for Security 12 How do we handle application dynamics introduced by security measures such as obfuscation? Read this article to get strategies for handling this challenge that results in modern computing. By Dion Johnson “Integrating MS Office For Cost-Effective Test Management 26 Need a cost-effective test management solution? Read this article as Tom Wimsatt identifies key test management features, as well as a step-by-step approach for using common Windows desktop software for creating a tool customized to your needs. By Tom Wimsatt Columns & Departments Editorial 4 I ‘B’Log To U 38 The Mobile Evolution Enjoy a testing comic strip that is funny and informative. How mobile technology effects test management and automated test execution. Go On A Retweet 40 Read featured microblog posts from the web. Authors and events 6 TestKIT is Hot! 42 Learn about AST authors and upcoming events. The KIT is Koming Learn what this year’s conference has to offer. Open Sourcery 8 The Automated Software Testing (AST) Magazine is an Automated Testing Test Management is Getting Crowded Institute (ATI) publication. How Crowdsourcing and the Mobile Revolution Have For more information regarding the magazine visit Inspired The Birth of a New QA Tool http://www.astmagazine.automatedtestinginstitute.com December 2011 www.automatedtestinginstitute.com Automated Software Testing Magazine 3
  • 4. Editorial The Mobile Evolution by Dion Johnson Many computing technologies have been introduced over the years and with them, new approaches for test implementation. Linda Hayes wrote a great article called the “Evolution of Automated Software Testing” that was published in Volume 1, Issue 1 of the Automated Software Testing Magazine; her article chronicled the evolution in computing from Mainframe dominance all the way up to the Internet taking center stage. Each evolutionary phase was accompanied by a test automation evolutionary response that highlighted the changes to how test automation was conducted in order to keep pace with the shift in the computing world at large. The computing world is at the beginning of a new computing sea change, and I have no doubt that there will need to ...efficient test management is no longer be a major evolutionary response to this change in the world of test automation. just a luxury. The sea change will move us further into test management is no longer just a Quilter discusses tools for managing the world of mobile technology, and the luxury. Many organizations have gone mobile device test cases. move is likely to happen faster than any without any real approach or tool for test of the other computing paradigm shifts management, with the excuse that such Next, Tom Wimsatt reveals an approach to date – evidenced by the faster than an approach or tool would be overkill for for implementing a homegrown test expected depletion of IPv4 addresses that the way they do testing. With increased management solution in his article has forced us quickly into the world of test complexity, however, and teams that entitled, “Integrating MS Office for Cost- IPv6 (see AST Volume 3, Issue 1). may span multiple organizations, and/or Effective Test Management”. In addition continents, test management is becoming to identification of key test management Mobile technology has introduced new increasingly important. Another item features, Wimsatt provides a step-by-step devices, new types of software and a whole that we must come to grips with is how approach for using common Windows host of new challenges for testing and test automation of our test execution will be desktop software for creating a tool automation. In the past we were largely changed by the mobile evolution. This customized to your needs. concerned about adjusting to a world in issue of the Automated Software Testing which setting up lab environments to test In the second feature, Dion Johnson Magazine is the first of many to come multiple versions and configurations of a (yours truly) shifts gears slightly to offer that focuses on these items and more. handful of browsers was the challenge. strategies for handling another challenge That’s nothing compared to the 100s, In our cover story entitled, “Mobile that results in modern computing: the maybe 1000s of mobile devices and Automated Testing”, Patrick Quilter challenge posed by security measures configurations that may be running your provides a look into how the explosion such as obfuscation. Obfuscation often organization’s mobile application (app)! of mobile device usage has affected results in dynamic UI properties that We need to quickly come to grips with the current day implementation of test execution automation. He discusses how render an application non-automatable. what this means for testing and the tools that aid our testing. traditional tools and strategies can be In this article entitled, “Obfuscation – used for mobile app automation with a Avoiding Friendly Fire in the Battle for One thing this technological shift little assistance from simulators, but also Security”, he provides useful mechanisms means is that we need to come to grips addresses test execution automation on for creating stable automated scripts on with the fact that structured, efficient the actual mobile devices. In addition, an unstable application. 4 Automated Software Testing Magazine www.automatedtestinginstitute.com December 2011
  • 5. Training That’s Process Focused Yet Hands On Software Test Automation Training www . training . automatedtestinginstitute . com 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 Come participate in a set of test automation courses 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. Public and Virtual Training Available
  • 6. Authors and Events Who’s In This Issue? Patrick Quilter Jr. has earned a Bachelor of Science in Computer Science & Mathematics, a Automated S T oftware esting graduate certificate in Homeland Security Technology Management, and is in the process of acquiring a Managing Editor Master degree in Technology Management. Patrick Dion Johnson has been an automation architect for a number of large companies such as Travelers Insurance, Computer Contributing Editor Science Corporation (CSC), and GEICO. While at Donna Vance Travelers Insurance, Patrick received the company’s Edward Torrie Outstanding Achievement Award for an R&D solution that programmatically generated business test cases for automated regression execution. Patrick Director of Marketing and Events has also worked as a test consultant providing tools architecture and process Christine Johnson guidance for both commercial organizations and federal government agencies. After 10 years of experience and continued development, he is in the process of patenting a cloud based, automation framework that’s A PUBLICATION OF THE AUTOMATED been configured with many popular automation engines. He is currently employed as a lead automation architect while also assisting organizations through Quilmont LLC, a test process consulting company and cloud based, test automation service provider. Tom Wimsatt is an ISTQB/ASTQB Fully Certified Advanced Tester with Software Process Technologies, Inc. A Sotera Defense Company in CONTACT US AST Magazine Columbia, Maryland. He has been in the field of astmagazine@automatedtestinginstitute.com testing for more than 20 years beginning in the Parts Analysis labs with NASA at Goddard in Maryland. ATI Online Reference The last ten years he has been concentrating on testing contact@automatedtestinginstitute.com software specializing in tools and automated test development. He can be reached at: TomWimsatt@wimsatt.truepath.com Dion Johnson has several years of experience ATI and Partner Events in providing IT services to both government and private industry. With a Bachelor of Science degree January 1 2012 in Electrical Engineering, he has spent much of his TestKIT 2012 Conference Call professional career as a consultant in the areas of quality For Presentations Opens assurance (QA), quality control (QC), software process improvements, requirements analysis and software April 1, 2012 test automation. As a regular conference speaker 4th Annual ATI Automation and presenter, Dion has delivered award winning and highly acclaimed Honors Awards Nominations presentations at many of the most prestigious industry conferences, including Begin www.atihonors.automatedtestinginstitute.com the StarEast and StarWest International Conference on Software Testing, Analysis and Review, and the Quality Assurance Institute Conference. He Fall 2012 also teaches college level classes relative to testing and test automation, and has several published articles in various IT publications. TestKIT 2012 Conference 6 Automated Software Testing Magazine www.automatedtestinginstitute.com December 2011
  • 7. K The KIT is Coming gnimoC si TIK ehT gnimoC si TIK ehT Fall 2012 http://www.testkitconference.com December 2011 www.automatedtestinginstitute.com Automated Software Testing Magazine 7
  • 8. Open Sourcery Test Management is Getting Crowded How Crowdsourcing and the Mobile Revolution Have Inspired The Birth of a New QA Tool A few years ago, the uTest customers seeking open source alternatives to have their software for test management tested in diverse, were pretty sparse. The realistic environments. bug tracking portion of Matt Johnston, CMO test management didn’t of uTest, referred to lack for automated this type of testing as tools, but not very many “in the wild testing”. tools filled the needs It was this “in the wild for features such as test testing” along with case administration, the large number of assigning work, status clients involved in tracking, reporting, and mobile application (app) other key elements of test development that helped management. This is far to lead to the decision from being the case now, to create a new test as there are several viable management tool. open source solutions Johnston explained for test management. that once it was clear that Among the most popular a test management tool tools are TestLink and announcements were not only intriguing was necessary to better administer the XStudio. XStudio isn’t completely open due to the fact that several open source testing process, they polled nearly 1000 source, but is free and has some open test case management tools already exist, of their customers to get a feel for what source elements. There are many more but also because uTest indicated in these announcements that they were partnering solutions were being used. The feedback open source test management tools with Mozilla to produce this new offering. revealed that the test management besides these two, however, including That’s right! They were partnering with market was extremely fragmented. RTH (Requirements Testing Hub), the maintainers of Testopia, an already Small companies often didn’t use test Salome-TMF, and Testopia. Testopia is available open source test management management tools at all, while larger an open source test case management tool. AST reached out to uTest to get companies felt their solutions – whether extension for Mozilla’s open source bug some answers. commercial or open source – had serious tracker, Bugzilla. Given this existing list deficiencies. Ultimately, while most of of available tools, we were intrigued uTest describes themselves as “the their customers were happy with the bug to hear of a new test management tool world’s largest marketplace for software tracking systems they each employed, known as CaseConductor entering this testing services.” With a community already crowded space. A company there was little consensus on the most of 45,000+ professional testers from known as uTest announced in April that satisfactory test case management tool. 180 countries around the globe, they they’d be developing a new test case When asked specifically about tools are founded on a crowdsource testing management system (http://www.utest. such as TestLink and XStudio, Johnston business model that involves a number of com/press/utest-announces-partnership- indicated that his customer base gave different testers from different places as mozilla-build-test-case-management- little feedback on these at all. opposed to in-house consultants. Testers system), an announcement that came sign-up with uTest and complete a Open source tools such as TestLink to fruition on October 25, 2011 as technical profile indicating their technical and XStudio were, however, evaluated they announced the release of the expertise, along with the platforms, by uTest, along with many commercial beta version of this system known as environments and/or devices they have tools and, according to Johnston, some CaseConductor (http://blog.utest.com/ access to. These testers are then enlisted key elements necessary for uTest’s utest-and-mozilla-release-beta-version- for testing assignments as necessary approach for doing business were of-caseconductor/2011/10/). These when their profiles meet the needs of missing. One of the key elements that 8 Automated Software Testing Magazine www.automatedtestinginstitute.com December 2011
  • 9. Open Sourcery was lacking was the ability to adequately the beta release, CaseConductor was regression tests. handle remote collaboration. For any developed with the following three core 3. Simple interface – The producers given testing project, uTest may have values: of CaseConductor set out to keep testers from all around the world plus 1. Community-oriented – Allow the tool as accessible and simple testers from a client’s company (for which dynamic distribution of test cases as using Word or Excel since those the testing is being conducted) involved across different user roles. With are the tools being used to manage in test implementation. Tests or even test CaseConductor, your testing test cases for a big chunk of the steps may need to be assigned to various team can be a combination of market. Test cases libraries have testers in different locations, testers may your internal QA members, open the potential to be quite large, but need to be able to communicate with source testers and uTesters – all the UX has been streamlined to one another, and status may need to be of whom can execute test cases keep assignments and results on appropriately tracked. Another missing simultaneously. Essentially, you one screen. element that the CMO identified was the can create an unlimited testing ability to appropriately handle a more Currently, there is no integration team using a single interface. with functional automated test tools, but fluid, agile style of testing. uTest has a lot of customers that develop mobile apps, 2. Environment coverage – In according to Johnston, conversations have which Johnston says requires a different today’s software ecosystems, already begun with organizations that are testing approach than that employed for almost every product needs to interested in developing integrations with larger, more monolithic applications. support an enormous testing matrix it. AST will keep an eye out for this and consisting of OS versions, device will also be listening to the automation For these reasons and others uTest felt makers, languages, locations community to find out how well you all that a new tool was necessary, and upon and more. CaseConductor’s receive CaseConductor into the fold of working with uTest customer Mozilla, the design around environment test management solutions. makers of the popular Firefox browser, it attributes allows testers to easily was found that they had many of the same and visually specify complex Wait! There’s More! test management needs that apparently compatibility test metrics and weren’t being filled by Testopia or any select those high priority test cases For more information on other tool. uTest and Mozilla decided for quicker and more targeted CaseConductor, visit the to work together to create a new test compatibility testing. The goal CaseConductor repository at management solution that culminated into for CaseConductor was to enable https://github.com/mozilla/ what is now known as CaseConductor. testing managers to improve their caseconductor-platform/ According to the announcement of product coverage when doing full Training That’s Process Focused Yet Hands On Software Test Automation Training www . training . automatedtestinginstitute . com Public Courses Software Test Automation Foundations Automated Test Development & Scripting Designing an Automated Test Framework Advanced Automated Test Framework Development December 2011 www.automatedtestinginstitute.com Automated Software Testing Magazine 9
  • 10. 10 Automated Software Testing Magazine www.automatedtestinginstitute.com December 2011
  • 11. We have 203 guests online December 2011 www.automatedtestinginstitute.com Automated Software Testing Magazine 11
  • 12. Obfuscation Avoiding Friendly Fire in the Battle for Security by Dion Johnson 12 Automated Software Testing Magazine www.automatedtestinginstitute.com December 2011
  • 13. “Obfuscation is not the first technique employed to protect code from those that wish to reverse engineer or tamper with it, but is instead another weapon used in a long battle between programmers and those that seek to use or access the programs in unintended, undesirable ways.” Obfuscated Code - Obfuscated code is source or machine code that has been made difficult to understand for humans. Programmers may deliberately obfuscate code to conceal its purpose (security through obscurity) or its logic to prevent tampering, deter reverse engineering, or as a puzzle or recreational challenge for someone reading the source code. http://en.wikipedia.org/wiki/Obfuscated_code C yber security and the ability to protect code from being reverse engineered have become increasingly important as the threats of a system being reverse engineered or compromised have exploded over the years. It is widely accepted that the risk of these threats cannot be eliminated, but can be greatly reduced by making application code more obscure and costly to decipher in an effort to deter the act of reverse engineering. Increasingly, a method known as obfuscation is being employed to make the code more obscure. In general, obfuscation is the practice of making something more confusing, unclear, and/or difficult to understand. This same definition applies to obfuscated code as well. Obfuscated code is code that has been modified, typically by a program known as an obfuscator, to be more convoluted and difficult for humans to understand and follow its behavior. The obfuscated code is functionally indistinguishable from the original code, but the details surrounding the implementation of those functions have changed. Obfuscation is not the first technique employed to protect code from those that wish to reverse engineer or tamper with it, but is instead another weapon used in a long battle between programmers and those that seek to use or access the programs in unintended, undesirable ways. Unfortunately, it is often the software automator that gets caught in the cross fire from this never ending battle, particularly when the obfuscation affects an application’s user interface (UI). When obfuscation affects an application’s UI, test automation is severally impacted because these tests depend on a certain degree of consistency and/or predictability in how UI elements are referenced. Turning to Figure 1 allows us to look at three commonly exercised elements: a Username textbox, Password textbox and a Login button. Automated tests identify these three elements by property values that have been assigned to them in the application code. For example, each object may have an ID property that defines it. The username textbox may have an ID equal to ‘uname’, the password textbox may have an ID equal to ‘pword’, while the Login button may have an ID equal to ‘Login’. These property names are descriptive and probably fairly constant, thus helping the page remain relatively automatable and maintainable. An obfuscated UI will likely change these IDs in a manner that will negatively affect their ability to be consistently accessed by automated tests. Table 1 and Figure 2 reveal how the ID properties may be affected by obfuscation. Not only do the properties follow no set pattern, they may change from build to build or as often as each time the application is invoked. December 2011 www.automatedtestinginstitute.com Automated Software Testing Magazine 13
  • 14. Pre-obfuscation automation • Label-based identification ID property = ‘uname’ • Obfuscation map utilization labels • Image-based automation ID property = ‘pword’ Pre-obfuscation Automation Probably the most obvious solution to ID property = ‘Login’ dealing with obfuscated code is to… well…not deal with obfuscated code. Since obfuscated code is typically the product of a baseline set of code being run through an obfuscator, it stands to reason Figure 1: Login Screen that automation be performed on the code prior to it being obfuscated. Some take umbrage with this solution because it is testing of a code base that is different from that which goes into production. In his blog, Nick Olivo, frequent ATI Object ID First Accessed ID Second Accessed contributor, takes aim at this criticism: User erlwlkjf4 askflaf6 “I would think that obfuscation would Password pewtlj90 aasksj2 impact any tests that were run after the obfuscation process. So is it safe Login alsjfafs3 aljfljlaj5 to say that companies who employ unit tests must be running those tests Table 1: Obfuscated Properties prior to the obfuscator running? If so, should the manager be concerned that the unit tests were run against non-obfuscated code? Obfuscation would also prevent any other type of post-build white box testing; so any tools I've written that call methods directly from dlls or invoke web service calls would be stopped dead. So what's the best ID property = ‘erlwlkjf4’ solution here? Is it to do the bulk of labels your automated testing against non- obfuscated code and then do manual ID property = ‘pewtlj90’ sanity checks against an obfuscated build? Or is there a better way that I'm not seeing?” ID property = ‘alsjfafs3’ (http://autonomicon.blogspot.com/2009/02/ obfuscation-question.html) Label-Based Identification Figure 2: Obfuscated Login Screen Obfuscation is typically a process that is transparent to the user of an application. Therefore, while much of the code is T changed during the obfuscation process, items that we may reasonably expect to remain stable are text-based UI labels, his type of UI instability has brought down many test automation along with their relationship to fields on efforts, because it makes the test automation un-maintainable, a page. For example, Figure 2 has two particularly as the automated test bed grows. text boxes, each preceded by a label that provides information to the user on how There are several proven techniques, however, that may be those textboxes should be used. The labels employed to provide cover for test automation when development are not necessarily directly linked to fields injects obfuscation into the coding battles against hackers and the that they describe, but there is normally a like, including: pattern for assigning labels to fields. Once 14 Automated Software Testing Magazine www.automatedtestinginstitute.com December 2011
  • 15. is moved around the screen and/or its table row 1, table row 1, column 2 properties change. column 1 Cell-based identification is useful when the page objects are contained within a table. Provided that each label/field pair is contained within cells separate from other label/field pairs, the cell configuration table row 2, may be used for uniquely identifying a column 1 table row 2, column 2 field. The first step in making this work is to programmatically locate the label that is associated with the desired field on the Figure 3: Cell-based Object Identification screen, and then get the table cell in which the label exists. Based on the pattern used the pattern is identified it can be assessed Thus, gathering all of the page’s objects in the application for storing label/field and used for object identification by an into an array named pageElementArray, pairs, the label cell information will be automated test at run-time. would produce an array or collection with used for uniquely identifying the desired the following items: field. For example, if the label typically Three approaches for using labels to exists in the same cell as its associated uniquely identify fields are: pageElementArray[0] = Username label field, then code can be written to get the 1. Location-based identification pageElementArray[1] = erlwlkjf4 textbox child textbox of the same cell element in 2. Cell-based identification pageElementArray[2] = Password label which the label exists. If the field typically exists in the same row, but an adjacent 3. Property-based identification pageElementArray[3] = pewtlj90 textbox column of the label, as illustrated in pageElementArray[4] = alsjfafs3 button Figure 3, code can be written to get the Location-based identification initially child textbox element of the adjacent cell. seems closely linked to the volatile Upon looping through the array or coordinate-based automation approach In a roundabout way, the cell-based collection of objects and locating the that we’ve been taught to steer clear of. approach is dependent on location, desired label, the automation loop can Despite appearances, however, it is not because you’re expecting the field to be in be set to return the very next item in the the same thing, but is instead a much more a location relative to its associated label. array or collection that is a textbox. So, stable approach to identifying application The third label-based approach, property- if the automated test needs to access the fields. Location-based identification based identification, is the only label- ‘Password’ textbox without using the using labels is based on the stability of based approach that is not dependent dynamic ID property that is currently the label names and the pattern used by on location at all. This approach is most equal to ‘pewtlj90’, it would simply programmers for coupling labels with useful when the label element has an loop through the array of objects and fields, which is a more robust approach attribute that is directly tied to an attribute find the ‘Password’ label. Upon find the than using the actual position of an object of its corresponding field. ‘Password’ label at array item 2, the loop on a screen. - which has been set up to return the very For example, a label may have a NAME Location-based identification first requires next array item that is a textbox - will attribute that is identical to the ID attribute that your test automation approach provide return array item 3, which is the ‘pewtlj90’ of its corresponding field, as illustrated in a mechanism for obtaining all fields on a textbox. Provided that the label name text Figure 4. In this situation, automated test page into an array or collection, based on remains constant, the associated field code can be written to programmatically the order in which those objects appear can be found even if the field (and label) obtain the desired label based on its label on the screen. For web pages, the “all” document object model (DOM) method NAME property = ‘erlwlkjf4’ makes this possible. If you are using xpath for web object identification, “//*” will do the trick. Once the objects are stored ID property = ‘erlwlkjf4’ in an array, a loop may be established to traverse that array or collection in search ID property = ‘pewtlj90’ of a label element with the desired label text. Then, based on the pattern identified for coupling labels with fields, the desired ID property = ‘alsjfafs3’ field can be identified. For example, the application screen represented in Figure 2 has its fields preceded by labels that NAME property = ‘pewtlj90’ represent that field, evidenced by the fact that the ‘Username’ label precedes the Figure 4: Property-based Object Identification textbox used for entering a username. December 2011 www.automatedtestinginstitute.com Automated Software Testing Magazine 15
  • 16. text, and then get the NAME property (TABOK) Guidebook describes Image- associated with that label. The automated based automation as follows: C code can then be instructed to find the …often based on Virtual Network field with an ID property that is equal to the label NAME property that has been Computing (VNC), [an image-based automation tool} relies on image ontribute captured. recognition as opposed to object C Upon identifying the appropriate label- recognition (Context Sensitive) or based approach, functions and/or methods can be created to perform the necessary coordinate recognition (Content Sensitive). ontent computations in a way that is seamless to VNC-based tools follow the two- T the design time test automation process. computer system, with the automated The automators would simply need to use a field’s associated label text for tool residing on the client machine and functioning as the VNC client. The server oday identification of that field as opposed to machine on which the AUT is installed properties directly related to the desired will run a VNC server that communicates field. with and transmits images to the VNC client. These tools, therefore, recognize oBFUSCATION mAPS application objects based on analysis of the transmitted images. At times, when code is passed through Community an obfuscator, in addition to outputting This mode is more closely related to context sensitive automation than content Comments Box the obfuscated code an obfuscation map may also be produced. This map provides sensitive, because it is not completely a direct relationship between old property coordinate-based. These images may still values and the new property values of be located if they are moved to a different application fields and other elements. If an screen position or if their internal obfuscation map is not produced, you may properties change. Thus, image-based Announcements & be able to request that the development automation can be useful for handling Blog Posts team modify the obfuscator to produce applications that utilize obfuscation. such a resource, because it could be invaluable. With an obfuscation map, a cONCLUSION utility can be written to synchronize the Obfuscation is a battle between software object information used by the automated producers and their enemies, and if testing scripts with the new object information Automation suffers, ultimately the software producer in the application prior to or during script suffers. Follow the approaches defined Events execution. in this article to avoid being a casualty of obfuscation or any other development IMAGE-Based AUTOMATION approach that injects instability in the The Test Automation Body of Knowledge application UI field properties. 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. Learn more today at http//www.about.automatedtestinginstitute.com 16 Automated Software Testing Magazine www.automatedtestinginstitute.com December 2011
  • 17. December 2011 www.automatedtestinginstitute.com Automated Software Testing Magazine 17
  • 18. 18 Automated Software Testing Magazine www.automatedtestinginstitute.com December 2011
  • 19. A Automated Mobile Automation M obile esting With Traditional Tools & Beyond by Patrick Quilter Has consumer demand already chosen mobile devices to replace the personal computer? Will traditional webpage design with drop downs and text boxes lose ground to mobile touch screen data entry? Will everything we know about creating automated tests for applications change because of mobile devices? Don’t abandon your old automation frameworks just yet. You’ll still need them to expand into the untamed world of automated mobile testing. Mary Meeker, a renowned Internet analyst with Morgan Stanley, highlighted the significance of mobile consumer demand in her latest “State of the Internet” report. Meeker predicted that within the next five years, “more users will connect over mobile devices than desktop PCs.” Since 2010 the trend of smartphone shipments outpacing PC shipments continues to surge and gives credence to Meeker’s forecast (Ingram, 2010). Anyone can see that a multitude of organizations have already embraced this technology swing by developing applications explicitly to establish a mobile presence. Recognized companies continue to offer free or inexpensive apps for both business and entertainment purposes. While having a mobile presence is significant for organizations, it is also becoming imperative to have stable applications and mobile “Simulators on websites. PhoCusWright conducted an 800 participant survey to evaluate Windows or Macs user tolerance for buggy mobile software. The survey revealed that 37% of smartphone users indicated that they would be less likely to use that particular allow teams to employ application again and 28% indicated that they would seek out competitor applications (Leggatt, 2010). These facts illustrate the importance for sound traditional automation application development practices and the ability to automate test cases. With so many different devices and new ones emerging all the time, it’s infeasible engines like Quick to conduct sufficient testing for each, manually. Automation’s luster is the ability to execute large volumes of repeatable scenarios that a person could Test Professional or not undertake manually. Selenium” December 2011 www.automatedtestinginstitute.com Automated Software Testing Magazine 19
  • 20. To Simulate or Not to Simulate software under development is going device transactions has spurred the growth to be application based or web based? of application development service A typical beginning for application If application based, functionality will providers. A capable service provider will development teams journeying the path vary depending on device platform such offer an on-demand testing infrastructure, of mobile testing is to create automated as iPhones, Androids, Blackberries, and multiple devices, and automated scripting scripts that execute on desktop simulators. Windows. Although some solutions capabilities. A simulator has the same look-and- are materializing to allow developers In terms of mobile testing this type of feel of a mobile application displaying the ability to create one codebase that service is invaluable because it accounts on a device, however, it executes on a deploys over multiple devices (regardless for all major strategic characteristics desktop operating system. Teams utilize of iPhone, Android, etc.) the typical under one solution. But what specific a simulator by constructing business approach is to maintain a separate service provider existing today offers all flow, user designs, and verifying basic codebase per platform. A savvy tester of this? functionality of their applications. will see the vulnerability in maintaining Simulators on Windows or Macs allow multiple codebases. This implies multiple teams to employ traditional automation builds to verify. Meet Keynote engines like QuickTest Professional or DeviceAnywhere Selenium to create test cases. Device manufacturers and operating A great example of this type of service systems have the biggest impact on Although using a simulator adds provider is a company called Keynote how applications function even across value to an application development DeviceAnywhere headquartered in the platform families. For example, the practice, verifying functionality is San Mateo, California. Keynote HTC EVO and Samsung Galaxy are both limited. Neglecting to conduct tests on a DeviceAnywhere helps organizations of part of the Android family, however, the physical device causes vulnerabilities to all sizes bring their products, services, same application installed on them could application performance. This realization and IT applications to a mobile platform. function differently. The reason for has its drawbacks. For one, the list of Their cloud-based solution hosts a phone this is the manufacturer can manipulate popular devices is growing rapidly, and bank of over 1000 real devices that are how processing, GUI rendering, and testing must occur for all devices on used for mobile application testing, test form factors affect execution on their the list. Secondly, how do application automation, monitoring, and development devices. Web based functionality is more development teams execute test cases worldwide. This is possible through straightforward because developers and outside of the PC-based automation tools? their award winning, end-to-end studio testers converge on a single deployment Are there any strategies to handle these platform that cuts operational expenses of code to a server. Configuration settings A capable service provider will offer an on-demand testing infrastructure, multiple devices, and automated scripting capabilities. determine functionality based on the challenges? and time associated with testing mobile device a user connects with to the mobile applications (HP/KDA datasheet, 2009). website. Normally, functionality across What’s the strategy? product families will work the same. The most challenging aspect of an Although not a guarantee, testing a mobile Accessing the Environment automation strategy is devising a practice website with an HTC EVO and Samsung Keynote DeviceAnywhere users first that optimizes test case execution across Galaxy that is running the same version of gain access by logging into a web-based multiple devices. Ideally we’d like to Android should produce the same results. portal that provides a management craft a single test case that can execute Testing just one of them would most likely dashboard, training information, and on multiple devices, otherwise we would be sufficient. The device carrier is also links to support resources. From there, have to maintain a separate copy of each significant when considering a strategy for the user downloads the client-side test case, per device. Test sets (a collection both mobile applications and web based software onto their individual desktop to of test cases that compose a test plan) software. Network speeds and protocol experiment with the actual devices. This would become maintenance intensive restrictions are common performance gives them a window into the Keynote over time without this reuse capability. hinderers for mobile software. The key DeviceAnywhere devices hosted in the Mobile devices cause a significant amount for any organization will be how to turn cloud. A visual representation of the of variation for development and testing the strategy into reality. physical device displays once the user efforts. First, is the question of whether Luckily consumer demand for mobile acquires a device. Users can license any 20 Automated Software Testing Magazine www.automatedtestinginstitute.com December 2011
  • 21. K The KIT is Coming If you thought ATI’s 2011 event was good, wait until you see 2012. http://www.testkitconference.com December 2011 www.automatedtestinginstitute.com Automated Software Testing Magazine 21
  • 22. Most tools rely on open and published APIs to obtain the discrete properties of a control. Mobile platforms do not provide the traditional APIs, rendering your favorite tools useless in mobile of the hosted Keynote DeviceAnywhere developed for one device it can be cloned script-less actions correspond to these devices upon request. Acquiring devices to run on multiple devices. It’s script- screen interaction properties. is an important concept because team less because automation steps are created Walking through an example, a user members can share and schedule times by dragging and dropping icons which developing a script for an iPhone will first for when they want to test on particular are preset to perform specific actions. acquire the device and is then presented devices. Stringing together a series of icons with a window view of the iPhone next Once a device has been acquired, the user produces a whole test case. to a blank execution grid. This tells the can control all aspects of the physical For users that are familiar with traditional scripting component that the particular device through mouse clicks and keyboard web-based automation, the biggest implementation is going to interact with strokes to mimic the actions as if they had adjustment may be getting accustomed an iPhone device. The users will drag- the device in their hand. The user can to how objects are represented on mobile and-drop Keynote DeviceAnywhere also manipulate the features of the devices pages. Tal Barmeir, CEO of Experitest, actions (icons) onto the execution grid such as buttons, LCD screen, speaker, in an order that corresponds to test case ringer, battery, power-plug, and data- steps. The actions available to the user cables. The Keynote DeviceAnywhere can search for some text on the screen, control sliders allow the user to change Script-less automation: enter text, click on GUI icons, or validate these setting and pre-condition the device before conducting a test case. “ Script-less means no scripting/ a checkpoint area located on the screen. The actions are separate steps represented programming in the test automation Another controller known as the Device as separate icons. During execution, the tool’s native language. This Console is also accessible for typing actions perform the key strokes and touch doesn’t mean there are no scripts text and performing SMS messaging. screen interaction that a human has with involved. Explicitly, this means This Console can monitor HTML traffic the iPhone. The iPhone’s screens are while automating test cases, there between webpages and the device. The driven by the actions in the execution grid is no more need to program scripts importance of controlling these features until the last one has been reached. for each test case” is in the fact that mobile test cases have Once the test case has been created and some unique verification steps when (Qualitia, 2011). saved, the test case can then be cloned compared to PC based applications or for other devices. All of the steps that webpages. For example, a user may want were created for the iPhone could be to see what happens to their application enabled for an HTC EVO. The benefit of when the phone rings or a text message explains that, “existing industry-leading cloning test cases is that for the most part is received (Keynote DeviceAnywhere, test automation tools are restricted by application flow stays consistent from one 2010). Accessing the devices through object recognition limitations. Most device to the next. All action command the studio and using the Device Console tools rely on open and published APIs to steps are converted for use on the new allows a user to set the stage for these obtain the discrete properties of a control. device. In some cases, actions that types of scenarios. Mobile platforms do not provide the contain specific GUI representations will To accomplish automation, Keynote traditional APIs, rendering your favorite need updating after the cloning process. DeviceAnywhere provides a module tools useless in mobile” (Barmeir, 2011). Typically these types of updates are specifically for managing requirements, Unlike web page objects, mobile objects minimal and identifying where to make test case steps, execution tracking, and are identified differently. Web-based the adjustment is intuitive to the users. result reporting. Each of the items are objects are referenced by property tags This is because the user has the advantage organized within a project and shared such as an object name or ID. A scripter of using the Keynote DeviceAnywhere between team members for collaborative can use tools to break down the various technology to stay within a consistent testing. A user can start creating types of objects on a page and associate framework. Users can also mitigate the automation steps by accessing Keynote data with those objects. With mobile amount of updates by incorporating an DeviceAnywhere’s device-agnostic, application rendering, property tags are automation development strategy or best script-less automation technology (HP/ not referenced in this way. Instead a user practices within the framework that fits KDA datasheet, 2009). The technology is interacts with the screen by anchoring on their applications. Trial and error will device-agnostic because when a script is specific text, icon recognition, and pixel help identify the best strategy. locations. Keynote DeviceAnywhere’s 22 Automated Software Testing Magazine www.automatedtestinginstitute.com December 2011
  • 23. Incorporating Framework an add-in that a user can download for editing complex logic before the compile Automation this capability. For those that are QTP stage. The Keynote DeviceAnywhere developers, you know that when launching APIs provide a great way for organizations For many applications, using the script- QTP you have the option to select which that don’t have expensive commercial less approach is appropriate especially add-ins are loaded for your development tools or the budget to purchase them if functionality changes are minimal and execution sessions. After installation, to still get the most out of the mobile between code updates or if the particular the user just needs to check the box in the automated testing experience. application doesn’t have an abundance add-in selection screen for the Keynote of data entry. An application heavy with links and button pushes would be covered DeviceAnywhere add-in. Once this step How We Integrate with is complete, a user can reference any of Keynote DeviceAnywhere adequately. This is also a useful approach the actions they’ve created to drive the if the test case suite is small and easily automation capabilities on any of the Here at Quilmont we have a pre-developed maintainable. devices. Interacting with a specific device framework that comprises a user-friendly Users that have applications with heavy is managed in the QTP object repository interface for managing application data entry in many business scenarios will where every device that is going to be properties and creating test case steps. naturally want to incorporate industry tested is a separate object in the repository. Our out-of-the-box function libraries standard practices such as creating a data The handshake between the repository integrate with QTP/QC, Selenium, driven or keyword driven framework. This and the devices are controlled by a unique CodeUI, Rational Functional Tester, type of approach enhances script reuse, ID property. From this point a user can and yes, Keynote DeviceAnywhere. quicker maintenance, and offers the ability design a framework and separate the For our Keynote DeviceAnywhere to create test cases without consuming a automation code from their test case data. implementation, we provide plug-ins for Keynote DeviceAnywhere license (the As a best practice, a user should create both QTP and JAVA APIs to deliver a last section provides an example of how a design where QTP does the repetitive framework with keyword and data driven this can be accomplished). For those well calling of a sequence of Keynote capabilities. versed in automation design, the script- DeviceAnywhere actions while passing In our setup we employ a three layer less approach may sound like a variation parameters to those actions. Keystrokes approach. In the first layer we have several on record and playback. Also restricted and data entry can be controlled in keyword actions packaged at a project level access to the scripting language may strike spreadsheets or other data harnesses. All for use in the Keynote DeviceAnywhere automation developers as a hindrance to results and screenshots during execution Studio. Keynote DeviceAnywhere their effectiveness. In other words there will roll up into the QTP execution report Studio allows projects to be imported are some things a seasoned programmer (Keynote DeviceAnywhere, 2010). and exported. For us, this means we can accomplish more effectively with code can import and export our keyword actions to any Keynote DeviceAnywhere Keystrokes and data entry can be Studio installation. Our second layer is a driver script which could be the QTP controlled in spreadsheets or other or JAVA API version depending on the customer request. This is the layer that processes the main execution and calls data harnesses. the keywords depending on the test case information it receives from the third A second option for organizations that do layer. The third layer is our framework than relying on script-less actions. Not to not have Functional Testing (QTP) and interface. In this layer our customers worry because Keynote DeviceAnywhere don’t plan to purchase it, is to create a can manage any application properties offers two ways to interact with their data driven or keyword driven framework (for mobile application this would be automation engine so that a tradition data by utilizing Keynote DeviceAnywhere’s text, icon objects, pixel information) framework can be created. JAVA based APIs to control the actions. and create test case steps. The test For organizations that use HP/Mercury In the same way a user can create case steps call keyword actions in the Functional Testing (QTP) and Quality reusable code and incorporate a datasheet Keynote DeviceAnywhere studio while Center, there is a tremendous opportunity to drive the commands. Keynote also passing parameters to these actions to continue utilizing these tools and DeviceAnywhere provides a JAVA editor through the driver script. This allows our configure them to work with the Keynote internally to create the API programs and customers to first create all of their test DeviceAnywhere Studio. This allows conveniently stores all components inside case information outside of the Keynote organizations to expand upon the familiar the Keynote DeviceAnywhere Studio. In DeviceAnywhere Studio which cuts down features of QTP and QC as well as enhance addition, the Keynote DeviceAnywhere on license consumption and then log into their tester’s skillsets. This option allows Studio can interact with other JAVA the Keynote DeviceAnywhere studio a QTP developer to extend their current editors such as Eclipse to get the full when they are ready to execute their test framework to invoke existing actions in capabilities of a JAVA environment cases. the Keynote DeviceAnywhere Studio. (Keynote DeviceAnywhere, 2010). This An example of how the three layers work Keynote DeviceAnywhere has created is convenient for managing packages and together can be illustrated as follows: December 2011 www.automatedtestinginstitute.com Automated Software Testing Magazine 23
  • 24. Let’s assume the device we are testing is an HTC EVO and our These three calls will log into the application and drive the screen application has a login screen. The login screen has objects for to the next page. a user name, password, and a login button. The goal of our test Statistically we can see that mobile devices are becoming case is simply to verify that we can log into the application and the preferred way of conducting business transactions for get to the next screen. Starting with layer three (framework consumers. Touch screens provide a more desirable method interface) we would represent each of the objects (user name, for collecting customer information than keying data into web password, and login button) in the section of the interface that manages object information. Since these are mobile objects we forms or scrolling through overpopulated dropdown boxes. would most likely reference the text labels for each object. In Mobile devices have arrived and more companies are embracing the test case creation section of the interface we would create the the change every year. It’s fair to describe the application step sequence where each step would reference an object name, development techniques for mobile software as still being in its value, and keyword action. early stages. However, applying discipline through traditional application development practices (test automation being one of them) will assist future standardization. From an automation developer’s standpoint, learning the tools and techniques in this early stage will have great implications on a person’s individual Framework Interface: skillset. It’s an amazing opportunity to learn, discover, and help Step 1: User Name | user1 | EnterData standardize the untamed world of automated mobile testing. Step 2: Password | pwd1 | EnterData References: Step 3: Login | button | Click Barneir, Tal (2011), Need for Mobile Test Automation Tool on Various Platforms (Android, iPhone, Blackberry, Symbian & WindowsPhone 7), Mobile Application In the second layer, the driver script would read these steps Testing. Retrieved: November 17th 2011 From: http:// from the framework interface and call the action in the Keynote DeviceAnywhere Studio that corresponds to the action in the www.mobileappstesting.com/category/mobile-application- step sequence. The driver passes the object name and value to testing/mobile-application-testing-and-automation-tools/# the keyword action. HP/KDA Datasheet (2009), Test Automation for Mobile Devices, Hewlett-Packard. Retrieved: July 16th 2011 From: http://support.openview.hp.com/ Functional Testing (QTP) or JAVA API Driver: GET Step 1 from interface, CALL EnterData in Keynote Keynote DeviceAnywhere (2010), Keynote DeviceAnywhere Studio, PASS User Name | user1 DeviceAnywhere Test Center User Manual for Enterprise GET Step 2 from interface, CALL EnterData in Keynote Deployments, Keynote DeviceAnywhere. Retrieved: June DeviceAnywhere Studio, PASS Password | pwd1 15th 2011 GET Step 3 from interface, CALL Click in Keynote DeviceAnywhere Studio, PASS Login | button Ingram, Mathew (2010), Mary Meeker: Mobile Internet Will Soon Overtake Fixed Internet, Gigaom. Retrieved: October 25th 2011 From: http://gigaom.com/2010/04/12/ mary-meeker-mobile-internet-will-soon-overtake-fixed- In the first layer, the pre-developed keywords receive the internet/ parameters from the driver script and use the Keynote DeviceAnywhere automation engine to translate the action for use on the HTC EVO. Leggatt, Helen (2010), Travelers display low tolerance for mobile app, website glitches, Gigaom. Retrieved: October 25th 2011 From: http://www.bizreport.com/2010/08/ travelers-display-low-tolerance-for-mobile-app-website- Keywords stored in Keynote DeviceAnywhere Studio: glitches.html# RUN EnterData, FIND User Name, TYPE user1 RUN EnterData, FIND Password, TYPE pwd1 Qualitia (2011), Defining Scriptless, QualitiaSoft. Retrieved: November 17th 2011 From: http://www.qualitiasoft. RUN Click, FIND Login, TOUCH Login com/pdfs/Definition%20of%20Scriptless%20Test%20 Automation.pdf 24 Automated Software Testing Magazine www.automatedtestinginstitute.com December 2011
  • 25. Are You Contributing Content Yet? The Automated Testing Institute relies heavily on the automated testing community in order to deliver up-to-date and relevant content. That’s why we’ve made it even easier for you to contribute content directly to the ATI Online Reference! Register and let your voice be heard today! 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
  • 26. t m sat m Wi by To We all have the necessary components on our systems to build a solution of our own. Test Management 26 Automated Software Testing Magazine www.automatedtestinginstitute.com December 2011
  • 27. “A simple system...to coordinate your test procedure development effort.” Integrating MS Office F C or-E ost ffective Test Management A Homegrown, Desktop Solution for Test Management A s in any test effort, we write test procedures and eventually require some way to keep track of all of the documentation. Many of us become spreadsheet jockeys with workbooks of our tests and other supporting information tucked away in the labyrinth of our disk drives. The management becomes increasingly cumbersome leading to duplication and confusion. We forget if we wrote a procedure to cover a case, a new member joins the team and does not know what has been written, or we are unable to locate the needed procedure. Our typical solution is to write a new test and add it to the workbooks for safe keeping. Another complication arises when we want to create a test set for a particular purpose, such as a user acceptance test or regression test set. We may also get requests from management about which tests cover which requirements, or about getting some sort of a test report. Pulling the different parts together to create the needed documents, and managing the whole process becomes time consuming and error prone. In other words, a perfect opportunity for automation! There are a number of nice commercial solutions available that answer the task quite well; but, what if we do not have a large team or a budget that can afford one of the packages? We all have the necessary components on our systems to build a solution of our own. What follows is an explanation of a system I developed with Microsoft (MS) Office, and the same can be adapted for OpenOffice. Org. December 2011 www.automatedtestinginstitute.com Automated Software Testing Magazine 27
  • 28. Requirements Before jumping into the details of the design, a few requirements need to be established. After having used a number of tools over the years, I settled on the following basic functions: • Viewing of all tests • Filter and Sort • Test Set Production • Track Status and Author • Allow Attachments • Associate Requirements • Track Team Members • Allow Team Communication Figure 1: Test procedure database directory structure Basic Architecture Most of us have the Microsoft Office need to share out the location to your team if you choose to store it on your own work suite on our machines and it makes sense station. This organization is optional, so, feel free to adjust to your own desire. to develop for something the majority This organization works well, as it helps to keep things organized in a way that seems has access to. Most of us, though, forget logical. At the root directory is the actual database – in this case it would be under that Office is more than Word, Excel and the Test Procedures directory. Under that are subdirectories for each of the systems PowerPoint. At the heart of this system of your particular test effort. If this was an effort to test MS Office, they would be is the MS Access database. The test Word, Excel, PowerPoint, etc. Under each of the system directories are the subsystem procedures are in MS Excel spreadsheets directories and under that are the test files themselves. to make the formatting somewhat easier, and allow for some additional The naming convention for the files mirrors the above directory structure. It helps functionality without the complication of Word document formatting. In addition, there is a hook into Outlook to provide some automated communication for the team. Behind the scenes, MS Office uses Visual Basic for Applications (VBA) for the programming language. This makes it easy to add more functionality or modify any of the existing functions. The database provides a place to store the details about the test procedures, but the file system contains the actual spreadsheet files. Using links in the database, the tests can be displayed and modified. New tests are created from the information entered into the database. The test procedure files are kept as originals, and modified as needed and copies are created and collected to build test sets for the actual runs. Refer to Figure 1 below. The database is best stored on a networked drive shared out to the team. At a minimum, you will Figure 2: Tables and relationships 28 Automated Software Testing Magazine www.automatedtestinginstitute.com December 2011
  • 29. locate a file easily as the name contains the basic structure: <ProcNum><System><Subsystem>.xlsx The ProcNum is automatically generated by Access, and the initial spreadsheets get the number on the tabs as you will see. Delving further into the structure of the database, we have tables that not only contain the data for our test procedures but also the various components associated with the test procedures. To make up a test procedure, we need to know certain details such as description, system, subsystem, status, etc. Some of the information can be selected from drop-downs that draw from the data in the tables. Figure 2 shows the tables and their respective relationships within the database. Keep in mind when you modify the structure of the tables (e.g. add or remove columns), you may need to remove a relationship and restore it after Figure 3: Main Page Form you finish the modification. The tables are: • System – contains the names of the systems and their related subsystems. Typically you can use work breakdown structures, diagrams or other documents to develop items for this table; • Members – the team members and related information such as telephone numbers, e-mail addresses, etc; • Status – stages of the procedure development from In Progress to Obsolete; • Methods – the test methods for each procedure such as Analysis, Observation, and Test; • Requirements; • Procedures; • Req Attachments – requirement attachments; • Attachments – procedure attachments; • ReqtoProcID – the associated IDs of the requirements and test procedures. Forms and Reports MS Access uses forms and reports to serve as the interfaces to the tables and data. The Figure 4: Test Procedure Entry/Edit Form December 2011 www.automatedtestinginstitute.com Automated Software Testing Magazine 29