Reproducing the original post
I wanted to see the project that the original poster discussed about. However he doesn’t disclosed it. Therefore I made a mimic project named HighRiseProject, which is published at the following URL:
The HighRiseProject contains 40 Test Cases:
$ ls "HighRiseProject/Test Cases"
TC01.tc TC04.tc TC07.tc TC10.tc TC13.tc TC16.tc TC19.tc TC22.tc TC25.tc TC28.tc TC31.tc TC34.tc TC37.tc TC40.tc
TC02.tc TC05.tc TC08.tc TC11.tc TC14.tc TC17.tc TC20.tc TC23.tc TC26.tc TC29.tc TC32.tc TC35.tc TC38.tc
TC03.tc TC06.tc TC09.tc TC12.tc TC15.tc TC18.tc TC21.tc TC24.tc TC27.tc TC30.tc TC33.tc TC36.tc TC39.tc
The HighRiseProject contains 20 Test Suites:
$ ls "HighRiseProject/Test Suites" | grep .ts
TSa.ts
TSb.ts
TSc.ts
TSd.ts
TSe.ts
TSf.ts
TSg.ts
TSh.ts
TSi.ts
TSj.ts
TSk.ts
TSl.ts
TSm.ts
TSn.ts
TSo.ts
TSp.ts
TSq.ts
TSr.ts
TSs.ts
TSt.ts
The Test Suite TSa contains 2 Test Cases TC01 and TC02. The Test Suite TSb contains TC03 and TC04. The Test Suite TSc contains TC05 and TC06 … and so on.
The HighRiseProject contains 6 Test Suite Collections:
$ ls "HighRiseProject/Test Suites/collections" | grep .ts
TSC_Chrome_profileX.ts
TSC_Chrome_profileY.ts
TSC_Edge_profileX.ts
TSC_Edge_profileY.ts
TSC_Firefox_profileX.ts
TSC_Firefox_profileY.ts
Each Test Suite contains the 20 Test Suites while the Run with parameter is given with a value either of Chrome, Edge Chromium, Firefox; and the Profile paramter is given with a value either of profileX, profileY. See the following screenshot where you can see how the 6 Test Suites Collections are composed.
Alternative approach
I made one more project named LowRiseProject, which is published at the following URL:
The LowRiseProject also contains 40 Test Cases enclosed under 20 folders:
$ tree "LowRiseProject/Test Cases"
LowRiseProject/Test Cases
├── a
│ ├── TC01.tc
│ └── TC02.tc
├── b
│ ├── TC03.tc
│ └── TC04.tc
├── c
│ ├── TC05.tc
│ └── TC06.tc
├── d
│ ├── TC07.tc
│ └── TC08.tc
├── e
│ ├── TC09.tc
│ └── TC10.tc
├── f
│ ├── TC11.tc
│ └── TC12.tc
├── g
│ ├── TC13.tc
│ └── TC14.tc
├── h
│ ├── TC15.tc
│ └── TC16.tc
├── i
│ ├── TC17.tc
│ └── TC18.tc
├── j
│ ├── TC19.tc
│ └── TC20.tc
├── k
│ ├── TC21.tc
│ └── TC22.tc
├── l
│ ├── TC23.tc
│ └── TC24.tc
├── m
│ ├── TC25.tc
│ └── TC26.tc
├── n
│ ├── TC27.tc
│ └── TC28.tc
├── o
│ ├── TC29.tc
│ └── TC30.tc
├── p
│ ├── TC31.tc
│ └── TC32.tc
├── q
│ ├── TC33.tc
│ └── TC34.tc
├── r
│ ├── TC35.tc
│ └── TC36.tc
├── s
│ ├── TC37.tc
│ └── TC38.tc
└── t
├── TC39.tc
└── TC40.tc
The LowRiseProject contains only 1 Test Suite named TS0 which binds the 40 Test Cases.
The LowRiseProject contains only 1 Test Suite Collection: TSC0:
The TSC0 defines 6 invokation of the TS1. Each invokation is given with unique combination of the “Run with” parameter and the “Profile” parameter.
Discussion
The HighRiseProject contains 40 Test Cases. The LowRiseProject also contains 40 Test Cases. These 2 projects are equally large enough.
The HighRiseProject was very difficult to make. It was terrible to create 20 Tests Suites and 6 Test Suite Collections. It was hard to repeat selecting a Profile value for 20 Test Suities in a Test Suite Collection, and repeat doing the same for 6 Tests Suites Collection. The original poster wrote:
In this regard, I empathise with the original poster.
Additionally, while I created the HighRiseProject, I happened to find a defect “Test Case Browser should show the list of test cases sorted alphabetically” which made me frustrated.
On the other hand, the LowRiseProject equips only 1 Test Suite TS1 and 1 Test Suite Collection TSC0. The TSC0 invokes the TS1 6 times with different combination of Run with parameter and Profile parameter. Cool!
In my humble opinion, the approach of the LowRiseProject is usual. I believe that Katalon team originally designed the product with the approach of the LowRiseProject in mind.
In my humble opinion, the approach of the HighRiseProject is unusual. You should not take this approach. If you have got a project already high rise, then I would recommend you to reform your project to low rise.
Conclusion
The original poster wants to create 20, …, 100, 200 Test Suites in a project. I will never create such a lot of Test Suites. So, I do not support his proposal.
Terminologies