Protocol Testing
Protocols are set of rules or procedures that are already agreed by the software industry, for transmission of data between resistors, capacitors, inductors, diodes, and transistors of electronic devices like desktop, laptop computers, mobile phones, printers, electronic devices like digital cameras, DVD players, smart televisions etc.
The protocols are implemented by hardware, software or combination of hardware and software of electronic devices.
Two systems with different Operating Systems to communicate with each other, the Open System Interconnection Model i.e. OSI model was introduced.
OSI model contains 7 layers starting with Physical, Data Link, Network, Transport, Session, Presentation, and Application Layer.
List of protocol followed in software applications
TCP/IP (Transmission Control Protocol / Internet Protocol) –TCP/IP are set of data transferring and communication rules that are observed as standards for the internet and similar networks. This model spans from Link Layer, Internet Layer, Transport Layer, and Application Layer.
Layer wise protocols applied for data transmission in TCP/IP model
ARP (Address Resolution Protocol) – is a data communication regulations that resolves internet layer addresses into link layer addresses, mapping of a network address like IPv4 to a physical addresses like Ethernet (MAC address). ARP protocol is implemented by combining many network and data link layer technologies.
DHCP (Dynamic Host Configuration Protocol) – assists in configuring multiple network devices such as Hub, Switch, Router, Gateway, Modem, or access point from single source such as single network interface or single physical card.
DNS (Domain Name System) – helps linking common usernames to IP address. for e.g. Google uses IP addresses that range between 64.233.160.0 – 64.233.191.255. Due to linking between IP addresses with corresponding web site names, Users can type www.Google.com rather than remember cumbersome IP addresses in order to access the site.
FTP (File Transfer Protocol) – This are set of rules for transferring data files between computers on internet over TCP/IP connections. e.g. Online banking website in order to update KYC information from their account holder, FTP helps users to download a pdf file.
HTTP (Hyper Text Transfer Protocol) – This is a primary protocol used to access web contents over an internet. In secured web sites such as online shopping or banking sites this protocol is replaced by HTTPS, where S stands for secured. HTTPS allows use of encryption.
ICMP (Internet Control Message Protocol) -ICMP protocol gives feedback from diagnostics/reports of logical errors. Command used in validating if IP addresses is accessible or not we use ‘ping’.
IGMP (Internet Group Management Protocol) – IGMP protocol used to report IP multicast group membership to neighboring multicast routers.
IMAP4 (Internet Message Access Protocol version 4) – IMAP4 protocol are highly secured and are used to receive and download emails from SMTP servers, allowing users to read their emails while on servers with an option to download them.
NTP (Network Time Protocol) – this network protocol synchronizes the clock between computer systems over latency data networks.
POP3 (Post Office Protocol version 3) – POP3 is very simple protocols used for downloading email from an email server, POP3 starts with phases such as authorization, transaction and update.
SMTP (Simple Mail Transfer Protocol)– are used to send and receive emails between servers.
SSH (Secure Socket Shell)-This network protocol provides secured connections to access remote desktops.
TCP (Transmission Control Protocol) – is a communication network between private computer network (an intranet or an extranet).
UDP (User Datagram Protocol) – is an alternative to TCP (Transmission Control Protocol) time-sensitive data communications for VOIP, DNS, video and audio playback.
Why test protocol?
Protocol testing verifies / validates communication protocols in the telecommunication domain such as switches, wireless, VOIP, Routing. While testing protocol we need to verify bandwidth (rate of packets traveled per second), correctness (verify receipt of expected data packets for protocol intended), and latency (time it takes in receipt of data packets from source node to destination node).
Protocol tests are covered in performance as well as functional testing. Protocol can be manually tested in following tasks configuration of protocols, generating and capturing network traffic, checking log files, verifying latency, bandwidth as per standards. Traffic network are checked with algorithms whether data are properly routed or not. Data flooding can be checked for the number of packets received as per device’s capacity or are in excess. Spooling is process that accumulates data into devices for instant usages.
In communication industries like telecom and software industries that has two types of protocol – Routed and routing protocols, main objective of protocol testing is to test Enhance Interior Gateway Routing Protocols (EIGRP) and Open Shortest Path First (OSPF) as per defined standards.
Various tools for performing Protocol Testing
Protocol testing tools such as Scapy, TTCN and Wireshark are used by network companies, whereas Nethawk, Etherpeek, Glomosim simulator, CDMA air interface tester, Communication Network tester (CNT) are some of tools that tests protocol in telecom companies.
Conclusion
Protocols are set of regulations for data transfer between electronic devices. To make systems with different operating systems communicate with each other, OSI model was designed, that contains seven layers starting with Physical layer, Data Link, Network, Transport, Session, Presentation, and Application Layer. The protocols are tested to verify bandwidth, latency and correctness of data packets which were expected to be transmitted. configuration of protocols, generating and capturing network traffic, checking log files are verified by testers manually as protocol tests. Various testing tools such as Scapy, TTCN and Wireshark are used in protocol testing. Traffic network are checked with algorithms whether data are properly routed or not. Data flooding can be checked for the number of packets received as per device’s capacity or are in excess. Spooling is process that accumulates data into devices for instant usages.
Please leave your questions/comments/feedback below.
Happy Learning 🙂
Connect to me on Linked In (Click here)
On a mission to contribute to the Software Testing Community in all possible ways.
Very detailed. Thanks for posting.
Thank you Poorvi for your feedback.