TYPES OF PROTOCOL TESTING:
Protocol Conformance (Compliance) Testing
Protocol Conformance testing is the process of systematically selecting each requirement in a standards document and then testing to see if the device under test operates according to that requirement. This is done by creating a series of single function tests for each requirement, resulting in thousands of tests. Usually these tests are automated so they can be run sequentially against the device under test.
An example of a conformance test would be to check if the “ping” command operates correctly. Ping should send an ICMP echo request to an operational host or router and the host or router should return an ICMP echo response. The “ping” command should also be sent to a non-existent or non-operational host or router, and then report back “ping: unknown host [hostname]”. The latter would be a negative conformance test.
Protocol conformance testing requires testing both the syntax and the semantics (functionality) of the device under test. The semantic tests tend to be more difficult to create as a practical matter. For example, testing that a router is maintaining an accurate count of all erroneous incoming packets of a certain type requires a mechanism for generating the erroneous packets, counting them, directing them to the router, assuring they were received by the router, and then reading the actual counter in the router.
Performance testing is the process of verifying that the performance of the device under test meets an acceptable level. Performance testing is a superset of line speed testing in that performance applies to many aspects of a network device or application, and not just line speed.
For example, in the Session Initiation Protocol, one could measure the response time of a device to an INVITE request. In the Transmission Control Protocol, one could measure the response time to an ACK.
Robustness (Security) Testing
Robustness testing is the process of subjecting a device under test to particular input streams. The input streams may be one of three types: (1) random input streams, (2) valid input streams, and (3) invalid input streams.
An example of an intelligent robustness test is to send a ping with a packet greater than 65,536 octets to the device under test (the default ping packet size is 64 octets). In the late 1990’s, this oversized packet would often cause the destination device to crash. Because an IP datagram of 65536 bytes is illegal, the receiving device should reject it. Many operating system implementations, though, were only designed to accept valid inputs, and only tested with valid inputs.
Interoperability testing is the process of testing devices from multiple manufacturers by interacting in such a manner as to exercise the network protocol(s) under test. Generally the devices are set up, synchronized, and send and receive data.
Examples include SIPIT (Session Initiation Protocol Interoperability Test), the RMON Test Summit (Remote Monitoring of SNMP data), the SNMP Test Summit (Simple Network Management Protocol), and the TCP/IP Bakeoffs
PROTOCOL TESTING TOOLS or TELECOM TESTING TOOLS
1) WIRESHARK / ETHEREAL:
- Wireshark (also known as Ethereal) is a network protocol analyzer that enables you to capture and examine data from a live network or from a capture file on disk.
- You can interactively browse the capture data and view summary and detail information for each packet.
- It has a rich display filter language and the ability to view the reconstructed stream of a TCP session.
- It can read capture files from tcpdump (libpcap), NAI Sniffer (compressed and uncompressed), Sniffer Pro, NetXray, snoop, Shomiti Surveyor, AIX s iptrace, Microsoft Network Monitor, Novell s LANalyzer, RADCOM s WAN/LAN Analyzer, HP-UX nettl, ISDN4BSD, Cisco Secure IDS iplog, the pppd log (pppdump-format), and the AG Group s/Wildpacket Etherpeek.
- It can also read traces made from Lucent/Ascend WAN routers and Toshiba ISDN routers.
Any of these files can be compressed with gzip and Wireshark will decompress them on the fly.
PROTOCOL TESTING METHODOLOGY:
Testing projects concentrate on these key aspects of the telecom testing lifecycle:
- Client understanding
- Domain testing
- Knowledge transition
- Infrastructure setup
- Test bed setup
In order to establish this structure, testing practitioners define processes to deliver quality deliverables using well-defined methodologies for all types of testing projects and services. Each methodology has a dedicated list of activities, and each activity is further elaborated into pre-requisites, templates, checklists and guidelines.