|Quadrus Test Software - FAQ|
What is GenITC?
GenITC is a short for the Generic Interface Test Computer. It is a PC-based test tool that plugs into the network interfaces of the system you’re trying to test, and interacts with the message traffic. The interaction can be as simple as doing nothing but logging the message traffic, or this interaction can modify messages on the fly, suppress messages transmission, duplicate messages, store message data for later use, or create new messages and inject them into the stream. Leveraging the capability to store message data, schedule message transmission, and inject new messages, it can even simulate one of the systems in the network.
What is DICE?
DICE is the big brother to the GenITC. While the GenITC is limited to two communication interfaces, DICE has no predefined limit to the number of interfaces it can support.
What is DTASS?
DTASS, or the Dynamic Test, Analysis, and Simulation System, is the underlying technology that GenITC and DICE are based on. DTASS is included with any GenITC or DICE purchase, and is also available as an API for anyone wishing to create custom ITC-based applications. DTASS includes the DataMan, ScenMan, and LogView applications.
What is DataMan?
DataMan, which is short for Database Manager, is a graphical editor for the Quadrus Message Database files (QMD). DataMan is used to create a message database which defines the message traffic that your system uses over the communication interfaces in question. This message traffic is defined at the bit level via the graphical interface. These message databases are then used by ScenMan to create test scenarios.
What is ScenMan?
ScenMan, which is short for Scenario Manager, is a graphical editor for the Quadrus Scenario Files (QSF). ScenMan is used to create test and simulation scenarios. These scenarios use a set of building blocks, events, subroutines, and actions, to define what should happen during a given test or activity. A scenario can be as simple as just monitoring and recording message traffic, or as complicated as simulating an entire system component. These scenarios are then used by GenITC or DICE at run-time to define how they will behave.
What is LogView?
Whenever GenITC or DICE are run, all activity is logged to a light-weight log file. This is a proprietary compact formatted file that is used to reduce the system latency introduced by this logging. The LogView application will extract information from these logs and produce a human-readable report.
Why does it cost so much?
The Quadrus line of test software is priced based on savings it has provided to previous customers. It is geared towards a large test organization. Customers who have purchased and used the full gambit of GenITC capability have saved millions on their test activities. It is expensive, but it is worth it. Customers who have attempted to develop this own capability in-house have spent drastically more than the purchase price and have developed inferior systems.
How does GenITC “plug into” a network interface?
The connection strategy can vary from application to application and is specific to the units under test. For testing flexible systems, it can be as simple as connecting the GenITC system to the Ethernet network and modifying the IP addresses used by the units under test to route traffic to the GenITC. Less flexible systems have also been successfully interfaced to GenITC systems using logical network separation via a single network interface or using physical network separation via multiple network interfaces on the GenITC system. The GenITC also supports serial and NTDS based configurations. If you have concerns that your communication strategy would be difficult for the Quadrus GenITC to handle, please contact Quadrus and we will determine a strategy that will work for you.
How many systems can a GenITC talk to?
Up to two. The idea is that it sits in between two subsystems that are under test and interacts with the message traffic going between them. Now you can also omit one of the systems, and have GenITC totally simulate the behavior of the missing one. You can even drop the remaining subsystem and just have GenITC simulations communicate with one another. (This can be useful if you’ve got a good simulation of one system, and you need to work up one for another, the development can be done off-line until it’s in good enough shape to start integrating with the real system.)
Are we talking TCP/IP or UDP?
Either. Both. A GenITC can communicate using either protocol, and even talk TCP/IP on one interface, and UDP on the other. The GenITC also provides for NTDS and serial communication.
How does it handle UDP multicast?
GenITC uses two network cards to handle this situation. The system’s network itself needs to be split into two subnets, with the only link between them running through GenITC’s network interfaces. This is more invasive to the network, since it requires reconfiguring the routing, but has been successfully done in a real-world environment.
How does GenITC know what the messages look like?
It has to be told. The way it’s told is with the aid of a GUI-based tool called DataMan, which is part of the GenITC tool suite. DataMan gives you a graphical interface to create and edit messages from their fields on up.
How exactly does message creation and editing work? Be concise.
First you start with the definition of a message, this could be provided by an Interface Design Document or directly from source code. A message is made up of fields, and each field can either be a single value, like an integer or a string, or a nested group of fields, which themselves can contain nested components.
You start message creation by defining data items corresponding to the lowest level message fields, like missile count or day of year. Then start grouping those together into any groups or records that may be part of the part of the message. Eventually you have all the components of the message, which are then assembled together into a message definition. Along the way, those message fields that differentiate one from another, like a message ID in the message header, are identified so that GenITC can tell where to look to figure out what kind of message it just received.
Does that work for VMF (Variable Message Format)?
Yes. All of the standard message field types are supported when working with VMF, but there are also some additional kinds of message field types. With VMF you have Optional and Recurring components, which accommodate VMF’s Field and Group Presence and Recurrence Indicators.
What kind of message fields are supported?
DataMan supports the following types of message fields:
• Unsigned Integer
• Signed Integer
• Character String
• IEEE Floating Point
Can you use this with C++? Or does it only work with C?
GenITC is language independent. So long as there’s a consistent definition of the message layout in terms of bits and bytes, it doesn’t matter what programming language was used to create a message.
How do you tell GenITC what to do with the messages passing through it?
The ScenMan application allows creation of event-based scenarios that respond to message traffic real-time. The Scenario is defined in ScenMan using a graphical builder and then saved. The application layer, such as the GenITC, then uses these scenarios during a test to govern what it will do.
How hard is it to mess around with time fields that appear in messages?
GenITC provides a special mechanism for dealing with time in messages. A message field that contains a time value can be marked for “Time Special Processing” and then the units of time that value represents can be selected. These units include the year, month within year, Unix time, milliseconds since midnight, and several others.
Within a scenario there are some predefined time-oriented variables that are continuously updated, such as “__CurrentTime”. When assigning that variable to a message field marked for Time processing, the appropriate portion of the current time will be extracted and formatted for storage in that field. Or even just when working with a variable that contains a “time value”, assigning that variable to a Time field will put the value of that variable appropriate to the field’s units into the field.
What do I do if a bug appears in the software?
Do customers develop their own scenarios or does Quadrus supply them based on their needs?
This is up to you, the customer. There’s nothing stopping you from building your own message databases and scenarios—you have all the tools—but if you want, you can contract database and/or scenario development to Quadrus, or bring us in to train your people.
What is created first, the test case or the scenario file?
As with any testing effort, you have to know what it is you want to test before you start writing scenarios or test procedures. Understand what you need to test, and what it takes to get the systems you’re testing to act in a way that exercises the test criteria. Then identify what activity has to be performed on the systems under test, and what messages and content have to be exchanged between them in order to trigger the desired (or undesired) behavior.
Once this has all been identified, create the scenario that interacts with the systems’ activity and message traffic and modifies and/or creates the sequence of messages that are needed.
What is created first, the message database or the scenario?
A scenario is almost always interacting with the messages being passed between systems, so those message definitions have to exist in a message database before any scenario can be created. You can always sketch out a scenario’s flow by hand, but you won’t be able to use ScenMan to create it until the message database is in place.
|Last Updated on Thursday, 27 January 2011 09:59|