Forum Discussion

jg0888's avatar
jg0888
Contributor
7 years ago
Solved

Playback processing for Data Driven tests slows down the longer it runs.

I am having Playback Processing time issues with a Keyword Test that uses the Data Driven function. My Data Driven function uses an excel file to house the information. It seems to process pretty quickly in the beginning, but the longer it runs, the more time it takes between steps. It starts processing the first row at 11 seconds, around row 75 is is processing at 36 seconds, and after 150 rows, it is now processing at 55 seconds per row. It is a pretty complex Keyword test that has quite a few "If...Then/Else" and "If Object Exists/Else" statements.

 

Are there any techniques to keep the processing speed up or does this normally happen the longer TestComplete runs for one test? I have attached a flow chart of what I have mapped out via TestComplete, as I cannot load my actual test because the test details contains confidential data.

  • I don't think complexity of your test would slow you down.

    b'cos any computer operation those decision making process such as "if then else" are much faster.

     

    first I would be looking at how you log your results. are you saving big pictures on your log file ?  dose it save to external hard disc?

    do you have enough RAM in your test machine? do you use external data base?

    do you open lot of windows and screens one after other? 

    dose your app is working on back ground in each of these test operations?

    did you check memory , processor usage in Task manager of test machine? 

    what configurations you have ? in terms of XL, Testcomplete, App, servers, DB.etc.

    dose you have lot of waiting times in your test?

     

     

    to improve your speed you can use these tips best-practices-performance-tips

    also refer this 

     

    in my testing environment I find slowness when test progresses but it's due to heavy back ground processing in my application. (which it is suppose to ..)

    so I close the app, let background finish and re start in particulate intervals.  

  • Here's a good reference

    https://support.smartbear.com/testcomplete/docs/reference/misc/using-wildcards.html

     

    In your first example, if 

    textnodeTdxrdesignbaisdropv1x2z12 is really the same object as 13, 14, and 15

     

    then delete three of the lines in the mapping and change the remaining one to textnodeTdxrdesignbaisdropv1x2z*

     

    This will let the object be matched with anything that comes up at the end of that pattern.

9 Replies

  • NisHera's avatar
    NisHera
    Valued Contributor

    I don't think complexity of your test would slow you down.

    b'cos any computer operation those decision making process such as "if then else" are much faster.

     

    first I would be looking at how you log your results. are you saving big pictures on your log file ?  dose it save to external hard disc?

    do you have enough RAM in your test machine? do you use external data base?

    do you open lot of windows and screens one after other? 

    dose your app is working on back ground in each of these test operations?

    did you check memory , processor usage in Task manager of test machine? 

    what configurations you have ? in terms of XL, Testcomplete, App, servers, DB.etc.

    dose you have lot of waiting times in your test?

     

     

    to improve your speed you can use these tips best-practices-performance-tips

    also refer this 

     

    in my testing environment I find slowness when test progresses but it's due to heavy back ground processing in my application. (which it is suppose to ..)

    so I close the app, let background finish and re start in particulate intervals.  

  • Marsha_R Thank you very much for your help! This really helped me correct some issues.

     

    NisHera Not logging pictures with my test has really increased the rate at which my test is processed, and it no longer slows as it goes on. Thank you very much!

  • Marsha_R's avatar
    Marsha_R
    Champion Level 3

    That's a very nice flow chart but it really doesn't help us see what's going on in TestComplete.  Most people will just use a screenshot of the TestComplete code and use some editing tool to mark it up so we can't see the confidential parts.

     

    To answer your one question, no, TestComplete should not be slowing down as it loops through the test.  

  • Marsha_R - Here is a screenshot of my KeywordTest. Please let me know if any other information would be helpful for you.

     

    • Marsha_R's avatar
      Marsha_R
      Champion Level 3

      NisHera's questions are good, but I'm curious about your code and I'm going to ask some more  :)

       

      It looks like you are checking for objects with If Object but you frequently expect that they aren't there, since your log messages are mentioning finding a new path.  Between that and your use of coordinates to Click instead of object names, are you perhaps having trouble with your name mapping?  I think we can help you simplify this a lot.

      • jg0888's avatar
        jg0888
        Contributor

        Marsha_R Most of the "If Object" statements are created because the system itself wasn't built with automation in mind. Thus, the same field has slight variations, but it can't be found.

         

        I have only been using TestComplete for a short time, so any tips or help to avoid the same loop multiple times would be appreciated. Is there anything specific that I can provide for you to help with the "If Object" field?

         

        Also, NisHera I have already been able to greatly reduce time with "Collect Test Visualizer data during test run" changed to "Off", but finding ways to reduce code length and efficiency is always welcome. I'll continue looking at your suggestions.

  • Marsha_R Here are a couple of examples. I am familiar with the wildcard, but how would I implement with these successfully?