Comparisons with industry standard frameworks and Limitations
Learning Curve
Benefit of using this tool is that learning curve is very small and doesn’t require any programming skills to start. This immediately helps in including in the testing process, the CJEs, Business users, Platform and other DevOps Engineers who do not have programming or test automation background.
Readymade Framework
Selenium
, Appium
, HttpURLConnection
, WinAppDriver
are just libraries, not testing tools. A framework needs to be created from scratch or reused from open source market, to use these libraries.
This tool does all heavy lifting with readily available framework developed
on top of "Selenium", "Appium", "HttpURLConnection", "WinAppDriver"
Comparitive Analysis
It is important to note that in the comparison below, we will only include popular java
or python
frameworks and not libraries like Selenium
, Playwright
etc.
Comparing frameworks with libraries is like comparing apples and oranges!
The reason to choose java
/python
and not javascript
is that, in Wholesale Banking, most applications are Packages and Commercial off-the-shelf (COTS) and monoliths. These applications do not have modern Web UI and are heavily focussed on the Business Processing side of things. Javascript based tools and frameworks are primarily aimed to test Modern Web UI. With Java we have a greater edge to test the processes like, Java Messaging Queue, Kafka Streams, Reports (xlsx, pdf), DataBase etc. in addition to Web and API.
Features |
CITS |
Cucumber |
Serenity |
Robot Framework |
Karate |
Katalon |
Test Complete |
---|---|---|---|---|---|---|---|
Open Source |
✓ | ✓ | ✓ | ✓ | ✓ | Freemium | ✗ |
Integrated IDE with data sheets and property files |
✓ | ✗ | ✗ | ✗ | ✗ | ✓ | ✓ |
OS Independent |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ |
Shallow Learning Curve |
✓ | ✗ | ✗ | ✓ | ✓ | ✓ | ✓ |
Community Support |
✗ (Community is growing but still small) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
High Ease of test case creation |
✓ | ✗ | ✗ | ✓ | ✓ | ✓ | ✓ |
Business User Friendly |
✓ | ✗ | ✗ | ✗ | ✗ | ✓ | ✓ |
Built-in Record and Spy for quick start |
✓ | ✗ | ✗ | ✗ | ✗ | ✓ | ✓ |
Cross Browser Testing |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Multiple Object Properties in Object Repository |
✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ |
Distributed Execution |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Integration with Selenium Grid |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Built-in support for BDD approach |
✓ | ✓ | ✓ | ✗ | ✗ (Not to confuse with Karate BDD like DSL) | ✓ (Plugins needed) | ✓ (Plugins needed) |
Built-in support for Data-driven approach |
✓ | ✗ | ✗ | ✗ | ✗ | ✓ | ✓ |
Built-in support for Keyword-driven approach |
✓ | ✗ | ✗ | ✓ | ✗ | ✓ | ✓ |
Customizations and enhancements |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Built-in Native Azure DevOps reports with logs and screenshots |
✓ | ✗ (Junit doesn't support screenshots) | ✗ (Junit doesn't support screenshots) | ✗ (Plugins not supported in ING) | ✗ (Junit doesn't support screenshots) | ✗ (Junit doesn't support screenshots) | ✗ (Plugins not supported in ING) |
Built-in Azure DevOps Test Plan Integration |
✓ | ✗ | ✗ | ✗ | ✗ | ✗ (Plugins not supported in ING) | ✗ (Plugins not supported in ING) |
Built-in API Testing |
✓ | ✓ (additional libraries needed) | ✓ (additional libraries needed) | ✓ (additional libraries needed) | ✓ | ✓ | ✗ |
Built-in Web Page Performance Testing |
✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
Built-in Accessibility Testing |
✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
Built-in Database Testing |
✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
Built-in Image Based Testing |
✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ |
Docker Support |
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Limitations of the tool
-
CITS is a tester-friendly tool. Developers, who are accustomed to only coding and writing scripts in an IDE like IntelliJ or Eclipse might find the UI of the tool, limiting.
-
Even though the tool has an exhaustive Java project in the backend which can be customized, enhanced and even tailored for project specific purposes, it is not the first thing that a developer sees, thereby creating a feeling of lack of coding liberty.
-
While CITS is designed to be user-friendly, there is still a learning curve involved in using the tool effectively. One may need to invest time in learning how to use the tool's features and scripting capabilities to create effective tests.
-
The tool's community is quite small. Even though it is growing and efforts are being put in to create exhaustive documentation and videos, it will take some time for it to become popular.