Skip to main content

By clicking Submit, you agree to the developerWorks terms of use.

The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

All information submitted is secure.

  • Close [x]

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerworks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

By clicking Submit, you agree to the developerWorks terms of use.

All information submitted is secure.

  • Close [x]

Using Rational tools to test Lotus Workplace and Notes/Domino integration

Cynthia Barber-Mingo, Advisory Software Engineer, IBM, Software Group
Cynthia Barber-Mingo is an Advisory Software Engineer specializing in scenario development for the Lotus Solutions Engineering Test group. She currently leads the Solutions Test Development Team, with a focus on Rational test tools and Lotus Workplace and Domino integration code strategies. She's also served in senior engineering positions in Unix, Domino, SNA, and PC programming integration for IBM, Lotus, and Digital. Cindi holds a BA in Computer Science from Columbia.
Michael Gazda, Software Test Engineer, IBM, Software Group
Michael Gazda has worked on projects involving network compression, IMAP, and Domino Web Access (iNotes). Mike currently leads the Solutions Test Infrastructure Team. Previously, he spent over three years as a Senior Technical Support Analyst in Lotus Notes/Domino Technical Support where he handled a variety of support issues, including database design, mail routing, and server issues. He is a Certified Lotus Professional in both database design and server administration for both R4 and R5. Michael recently earned his BA in Computer Science from Boston University.

Summary:  In a previous article, we discussed simulating an integrated Lotus Workplace Messaging and Domino environment. We now carry that theme to the next level, describing how we used Rational tools to simulate a complex configuration integrating Notes, Domino, Lotus Workplace, and a number of other IBM and Lotus technologies.

Date:  01 Jun 2004
Level:  Intermediate

Activity:  1910 views
Comments:  

Alert readers may have noticed that lately we've published a series of Lotus Workplace articles written by the Lotus Engineering Test (LET) team. These articles have covered such topics as running Lotus Workplace with SSL, running Lotus Workplace and other Lotus products on an IBM eServer BladeCenter, integrating Lotus Workplace Messaging with Tivoli Access Manager, and creating MyContacts lists to test Lotus Workplace. The purpose of this series is to describe our experiences setting up realistic testing environments and scenarios for Lotus Workplace, Notes/Domino, and WebSphere Portal-based applications and to share what we've learned with customers in the process of integrating Lotus Workplace pilots into new and existing corporate infrastructures. Along the way, we've also demonstrated the capabilities and value of IBM Rational tools for test and scalability analysis. These articles are intended to help you anticipate the characteristics and requirements of your integrated Lotus Workplace environment before you begin deployment.

This article furthers the theme introduced in the previous article, "Testing Lotus Workplace Messaging and Domino interoperability." In that article, we discussed how we modeled and tested an integrated Domino/Lotus Workplace Messaging configuration. In this article, we explain how we used Rational tools to test a more sophisticated system that included Lotus Workplace, Notes/Domino, WebSphere Portal, DB2, and a number of other IBM and Lotus products. We begin by describing our integrated environment, which simulated an actual customer support center. We then discuss how we used Rational Robot GUI and Rational Robot VU to perform our testing, and we present a detailed look at the code of a GUI script. We also talk briefly about Rational XDE Tester and how we plan to use it in future testing.

The target audience for this article includes experienced administrators with some knowledge of Lotus Workplace and Domino, and (ideally) familiarity with software test tools, such as Rational Suite. Site planners and application developers should also find this article useful.

Creating the Lotus Workplace/Domino test scenario

As mentioned in previous articles, the LET Solutions Test team specializes in pre-release product testing through a technique called scenario testing. Scenario testing involves running an actual application within a test environment set up to simulate as closely as possible user activity within a real corporate enterprise. This allows us to serve as the product's first customer, encountering and addressing situations and issues before our users do.

For release 1.1 of the Lotus Workplace products, our team constructed a model customer support application to simulate and test an integrated Lotus Workplace/Domino configuration. To do this, we created a complex integrated applications environment, based on an actual customer support center that included five major components:

  • Personal communication
  • Personal collaboration
  • Technical information/research
  • Systems and test
  • e-Learning

This customer support environment is illustrated in Figure 1:


Figure 1. Simulated customer support environment
Simulated customer support environment

