Regression testing is normally done when a program or software is modified; this is to check the modifications are not creating new bugs. Repeated execution of test scripts is a common way of doing regression testing in most of the companies. Regression testing also had done when a testing project starts and when it ends. Regression testing using test scripts from automation framework at the beginning of project helps in finding bugs in initial phase.
Test plan is a document detailing test coverage, target, features to be tested or not tested, approach, test methods, software/hardware requirements etc.
Rather than doing the testing process after software is completely developed, Agile testing process does testing along with development process. This helps in finding bugs during the development phase itself and helps in reducing the overall time of the project.
Datacom testing deals with testing of protocols and features of devices used in data communication such as routers, switches, firewalls etc.
Telecom testing deals with testing of protocols used in telecommunication like 3G, 4G, and LTE etc.
Protocol testing is a branch of software testing which deals with the testing of programs (protocols) used in networking and telecom devices.
When a protocol is accepted, a software program is developed which obeys these rules and work as mentioned in the standard. This software program is then integrated with other programs to form operating system (of routers/switches/firewall etc) . Verification of the rules mentioned in standard, packet structure, functionalities, performance , use cases etc of this software program is called as protocol testing
This is like a Manager validating if the assistant has drafted the letter in a proper format and with correct grammar and approves or rejects the communication.
Protocol testing is also known as datacom testing or L2 L3 communication protocol testing.
Unit testing is software testing method by which individual units of source code is tested. This could also be testing of an entire module or a set of functions.
System testing is performed on the entire system after integrating all the modules or functions. Protocol testing is normally done part of system testing process.
When computers or networking devices (like routers, switches) communicate, they use different languages like humans do. The rules and regulations followed by these devices to communicate are called as protocols.
Protocols are proposed and standardized by organizations like IETF, IEEE, W3C, ISO, ANSI, ITU etc.
A software bug is coding error or a flaw in computer program. If a bug is present in the code, test case execution will fail and we will not get expected results.
White box testing involves testing of internal working of an application rather testing the functionality or performance of the application. This requires programming skills as the tester is supposed to walk through the code and the test complete program flow.
Black box testing is a software testing method where the overall functionality of the software is tested without considering the internal working. A black box tester need not know the internal structure and need not have programming skills.
In grey box testing, tester will be partially aware about internal working and overall functionalities of the application. Tester will try to find bugs related with improper internal structure or improper usage of software.
In datacom testing, if a tester is carrying out tasks like configuring the routers/switches, capturing packets using tools like wire shark, generating traffic using tools like Ixexplorer, router tester etc we can consider that as manual testing.
Automated Testing is carried with the help of scripting languages like TCL, Python, Perl or any automation software’s like I automate, Spirent Test Center etc.
Protocol testing and software testing cannot be treated as two streams, protocol testing is indeed a subdomain of software testing . Though the testing types (functional, performance, negative etc) are same, the tools used and the method of testing are different.
When a tester is testing a router or a switch, he /she is infact testing a program which is part of the operating system of that device. So protocol testing is not the testing of physical device , but it is testing of a software in it.
Bug severity represents how bad the bug has affected the code. It is expressing the intensity of the impact of bug in the normal working of software.
When bugs are raised, developers will fix them according to the bug priorities. Bug priority represents how important and urgent it is to fix a bug.
A test case is a document detailing a set of test inputs, preconditions, topology, execution steps and expected result.
Functional specification document (or just Spec in short) is document that describes the detailed working of all features, performance, capabilities and every function that the application must perform.
Traffic generators are used to create and send customized packets. Customization includes changing the contents of the headers, setting the size, speed, number of packets, generating different streams of packets etc. IxNetwork, Spirent Smart Bits, Ostinato, Scapy, Hping, IPerf etc are some of the traffic generators used in the protocol testing industry.
Capturing tools are used to capture and analyze the packets send/received in the interfaces. Tools like Wire shark, Tshark, Scapy, TcpDump can be used to check the header structure, size the contents of the captured packets.
Simulators are used to create virtual routers/switches to setup topologies with many devices which will be difficult to setup if we are using physical devices. IxNetwork, Spirent Test Center etc can be used to simulate virtual device.