Protocol testing checks that data is transmitted between devices (such as routers, switches, and computers) over networks according to protocol specification. These protocol specifications define the rules that devices must follow when they communicate with each other over networks. Depending on the types of network and data, protocols used may include:
- Session Initiation Protocol (SIP) - For example, when testing mobile phone calls over VoLTE or instant messaging
- Transaction Capabilities Application Part (TCAP) - For example, when testing mobile calls
- Diameter - For example, when testing data sessions such as downloading or uploading
These tests often capture network packets of an application on an interface and compare them against a published standard of the protocol. For example, during a phone a call, a test may start a trace file by executing an SSH script on a phone or Internet of Things (IoT) device. After the call ends, the SSH script is stopped and the trace file is downloaded and compared to see if it conforms to protocol. Because of the variety of formats and types, protocol testing often includes decoding messages before they can be checked.
intaQt enables the creation of custom functions and models that automate the communication between devices and over networks. Additionally, our extensive collection of Built-ins provide out-of-the-box functionality for many protocol layers including secure shell (SSH), secure copy protocol (SCP), Internet protocol (for example, IPv4, IPv6), LDAP and HTTP/REST. These Built-ins contain predefined functions that address the most important and common events and actions that arise when testing protocols. Built-ins support diverse protocol use cases and allow users to develop automated test cases without the need for additional software.
Additionally, functions and models may be reused across projects, eliminating the need to rewrite functions for each test cases. This combination of reusability and predefined functions ensures robust, accurate protocol tests that reflect real-life behavior.
intaQt Features for Backend Testing
The HTTP Built-ins are primarily used for Request Builder functions (
options) and their available builder methods, as well as HTTP cookies & cookie stores, HTTP clients & client contexts and HTTP RequestConfigBuilder.
SSH and SCP
Secure Shell (SSH) Built-ins facilitate starting SSH actions, such as batch processing, to accomplish multiple tasks in a single session. Additionally, Secure Copy Protocol (SCP) Built-ins can perform activities such as fetching log files for future analysis.
Lightweight Directory Access Protocol (LDAP) Built-ins provide full LDAP functionality within test cases. Available functions include creating new participants in a telecommunications network, debugging and executing queries.
CSV, JSON, XML and YML
intaQt efficiently processes responses in CSV, JSON, XML and YML. These Built-ins support the most important data formats for backend testing. Additionally, XML Built-ins enable processing XML strings. Their two main functionalities involve decoding XML into a map and evaluating XPath to string.
RawSocket Built-ins open a Raw Socket Connection to any host on any port, as well as send and receive messages to and from the service.
Executor Built-ins execute process via the command line: Any process that can be invoked from the command line can be incorporated into an Executor Built-in function. Predefined functions include
exit value and
File Built-ins provide methods for file system access. In Protocol testing, File Built-in functions are frequently used for locally processing traces before comparing them with each other.
intaQt Client is used to execute entire intaQt test projects from the command line, and can be integrated into continuous integration (CI) environments like Jenkins and TeamCity. Combined with intaQt’s parallel execution functionality, test suites can be run and re-run between very short development cycles. intaQt Client also provides configurable features that allow users to:
- Specify how often to retry failed tests.
- Pass parameters to specify ports, configurations or hosts for different projects.
- Upload local project changes to the server before execution.
- Create XML configuration files to create complex test suites with tags.
QiTASC’s integrated development environment provides features that improve your productivity and the quality of your tests:
- the intaQt Phone Plug-in, which shows a project’s phones in real time and enables interacting with remote phones from within intaQt Studio.
- Auto-completion, go-to declarations and rename refactoring help you write, find and edit your tests with ease.
- Error inspections, line markers and notifications help you identify problems with your code as you write it.
- Create templates, in-code documentation, and more!
QiTASC Product Add-ons
Instantly verify test output as an additional quality check. intaQt Verification may be executed online, as an intaQt test case is being executed, or offline, for example, if data are only collected at the end of each day. In both cases, the following functionality is included with intaQt Verification:
- Selectors - These tell intaQt Verification which records to choose. For example, if only voice call tickets should be used.
- Verification Rules - Rules define the type of “checks” that will be performed against the selected records. For example, checking the difference between two properties like amounts of data used, or the difference in a customer’s account balance.
- Special functions for calculating properties and values such as dates, times and numbers within a test case.
Collect, manage and export intaQt test case project data manage defects, which can be accessed by all members of your project’s team. ConQlude automatically uploads all test reports, logs, media attachments and metadata to a centrally-accessible, secure web interface. conQlude provides approval workflow features and can be integrated into most test management systems and defect tracking systems. Our reporting interface ensures that users can remain confident that all test execution details are 100% correct, up-to-date and conform to formats recognized by external project management systems.