This application allowed us to test numerous integration points between the Lotus Workplace products and Domino.


Test environment

Our integrated environment required a number of application servers, products, and application configurations. This was due to the fact that the support center we modeled has a large investment in Domino and is interested in integrating Lotus Workplace products and functionality into their environment.

Software

Our simulated customer support system included the following software:

  • Lotus Workplace server
  • Domino 6.5.1 LDAP server
  • Lotus Instant Messaging and Web Conferencing (Sametime) 6.5.1
  • Lotus Team Collaboration (QuickPlace) 6.5.1
  • Lotus Virtual Classroom 1.1.1
  • Lotus Collaborative Portlets
  • WebSphere Application Server v5
  • WebSphere Portal Server Multi-Platform v1
  • DB2 8.1
  • Rational Suite Test Enterprise version 2003 Hotfix 2 (T30)

Our operating systems included AIX 5.2, Windows 2000, and SuSe Linux 8.1.

Hardware

To host our software test configuration, we set up an IBM eServer BladeCenter containing eight BladeCenter HS20 blades. Each blade is a dual processor Pentium Xeon. The BladeCenter is connected to the lab network via a single 1 GB Cat 6 network connection from the BladeCenter Ethernet switch to the Cisco 6500 switch. The BladeCenter ran the Lotus products (Lotus Workplace, WebSphere Portal, Domino, and so on) as well as DB2.

In addition, our environment included six IBM eServer x330 servers and two IBM p630 servers. The complete hardware environment is described in detail in the article, "Setting up an IBM eServer BladeCenter for Lotus products." We found that the BladeCenter significantly reduced the lab space required to host our servers, which saved a substantial amount of overhead costs. It was also quick to install, easy to manage, and relatively painless to expand.


Testing with Rational tools

Rational Suite testing tools gives us three viable options for creating user test scripts:

  • Rational Robot VU (virtual user) language, which provides a C language like interface
  • Rational Robot GUI language, which provides a Visual Basic/LotusScript like interface
  • Rational XDE Tester, which provides a Java-based interface

We investigated all three tools and their features to determine which were most appropriate to our particular requirements. (Eventually, we plan to also use the Lotus Workplace APIs in future testing when they become available. This is an option you may also want to consider for your own testing and analysis programs.)

Creating a test script with Rational Robot GUI

Our testing required simulating a user repetitively performing a wide range of tasks. To create a script for this, we used Rational Robot GUI's Recorder feature to record the actions of a single real user. We then used GUI's VB-like programming interface to generalize this script to simulate a large number of different users. (This is a very powerful feature of Rational Robot GUI, as described in the article, "Creating MyContacts lists to test Lotus Workplace.")

The following is an example script we created with Rational Robot GUI. This script simulates a Lotus Workplace administrator scheduling two weeks' worth of meetings for the team so that there would always be a meeting available for virtual users to log on to.

The script starts by defining the Include file that allows GUI applications to use datapools:

'$Include "SQAUTIL.SBH"

Next, we set the loop controls, including the number of days to loop through the applications and the number of simultaneous values:

Sub Main
    Dim Result As Integer
    Dim myhour As String
    Dim myMeeting As String
    Dim x,y,z As Integer	'loop controls
    Dim dp As Long		'datapool reference long
    Dim myDate As String  	'Number of days we are going 
    	to loop through applications
    Dim numDays As Integer 	'Number of days wished to loop
    Dim numSimultaneous As Integer	'Number of Simultaneous Values
    Dim AMPM as String
    'Initially Recorded: 10/14/2003  10:53:15 PM
    'Script Name: conf3

Here we initialize the data structure and define the initial launch application:

myDate="10/23/03" ' Initialization of Date Structure Window SetContext, "Class=Shell_TrayWnd", "" 'Initially Launching Application Toolbar Click, "ObjectIndex=3;\;ItemText=Launch Internet Explorer Browser", "Coords=8,8"

The third line in the preceding code snippet tells the script to go to the user's toolbar and to search for the third object at position 8,8.

Now the script opens an SQL Datapool (this datapool has to be configured within Rational Suite Test Manager):

numSimultaneous=10 numDays=14 dp=SQADatapoolOpen("conf2")

