Solution Architecture for Test Suite

Hi there,

I just recently started working on a Test Suite Project for Oracle Fusion(Application Testing).
We have around 23 test cases and I’m not sure how to go about developing a solution around it.

I’m quite new to this, so some of the questions will sound incredibly noob-ish so please forgive me.

Here is where I’m stuck:

->Test Queues

The way I see it, it wouldn’t make sense to create a test queue for each test case since it wouldn’t be scalable i.e., we will have to keep adding test queues for every test case that gets added in the future.

On the flip side, if we were to stick with a single test queue, then we have to keep modifying the schema each time a new test queue is added i.e., if the new test cases have new data points.

Also, do we have to create a dispatcher? When we run the test sets, should that trigger the dispatcher each time, or do we schedule to run the dispatcher first, then the testset?

I’d really appreciate your inputs here.

→ Testsets

I forgot to mention that all 23 test cases deal with Oracle Fusion with more coming in the next sprint. If I were to randomly pick any two or three test cases and combine it into a testset, it will pick the right test data if we create separate test queues for each, but something tells me that creating multiple test queues is not the right approach.

And if we were to rely on a single Test Queue, and maybe get a bit creative with it like assigning a unique identifier to each test data and program the bot to conditionally pick the right test data as it cycles through the queue items, but that just leads to a lot of complexity.

Also, the bot won’t “pick” the right test data, instead it will consume all the queue items and skip it(since the bot has been programmed to conditionally process test data for a given test case) until it reaches the dataset it is supposed to consume.

If none of that made any sense, then you can understand just how confused I am about the architecture.

→ Taking Screenshots

The client requested that the bot should take screenshots as it processes each step in the test case. I know there is a Take Screenshot Activity, but I was wondering if there is a way for UiPath to automatically take screenshots as it performs each activity.
If there is, then this would be a dream come true!

->Structuring Test Cases

How do you go about creating the test cases when it has to receive data from a Test Queue?
I understand that there is a Given, Then and When, but is there a solid template like the ReFramework that we can rely on?

I’m assuming that the data is received in the Given, but I wanted some additional clarity on this.

I actually have more doubts, but the ones I’ve detailed about are the main ones I’ve facing.
Your thoughts and inputs would be most appreciated!

P.S. please don’t send me links to the UiPath Academy and documentation unless there is a specific topic you’d like me to revisit.

Hello @ashwin.ashok!

It seems that you have trouble getting an answer to your question in the first 24 hours.
Let us give you a few hints and helpful links.

First, make sure you browsed through our Forum FAQ Beginner’s Guide. It will teach you what should be included in your topic.

You can check out some of our resources directly, see below:

  1. Always search first. It is the best way to quickly find your answer. Check out the image icon for that.
    Clicking the options button will let you set more specific topic search filters, i.e. only the ones with a solution.

  2. Topic that contains most common solutions with example project files can be found here.

  3. Read our official documentation where you can find a lot of information and instructions about each of our products:

  4. Watch the videos on our official YouTube channel for more visual tutorials.

  5. Meet us and our users on our Community Slack and ask your question there.

Hopefully this will let you easily find the solution/information you need. Once you have it, we would be happy if you could share your findings here and mark it as a solution. This will help other users find it in the future.

Thank you for helping us build our UiPath Community!

Cheers from your friendly
Forum_Staff

Hi @ashwin.ashok,

I assume the 23 test cases are regression tests?

Test Queues: It depends on how you are designing your test cases and what your test strategy is. E.g. small test cases or huge end to end processes. Also important is your strategy, how often should the test run, when should the test run etc.

Testsets: Work with an divide an conquer approach. Don´t make it to complext, keept it simple and maintainable. When it comes to testing, you should not obstruct flexibility.

Taking Screenshots: There are posibilities: Check out: Test Report with screen shot: how can I create a test report with screen shots? is there any activity available? and Need to save screenshot in folder instead of Test manager portal and also Analyze Test Results

Structuring Test Cases: As you mentioned, there is the Given, When, Then design and you can use e.g. the Test Data Queue Activities in it

1 Like

Hi @anob ,

Thank you for your response, I appreciate it.
After playing around with it for a while, I’ve got an idea of how to go about creating and arranging the test cases for my particular usecases.

we have decided to go for a queue per testcase, although I’m not too happy about that as its not scalable(difficult to maintain) and tedious if done manually.

As for the structure, we have used a While to fetch data from the queues and used just the Given and When. The client wanted the bot to take screenshots of the business flow along with some key assertions, so the assertions were placed within the sequences inside the When flowchart.

The next challenge would be to compile the screenshots captured in testmanager into a report, preferably word.

I have yet to find anything useful on that topic, and yes I’ve gone through the links you have provided. I was hoping there was something we could do with APIs.

Kind Regards,
Ashwin A.K