It's all about the answers!

Ask a question

Why TestCase execution's context is a TestEnvironment?


Davide Caroselli (1122) | asked Jul 29 '11, 7:14 a.m.
hi!

I wonder why when you launch a new TestCase execution, the RQM allows you to specified the TestEnvironment and not the TestCell.

As far as I understood, the TestEnvironment defines the component my test should use, something like a "static description". But when I run a test, I need a TestCell tha "instantiates" the component of a given TestEnvironment with real (physical or virtual) machines. So, just for example, if a TestEnvironment defines a component named "Master", a test cell could have TWO instance of "Master" by two different lab resource.

So, how can I ran the test on a given TC1? where should I take the TC reference? Why the system gives me a TE reference?

I also have the same problem for the ExecuteSchedule part... any help?

4 answers



permanent link
Pramod Chandoria (2.1k11220) | answered Jul 29 '11, 12:28 p.m.
JAZZ DEVELOPER
Test Environment is a combination of execution environment of the machine where test should be executed. Typically it contains Operating System, Browser, Database, Application Server etc.. but it can be extended to include any specific property of environment which matters you to cover.

So When you execute a Testcase, You actually execute a Test Case Execution Record which is a unique combination of Test Plan, Test Case, Iteration and Test Environment. This shows test execution planning.
TestCell is a combination of Machines where machine can be related based on test env or in some other way. Simply it is collection of related machine.

Read more online at
http://publib.boulder.ibm.com/infocenter/clmhelp/v3r0m1/topic/com.ibm.rational.test.qm.doc/topics/t_cre_test_cells.html?resultof=%22%74%65%73%74%22%20%22%63%65%6c%6c%22%20

-|- Pramod Chandoria

permanent link
Davide Caroselli (1122) | answered Aug 01 '11, 8:12 a.m.
I'm sorry but I still have some problem understanding the GUI , I'll try to show you the point with an example of use:

let's say I've a TestEnvironment TE1 where is defined a component called Master, and the requirements are just the presence of a running instance of DB2, so something like:

Master
- Windows XP
--DB2 (Name=SampleDB2)

at this point I DON'T want to specify what is the password of the DB2 Instance, or the Hostname of the Master.. because I'm describing an abstract "need" of a resource of type Master.

So when I finally decide to run a test, I should define first the TestCell where, for example, I define 2 Masters for my test:
192.168.0.12 -- Master
192.168.0.15 -- Master
of course the two machines match the "Master" component description, so they both have WinXP and DB2 installed and, again, for example the DB2 password for the first is "db2admin", and for the second is "adminadmin" (they're listed inside the Labresource description).

At this point I've "instantiated" Master-component twice with two different machines, as required for my particular test each instance has of course their specific data (the password example), now ALL the information needed by my Test Execution Record are NOT contained inside the TestEnvironment, but in the TestCell...

so, what's wrong with this interpretation?

permanent link
pietro marella (953130) | answered Aug 01 '11, 12:24 p.m.
Hello Pramod

I'm also confused about Test Environment and Test Cell in RQM.

If Test Environment is a "logical" definition if my test env (a description of "entities" in my test env), and Test Cell is an instantiation of a T.E. (ie, is the identification of the lab resources with the characteristics defined in the Test Envinroment), what I would expect is to use, the TestCell when I have to identify where to execute test.
Let me do same a specific examples: the "test script automation".
When I create a "atomation" Test Script (for example a RFT Test Script) and I run it, I have the option to specify the Test Env as a parameter to be passed to the adapter (and in turn, to my script).
I'd expect, instead, to be able to pass a pointer to a Test Cell, so I can specify to the script where (on what machine or machines) they need to be executed. The Test Environment, as I understand it, does not identify (and should not identify) a specific machine.

I'm making this sample, since I'm building my own Adapter to my Framework Automation, and I would expect that the tester that is going to run a script for my adapter can "specify" the Test Cell (physical lab resources) where the execution needs to happen (and my adapter can then translate this information to the automation framework underlying)...

Does it makes sense, or I've completely misunderstood the meaning of a Test Env respect to Test Cell?

thanks in advance
*piero

permanent link
Kurtis Martin (1.4k11) | answered Aug 04 '11, 6:26 p.m.
JAZZ DEVELOPER
The test environment is just a description of the environment that you want the test to run against. For the most part it's describing the hardware/software configuration of the application under test. That's why when you create execution records you connect the execution record to a test environment. You can report and track your test progress against the logical environment.

The test cell as noted in the earlier post is a physical instantiation of the test environment that actually maps to real machines. Now when you go to run a test case containing an automated script, you actually need to select a physical machine to run that script. Although you do see the test environment describing the execution record, when you go to actual pick a machine to run the script this selection is based on the test cell. You'll notice whenever you see the adapter selection dialog, it has two taps. One for test cell and another for machine. If you select the run icon at the top of the test case a default adapter will be selected for you. If you click the little pencil icon beside that adapter, you'll notice there are 2 tabs with the list of adapters. One for machines and one for test cells. The top of the adapter selection dialog will also show the Test Environment and you can filter the machines or cells using the test environment.

So when you select a physical machine that has the adapter, the selection is done based on test cell. Similarly, since an execution schedule needs to map to actual machines where the adapters are installed, the schedule is associated with a test cell in order to select machines from that cell.

The previous post mentioned that the Test Environment is passed to RFT when they would expect the Test Cell to be passed to RFT. I'm unaware of such option to pass the TE to RFT. Maybe you can tell me where that option is seen and I can comment further.

Your answer


Register or to post your answer.


Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.