This section sets a number of variables, such as server names, the user name, and password:

    Window SetContext, "Caption=IBM Intranet - Microsoft Internet Explorer", ""
    ComboEditBox Click, "ObjectIndex=2", "Coords=31,9" ' My Browsers coordinates 
    ComboEditBox Left_Drag, "ObjectIndex=2", "Coords=104,7,33,0" 
      'Removed the value that was on the recorders browser
    InputKeys "blade3.pie.notesdev.ibm.com/wps/myportal{ENTER}"  
      'Our Server Names
    Browser NewPage,"HTMLTitle=IBM Lotus Workplace",""
    EditBox Click, "Name=userid", "Coords=13,5"
    InputKeys "blade3user2"     'Persons UserName
    EditBox Click, "Name=password", "Coords=19,13"
    InputKeys "all4pie"   'User's password
    PushButton Click, "HTMLText=Log in"

Here the browser sends back an HTML page titled "IBM Lotus Workplace:"

Browser NewPage,"HTMLTitle=IBM Lotus Workplace","" HTMLLink Click, "HTMLText=Web Conferences", ""

Next, the script extracts a value from the datapool and pulls the field MyMeeting from the first column in this datapool:

for y= 1 to numDays Call SQADatapoolFetch(dp) Call SQADatapoolValue(dp,1,myMeeting) myDate=myMeeting

The program now loops through the user actions required to create and schedule a new Lotus Workplace Web conference:

        for x= 0 To 23
            if (x >12) then AMPM="PM" else AMPM="AM" 
            myHour="Text="+trim(Str$((x MOD 12) +1))
            'print (myHour)
            for z=0 To numSimultaneous
            Browser NewPage,"HTMLTitle=IBM Lotus Workplace",""
            PushButton Click, "HTMLTitle=New Web Conference"
            Browser NewPage,"HTMLTitle=IBM Lotus Workplace",""
            EditBox Left_Drag, "Name=PC_7_0_A9_name", "Coords=135,4"  
              'Coordinates may all have to change if the
			'screen configurations change on the application.
            InputKeys "GUIPLAY "+myMeeting+" "+ Str$(z)

            EditBox Left_Drag, "Name=PC_7_0_A9_scheduledStartDateUI_DatePicker_InputField",
               "Coords=3,8,96,15"    'The Coordinates on our browsers
            InputKeys myDate

            Window SetContext, "Caption=IBM Lotus Workplace - Microsoft Internet Explorer", ""
            ComboBox Click, "Name=PC_7_0_A9_scheduledStartTimeUI_TimePicker_Hour", ""
            ComboListBox Click, "Name=PC_7_0_A9_scheduledStartTimeUI_TimePicker_Hour", 
              myHour

            ComboBox Click, "Name=PC_7_0_A9_scheduledStartTimeUI_TimePicker_Min", ""
            ComboListBox Click, "Name=PC_7_0_A9_scheduledStartTimeUI_TimePicker_Min", 
              "Text=07"

            ComboBox Click, "Name=PC_7_0_A9_scheduledStartTimeUI_TimePicker_Ampm", ""
            ComboListBox Click, "Name=PC_7_0_A9_scheduledStartTimeUI_TimePicker_Ampm", 
              "Text="+AMPM

            ComboBox Click, "Name=PC_7_0_A9_durationHour", ""
            ComboListBox Click, "Name=PC_7_0_A9_durationHour", "Text=2"
            EditBox Click, "Name=PC_7_0_A9_description", "Coords=43,14"
            InputKeys "test2"
            PushButton Click, "Name=PC_7_0_A9_OK"
            Browser NewPage,"HTMLTitle=IBM Lotus Workplace",""
            HTMLLink Click, "HTMLText=Return to Web conference list", ""
            Next z
        Next x
    Next y

Finally, we finish up our datapool.

Call SQADatapoolClose(dp)

We then click the logout button and end the script:

HTMLLink Click, "HTMLText=Log out", "" End Sub

The primary benefit of this script is the ease with which this administrative task was created. The Rational datapool feature allows you to set up ranges of dates you need in a separate environment, and it freezes the behavior in time to produce consistent tasks that work with the application. The only limitation is that even if you are using the VU load features, you should consider running at least one GUI record user anyway. The GUI interface allows the user's interactive experiences to be recorded, timed, and analyzed. In addition to automating administrative tasks, this feature is also an excellent way to record client activity.

