Forum Discussion

BenoitB's avatar
BenoitB
Community Hero
4 years ago

Testing or not ? Return over an beyond-limit use of TestComplete

Hello TestComplete buddies,

 

Hope everything is ok for you.

I was away for a few weeks due to an urgent client project which I would like to give you feedback.

 

Since a while i use TestComplete as general development studio but i was always wondering about real perfs.

 

Here the project was about data feed from Excel to an ERP (Axelor). The customer want to upload all of it's business data in Axelor.

So approach was to use regular import process of Axelor (importing structured CSV file) ... but  ... the source data were in 4 Excel files, 41 worksheets and thousands of lines over dozens columns. And this feeded by several teams in several places... Furthermore no common structure between Excel files and even nor with worksheets inside same Excel. Worse; same input data has different variants ...

Thus no way of using standard feed.

 

So we build a data feeder program with TestComplete. Why TestComplete and not other development studio ? Because we want to put after some automation (Testing and RPA) and we prefer to have only one software in use (simpler, cost effective, code reuse).

 

The program firstly read all data, aggregate them, qualify them and build in-memory project structure as it's used inside Axelor.

Lot of work on cleaning and qualifying data, e.g. finding similarities in addresses to avoid multiple entries.

Ths part was 80% of the work.

 

After we must feed. Two choices, by interface or by REST API.

Interface would have been interesting with fewer complexity and less data, but honestly speaking,  it's too slow (but i did an object for Axelor GUI nevertheless , preparing next steps..).

So go for REST API import.

With aqHttp object it's so easy to build REST API interface. We implemented lot of end points to search, list, create, edit and delete data.

The program then use only two steps,  loadData (loading excel files and preparing data) and sendData (REST API data upload). With comments the program is 4000 lines long.

 

And accompanying this a bunch of reporting files was added to help teams on ubiquitous and warnings over data.

 

But perfs ... i worried about excel loading and robustness of rest api call.

 

Perfs were excellent and surprised me, especially on Excel part.

 

Loading data:

4 files, 41 worksheets, 10 014 lines, 114 992 cells read, cleaned, qualified in ... 17mn !

 

Sending data:

9888 API calls, 6,10mb of data, for 1303 customer folders, 1564 address objects, 533 contact sheets, in .. 16 mn

 

So in conclusion.. TestComplete is good even on not-so-testing use and i will continue to use it as development studio. I just dream that a day Smartbear will allow to encrypt our sources to protect our business but this is another question 😉

 

Hope this report was intertesting and have a nice day !

 

 

 

 

 

1 Reply

  • TanyaYatskovska's avatar
    TanyaYatskovska
    SmartBear Alumni (Retired)

    Thanks for sharing such an interesting use case of TestComplete!

     

    The tool is very powerful indeed! You can code whatever you want by using any scripting language. I prefer JavaScript. Which one did you use? 

     

    One of the uncommon TestCompelte usages for me was to count the number of unread rows inside a web table 🙂