SPONSORS:






User Tag List

Results 1 to 5 of 5
  1. #1
    Guest

    Multiple Threads from an QAOrganizer Plan?

    Hi Everyone:
    I have several hundred testcases in a QA Organizer testplan.
    These testcases pass different sets of data to the same data-driven QAP script.
    I had been planning a multi-threaded script to distribute these tests to multiple remote computers with remote agents.
    Segue has an interesting article on their website that discusses this and even gives sample code.
    Segue's example does not use a data-driven script from an Organizer testplan, however.

    When I tried to implement this, I noticed that each testcase in the QA Organizer testplan initiates a new instance of
    main(). After main() spawns a process for an independent thread, there is an implicit ''rendezvous'' at the end of main().
    In simpler words: spawned testcases cannot live past their main().

    This makes it very difficult (if not impossible) to initiate simultaneous multiple testcase threads from a QA Organizer testplan.
    QAP waits for each testcase to finish before it gets the next case from the plan.

    Do I have to reorganize my QA Organizer plan as a script to make this work?
    I am not sure I want to do this.

    Or is there some function I am missing which will provide an elegant workaround to this problem?

    Also, how long does it take Segue tech support to acknowledge an email?
    Telephone calls to them always get a message taking drone, and emails seem to get no response either.
    Our company pays a ridiculous amount of money for ''support''.

    Rob Kapteyn
    Programmer Quality Assurance
    GE Fanuc Automation



  2. #2
    Guest

    Re: Multiple Threads from an QAOrganizer Plan?

    Your conclusions are correct. There is no easy way to get Silk to simultaneously execute tests in a testplan.

    I'd advise you to divide up your testplan and run the subtests as separate jobs on different machines.

  3. #3
    Junior Member
    Join Date
    Jul 1999
    Location
    Blackstone, MA USA
    Posts
    3
    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: Multiple Threads from an QAOrganizer Plan?

    Hi,

    What happens if you pass the names of the systems in a list of string into the test plan? Create a for loop, and issue a spawn command in the for loop. That could create your scenario

    for each sServer in lsServers
    spawn
    test1
    rendezvous

    This code can be seen in the distributed test guide. If you need further examples, drop me a line.

    Mike Buckley
    Cyber Solutions, Inc
    buckley@cyber-dot.com
    Mike Buckley
    Cyber Solutions, Inc.
    Blackstone, MA 01504
    mjb.buck@gmail.com

  4. #4
    Senior Member
    Join Date
    Jul 1999
    Location
    Burlingame CA 94010
    Posts
    502
    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: Multiple Threads from an QAOrganizer Plan?

    Rob,
    You'll could set up the test plan so that you pass the names of a set of tests that you want to run and the machines where you want to run them. You can pass those data to a function which can spawn separate threads for each simultaneous execution.

    BTW, you can declare global variables in your frame and then pass them from Organizer to a testcase or function

    Let me know if you need more help.

    John Green
    Moderator

  5. #5
    Apprentice
    Join Date
    Jun 2010
    Posts
    18
    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: Multiple Threads from an QAOrganizer Plan?

    Does anyone have an example of a tutorial to run through how to create a script that passes server and client names? I am trying to interpret a script and I don't understand how functions like this work. I am new to all this so please bear with me.

    I am trying to figure out how you would past a list of servers and clients in a situation like this. The code below is a snippet from an .inc file.

    int TestSetup (inout CLIENTREC xClient, list of SERVERREC lServers)
    [+] // Variables
    [ ] integer iLoop, iCount, iReturn = 0, iSpace
    [ ] string sKey
    [ ] string sPort
    [ ] string sLangKey = "INABOUTBOX"
    [ ] xClient.iCurrentServer = 0
    [ ] xClient.sClientVersion = ""
    [ ] xClient.sCurrentTest = ""
    [ ] xClient.bEnable = TRUE

 

 

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

vBulletin Optimisation provided by vB Optimise v2.6.0 Beta 4 (Pro) - vBulletin Mods & Addons Copyright © 2016 DragonByte Technologies Ltd.
User Alert System provided by Advanced User Tagging v3.0.9 (Pro) - vBulletin Mods & Addons Copyright © 2016 DragonByte Technologies Ltd.
Questions / Answers Form provided by vBAnswers (Pro) - vBulletin Mods & Addons Copyright © 2016 DragonByte Technologies Ltd.
vBNominatevBulletin Mods & Addons Copyright © 2016 DragonByte Technologies Ltd.
Feedback Buttons provided by Advanced Post Thanks / Like (Pro) - vBulletin Mods & Addons Copyright © 2016 DragonByte Technologies Ltd.
Username Changing provided by Username Change (Free) - vBulletin Mods & Addons Copyright © 2016 DragonByte Technologies Ltd.
BetaSoft Inc.
Digital Point modules: Sphinx-based search
All times are GMT -8. The time now is 12:53 AM.

Copyright BetaSoft Inc.