Rational Robot VU

Rational Robot VU is the only tool currently available to us that provides the option of loading multiple instances of the application. For this reason, we chose Rational Robot VU to create all elements of our customer support scenario we intended to run under multiple simultaneous loads.

VU's detailed internal packet tracing and manipulation options require knowledge of the dynamic internals resident in the application. While the internal features of the pre-release were being developed, we had to continually update the VU scripts to reflect the changes in internal packet behavior performed by each scenario user we modeled. We mitigated the risk of large amounts of application changes by recording very small, discrete, specific behaviors. By dividing the feature functions into smaller units, each feature that had a development change could be replaced with a fresh recording as needed.

We also managed the risk of coding to a changing product by generalizing the code of our scripts. For more information on generalizing test script code, see the article, "Creating a Lotus Workplace Messaging test scenario with Rational Suite TestStudio."

Rational XDE Tester

We also looked at Rational XDE Tester as a possible component of our Lotus Workplace/Domino integration test strategy. XDE Tester is Java based, which appealed to our Java-experienced team.

Rational XDE tester requires an object map model. Unlike Rational Robot GUI, XDE Tester allows you to identify and define your own recognition patterns within the data you retrieve from your applications. In the limited time available to us, we chose to use VB and Rational's built-in recognition options rather than develop our own. In the future, as more Lotus Workplace object maps are created and made available, we will likely incorporate Rational XDE Tester into our portfolio of tools.


Summary

Based on our experiences using Rational tools to test Lotus Workplace and Domino integration, we concluded the following:

ToolOptimal usage
Rational Robot GUI
  • Repetitive administration tasks that require simple automation
  • Single user tests
  • Visual Basic or LotusScript programmers
  • Limited time to develop in-house recognition of page logic
  • Need to work with any Lotus/IBM product
Rational Robot VU
  • Need to load and run multiple users
  • C language programmers
  • Need to run unsupported protocols
Rational XDE Tester
  • Java programmers
  • Single user tests
  • Need to create in-house feature object maps
  • Running single instance of application (no multithreaded/multi-user code)
  • Web-based test tool (HTTP protocol)

As we continue developing future test scenarios, we will choose the tools that provide us the best results for the particular set of products under test. All three Rational products have their own unique and special role within our environment and will be used appropriately according to the situation, features exercised, and the level of need defined by our scenario.


Resources

About the authors

Cynthia Barber-Mingo is an Advisory Software Engineer specializing in scenario development for the Lotus Solutions Engineering Test group. She currently leads the Solutions Test Development Team, with a focus on Rational test tools and Lotus Workplace and Domino integration code strategies. She's also served in senior engineering positions in Unix, Domino, SNA, and PC programming integration for IBM, Lotus, and Digital. Cindi holds a BA in Computer Science from Columbia.

Michael Gazda has worked on projects involving network compression, IMAP, and Domino Web Access (iNotes). Mike currently leads the Solutions Test Infrastructure Team. Previously, he spent over three years as a Senior Technical Support Analyst in Lotus Notes/Domino Technical Support where he handled a variety of support issues, including database design, mail routing, and server issues. He is a Certified Lotus Professional in both database design and server administration for both R4 and R5. Michael recently earned his BA in Computer Science from Boston University.

Report abuse help

Report abuse

Thank you. This entry has been flagged for moderator attention.


Report abuse help

Report abuse

Report abuse submission failed. Please try again later.


developerWorks: Sign in


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

Choose your display name

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


Rate this article

Comments

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Lotus
ArticleID=12901
ArticleTitle=Using Rational tools to test Lotus Workplace and Notes/Domino integration
publish-date=06012004
author1-email=
author1-email-cc=
author2-email=
author2-email-cc=

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

For articles in technology zones (such as Java technology, Linux, Open source, XML), Popular tags shows the top tags for all technology zones. For articles in product zones (such as Info Mgmt, Rational, WebSphere), Popular tags shows the top tags for just that product zone.

For articles in technology zones (such as Java technology, Linux, Open source, XML), My tags shows your tags for all technology zones. For articles in product zones (such as Info Mgmt, Rational, WebSphere), My tags shows your tags for just that product zone.

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Try IBM PureSystems. No charge.

Special offers