Copyright Disclaimer: During reprinting, please use hyperlinks to indicate the original source and author information of the article and this statement
Http://landing.blogbus.com/logs/19555215.html
[Reprinted 1]
To select a protocol correctly, you must be familiar with the technical architecture of the tested application. The following lists some protocols supported by LoadRounner:
General applications: C Vuser, VB Vuser, VB Script Vuser, JAVA Vuser, and JavaScript Vuser
E-commerce: WEB (Http/Html), FTP, LDAP, Palm, Web/WinsocketDual Protocol
Client/Server: ms SQL Server, ODBC, Oracle, DB2, Sybase CTlib, Sybase DBlib, Domain Name Resolution (DNS), Windows Socket
Distributed Components: COM/DCOM, Corba-Java, and Rmi_Java
EJB: EJB, Rmi_Java
ERP/CRP: Oracle NCA, SAP-Web, SAPGUI, SAPGUI/SAP-Web Dual Protocol, PropleSoft_Tuxedo, Siebel Web, Siebel-DB2 CLI, Sieble-MSSQL, Sieble Oracle
Legacy system: Terminal Emulation (RTE)
Mail service: Internet Messaging (IMAP), MS Exchange (MAPI), POP3, SMTP
Middleware: Jacada, Tuxedo 6, Tuxedo 7
Wireless Systems: I-mode, voiceXML, WAP
Application Deployment software: Citrix_ICA stream: Media Plays (MMS), Real
[Reprint 2]
The classic answer Protocol selected for the loadrunner protocol is the structure mode for data transmission over the network. Different protocols have different data packet structures. There are layers of Protocols. Generally, we start from the ip layer and go up to the TCP and UDP protocols layer, while the TCP and UDP protocols layer has the http and ftp protocols layer, the smtp protocol layer and the protocols we see in lr. In fact, these high-level protocols are further encapsulated for the underlying protocols. For example, the data packets of the IP protocol are unordered and not reliably transmitted. The TCP protocol layer is formed by adding the serial number and status data segments to the data packets. Therefore, we use winsock to record many network applications without finding a suitable protocol, which is certainly correct. Because almost all network transmission is based on tcp or udp, and socket is the concept at this level. However, because the socket protocol level is too low, it is hard to understand what you have recorded. These are socket, port, data, and other things. Therefore, we try to use high-level protocols for recording and we can understand it.
Let's talk about the problem. How can we choose the recording protocol for a software architecture? Speaking of this, I want to talk about my understanding of the lr recording mechanism (I have never touched the lr kernel, just by speculation and inference ). During recording, lr should capture and unpack the data you sent from the local machine. Because we know that the Protocol is different because the packet structure is different, lr should analyze the packet structure to determine whether it supports the Protocol and analyze the packet data, to get what the user sends. For example, if you use the ftp protocol to record an IE operation to access a Web page, there is definitely nothing to gain. Because lr does not intercept packets in the ftp protocol format on the network, they are all packets in the http protocol format. It does not recognize them. Of course, it is the result of an empty recording. Now that we understand this, we know how to select the protocol. Many people are concerned about whether lr supports the mysql protocol. I think the answer is like this:
1. First, find out the relationship between the mysql protocol and other database protocols to see if other database protocols can be used for recording. But in fact, oracle's cs protocol is a proprietary protocol developed by oracle, and SQL Server is also the same, and mysql is not affiliated with these products, and its script recording is unlikely.
2. What protocol is the underlying mysql Protocol Based on? If lr is directly built on the tcp protocol and does not support the mysql protocol, you can only use a lower protocol for recording, that is, socket. If the mysql protocol is built on the odbc protocol, it may be written using the lr odbc api.
[Reprinted 3]
Most of the time it is mentioned that it is not a browser-based application. Many people will think of recording using the WinSocket protocol, as if Form forms can all use Winsocket. In principle, the bottom layer of network communication is based on sockets, such as TCP and UPD. It seems that all programs can be recorded using the Socket protocol. This is not the case, because the selected protocol determines how LoadRunner captures data packets. Otherwise, a lot of useless data will be captured. Therefore, not all programs are applicable to the WinSocket protocol. In fact, those Socket-based applications are truly suitable for recording through the Socket protocol. For other applications, such as database-based applications, the Socket protocol is not often used, and the script may not be recorded. Many C/S programs must select the appropriate protocol. Based on the author's experience, most C/S programs need to develop a lot of scripts manually, because many recording playback operations may have problems more or less, but you can refer to the recording results. Therefore, to test a program, you must understand the technologies used by developers and the protocols for data flow encapsulation. In theory, before we test the performance of a system, we need to first check with developers what technologies they use during the development process, and what protocol is used for data stream encapsulation, we also need to know the network structure of the system to be tested, server configuration, and other issues. We also need to know the protocol between the system client and the first server, which involves a middleware issue. In addition, we need to know the protocol selection is directly related to what data packets LR will capture. These are the basis for performance testing. The following describes several testing principles (I have met all of them. I don't know if I have never met them ):
1. Generally, you only need to select the WEB (Http/Html) Protocol for the B/s architecture. If there is middleware, select the protocol of the middleware server;
2. the C/S structure can be selected based on the type of the backend database. For example, the SybaseCTLib protocol is used to test the application of Sybase for the background database; the application of ms SQL Server protocol and the application of testing the background database for SQL Server;
3. Generally, it is not browser-based. For some Windows applications without a database, we will choose the WinSocket protocol for recording during the test. Theoretically, this is the correct choice, however, we need to know that the Protocol selected during recording determines how LR captures data packets. If we select an error, some useless data packets will be captured. The cs structure is complex. Here I would like to remind you that you must understand whether cs is a client-database or a client-server-database structure, only in this way can we decide whether to choose the WinSocket protocol or the SQL protocol, or select multiple protocols. Of course, the protocol selection is also a process of exploration, as long as we can get the desired results, that is correct. Another point is that we should focus on performance testing.
4. For the single protocol and double protocol, I only know that the browser OF THE IE6 kernel should select the single protocol when recording the script, the IE7 kernel browser must use the dual protocol when recording scripts.