
Systems Testing – Automating Physical and Digital Interfaces
Systems testing is increasingly complex because individual software components are part of an application that makes up a complete integrated system. Failure to validate the application-under-test (AUT) through all technology layers as part of an entire system leads to quality assurance gaps and neglects the end user's experience. As a result, the need for comprehensive testing that spans the system-under-test (SUT) as a whole is paramount.
However, traditional automation testing frameworks are limited because they struggle to transition between different platforms and focus solely on a single technology layer. Keysight's Eggplant automation software takes a more flexible approach.
Systems Testing the Keysight Way
By having the capability to interact with the entire SUT via multiple device connections, Eggplant can orchestrate actions that control the AUT and validate the end-user experience without accessing the underlying code. This lack of restrictions enables Eggplant to automate testing for physical and digital interfaces across various environments, overcoming traditional constraints that multiple testing tools encounter.
To fully grasp how Eggplant facilitates robust systems testing, it's essential to delve into three key areas:
- Device connectivity options
- Advanced data-handling
- Versatile communication and system interactions
Device Connectivity Options
Eggplant offers unparalleled flexibility when testing, with its versatility extending far beyond the limitations of traditional automation frameworks, single system testing, and the programming languages your applications are running on. Using multiple connectivity options, it can test various interfaces which is vital for modern applications, including:
WebDriver enhancements
Connecting to WebDriver protocols, Eggplants extends the capabilities of popular automation frameworks like Selenium and Appium by facilitating object-based testing for web applications and mobile devices. Using WebDriver commands and functions, Eggplant can automate web browser testing based on WebElements in your web pages' Document Object Model (DOM). QA teams can also combine WebDriver and existing Selenium scripts or Appium tests with image-based scripting for a hybrid approach that lets you use the best of each testing method.
Visual recognition
Visual recognition or automated GUI testing is one area that sets Eggplant apart from other automation frameworks. Eggplant can tackle intricate scenarios and complex applications by connecting to the entire system and validating at the UI. Using image and optical character recognition, it locates specified text or images and reads text from a particular location on a screen, a capability only achievable at the GUI level.
Eggplant supports various protocols, including Remote Desktop Protocol (RDP) or Virtual Network Connection (VNC) for remote access, IP KVM (Keyboard, Video, Mouse) for controlling bare metal and embedded systems, and capture cards for recording video output from multiple devices simultaneously. Eggplant can still enable visual recognition for closed systems by using a video camera when traditional connections are unavailable or screen capture is disabled. For instance, Eggplant can analyze on-screen elements via video streams captured by a camera to automate the testing for locked-down devices, such as set top boxes, Smart TV applications, credit card terminals, and medical devices.
Mobile testing
Keysight Eggplant's mobile testing capabilities offer a comprehensive suite tailored to various testing requirements for iOS and Android devices. With access to both mobile devices or simulators over USB or WIFI, testers can execute Appium and visual recognition testing on physical handsets and simulators/emulators within a device lab environment.
Other features enable testing applications across cellular networks to validate functionality under real-world conditions to ensure optimal performance and the end user experience. In addition, Keysight's strategic partnership with Saucelabs extends Eggplants testing capabilities to hundreds of iOS and Android device models via Saucelab's device cloud, increasing coverage beyond physical labs.
Advanced Data Handling
Testing databases ensures data accuracy, functional correctness, and performance. Eggplant offers Open Database Connectivity (ODBC) support to enable users to interact with database tables, allowing dynamic data retrieval and manipulation during test executions.
Eggplant can also refer to plain text (.txt, .csv, .xml, etc.) and Excel files (.xlsx) as databases, enabling testers to parse test data and write results. This two-way connectivity enhances system testing by comprehensively validating software functionality across diverse and complex data sources.
Testing web APIs
Fully supporting Simple Object Access Protocol (SOAP) and Representational State Transfer (REST) APIs, Eggplant can seamlessly interact with web services, validating data and verifying system behavior at the UI by leveraging API calls. Eggplant can also set up environments at the beginning of test execution for accurate configurations and real-world conditions. For example, you can configure network settings using API calls to create different conditions to address connectivity or performance issues during testing.
Additionally, Eggplant's capabilities allow it to interact with Shell commands via APIs. This means testing teams can execute diverse commands to create complex test scenarios, such as monitoring website status and availability that can impact the end-user experience.
Versatile communication and system interactions
Eggplant enables teams to analyze and test system interactions, including executing Shell and CLI commands, monitoring terminal outputs, and interacting with system processors. Eggplant also supports transmission control protocol (TCP) socket manipulation, facilitates communication with network-enabled devices, and integrates with standard input and output streams for command-line responses and executions.
Furthermore, Eggplant also works with industry-standard Virtual Instrument Software Architecture (VISA) protocol to connect to a physical device and Standard Commands for Programmable Instruments (SCPI) to control these devices.
Testing multiple integrated devices
Modern SUTs are integrated with multiple technologies, requiring robust systems testing to validate complex processes. Even simple scenarios, such as two-factor authentication, need various components to be tested. In this instance, a user logs into a website on a laptop, prompting the generation of a unique code on their mobile device.
Traditional testing tools frequently struggle with integrated systems and transitioning between different technologies and platforms. Eggplant’s Fusion Engine navigates these complexities effortlessly by interacting with the UI and looking for specific text and images regardless of the underlying technology. Eggplant’s automated GUI testing allows desktop applications, web browsers, mobile apps, virtual environments, and more to be tested.
Eggplant seamlessly integrates into existing testing infrastructures with a wide range of connectivity options, offering flexibility and scalability to meet diverse system testing requirements. However, if you don’t see in the list above something that you are not currently using, Eggplant can control a diverse range of third-party applications or even hardware because we can interface on the device.
So, get in touch and put Eggplant to the test.