WO2010122228A1 - Testing apparatus and method - Google Patents

Testing apparatus and method Download PDF

Info

Publication number
WO2010122228A1
WO2010122228A1 PCT/FI2010/050325 FI2010050325W WO2010122228A1 WO 2010122228 A1 WO2010122228 A1 WO 2010122228A1 FI 2010050325 W FI2010050325 W FI 2010050325W WO 2010122228 A1 WO2010122228 A1 WO 2010122228A1
Authority
WO
WIPO (PCT)
Prior art keywords
page
communications network
message
testing
data
Prior art date
Application number
PCT/FI2010/050325
Other languages
French (fr)
Inventor
Esa-Matti Runola
Janne Lehtonen
Thomas BERGSTRÖM
Original Assignee
Ip Networks Oy
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ip Networks Oy filed Critical Ip Networks Oy
Publication of WO2010122228A1 publication Critical patent/WO2010122228A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3414Workload generation, e.g. scripts, playback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/875Monitoring of systems including the internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Definitions

  • This invention relates to the testing of a page maintained in a communications network.
  • the invention is suitable for use in testing a WWW (World Wide Web) page maintained on the Internet, for instance.
  • WWW World Wide Web
  • a page maintained in a communications network refers herein to a page that is maintained by an apparatus connected to the communications network in a manner that enables the retrieval and reception of the page by another apparatus through the communications network.
  • Pages maintained in a communications network may be divided into static and dynamic pages.
  • a static page is a file on a server. It is always displayed the same on a browser and only changes, if the file is edited on the server. Thus, static pages may be tested in the manner described above.
  • a dynamic page is only created when a browser requests it through a message transmitted to the communications network.
  • the message of the browser that is, retrieval request, initiates functions on the server, as a result of which a new web page is created.
  • the message may contain dynamic data, that is, data that may change from one retrieval to another.
  • the invention utilizes not only a page history and other data related to page retrievals, but also data received from the communications network during testing.
  • This received data may include dynamic data that is analyzed before the next message is sent to the communications network. If the analysis shows a need for editing, the message to be sent next is not created solely on the basis of the data related to the retrieval of the page in the memory, but the message is edited on the basis of the analysis result. This produces the message to be sent to the communications network and, in spite of the dynamic data, the message is formed in such a manner that the testing may be done.
  • the need for editing may be identified for instance from the fact that cookies, hidden fields, dynamically altered addresses or scripts have been received after the previous message was sent, and these represent dynamic data that need to be taken into consideration in the next message to be sent so that the testing of the page would proceed appropriately.
  • the solution of the invention makes it possible to automate testing in a manner that makes it simple and easy despite dynamic data.
  • Figure 1 is a flow chart of a first embodiment of the method of the invention
  • FIGS. 2 to 4 illustrate a first preferred embodiment of the testing apparatus according to the invention
  • Figure 5 illustrates data storage when using a secure connection
  • FIGS. 6a and 6b illustrate page testing in connection with sponsored links
  • Figures 7a to 7f illustrate page testing in connection with a double retrieval
  • Figures 8a and ⁇ b illustrate page testing in connection with logging in.
  • Figure 1 is a flow chart of a first preferred embodiment of the invention.
  • the embodiment of Figure 1 is suitable for use in testing a specific WWW page, for instance.
  • a page history and other data related to page retrievals are stored into a memory, when messages are sent to the communications network for retrieving a page to be tested to a computer.
  • the retrieval of the page may take place through a proxy server manually by using the interface of the computer.
  • the proxy server then stores into the memory specifically the messages (such as HTTP requests in their entirety) sent by the proxy server, when a page is retrieved through it to said computer.
  • the page history that is, in correct order the addresses (URL) of the pages that the proxy server has sent to the communications network in the messages.
  • the messages may contain static and dynamic data.
  • Static data include usernames, passwords, and POST, GET and PUT methods of HTTP requests that the proxy server has transmitted in the messages to the communications network.
  • Dynamic data include at least hidden-type fields in WWW page forms, cookies, dynamically changing addresses (URLs), and data created or edited by scripts. At least the page history and the static data related to the page retrievals must be stored, even though according to the invention, it is also possible to store dynamic data and other information into the data related page retrievals. Other information may include a time stamp, browser-related information, type (e.g. text, im- age or audio file) of the destination address (URL) of a link, type of a link (e.g. form transmission link, text link, image link) and ID attribute of a link.
  • type e.g. text, im- age or audio file
  • the proxy server may edit the messages transmitted between the computer and server through the communications network during a manual retrieval of the page. This may take place in such a manner, for instance, that the proxy server changes the addresses (URLs) of the links transmitted from the server to the computer through the communications network and temporarily stores the original addresses of the links into the memory.
  • the proxy server changes the addresses (URLs) of the links transmitted from the server to the computer through the communications network and temporarily stores the original addresses of the links into the memory.
  • the selection triggers the sending of an appropriate message to the proxy server (and not directly to the original address in the communications network), whereby on the basis of the message, the proxy server is capable of retrieving from its memory the temporarily stored original address of the link and transmitting the message to the communications network to the address of the original link.
  • This message transmitted by the proxy server to the communications network is then stored into the memory of the proxy server for utilization in a manner described below.
  • the page history and data related to page retrievals stored into the memory are moved to a testing apparatus. If the testing is done with the same apparatus that performed the storing into the memory, the move from one apparatus to another is not necessary. Alternatively, if the testing is done with another apparatus, the information stored into the memory may be transmitted to the testing apparatus through the communications network, for instance, or stored on a computer-readable storage medium, from which they may be transferred to the testing apparatus.
  • the testing is initiated. This may be done manually through the user interface of the testing apparatus. Alternatively, there may be several testing apparatuses, whereby the testing apparatuses may be responsive to a predetermined message received through the communications network, which shows when the testing should be started. The latter alternative provides the advantage that it offers a simple solution for testing the load capacity of the page being tested, when several testing apparatuses may be directed through a separate control apparatus, for instance, to test the same page. [0018] After testing has been started, the page history and the data related to the retrieval of the next page, on the basis of which the next message is generated, are fetched from the memory.
  • the routine checks whether this is the first message to be sent. If it is, the routine may move directly to transmitting the message to the Communications network (F).
  • the server maintaining the page being tested reacts to the first message by providing to the testing apparatus data related to the page, which may contain dynamic data. Therefore, from the second message to be sent onwards, there is a need to analyze the received data (in block G) before the message is sent.
  • the routine checks whether the data in the received page contains dynamic data that need to be analyzed (block E). If not, the routine may move on to transmitting the message (F).
  • block E the received dynamic data is analyzed to evaluate the need to edit the message to be sent next. If the message needs to be edited, the message to be sent next is edited in block E taking into consideration the received dynamic data and the data related to the page retrieval and stored in block A.
  • block F the generated message is sent to the communications network.
  • block G data transmitted by the server maintaining the page to the testing apparatus in response to the sent message is received from the communications network.
  • the method steps of blocks B to G are repeated until, on the basis of the page history and the data related to the page retrievals stored into the memory and possibly the received dynamic data, all necessary messages have been generated and transmitted to the communications network, and the data related to the pages have been received from the servers.
  • the object of the test is solely to test whether the testing apparatus can receive a specific page, it is enough that the messages are transmitted to the communications network, after which the reception of the page being tested to the testing apparatus is monitored.
  • a timer is set to measure the time from the transmission of the messages to the communications network to the reception of the page and/or individual elements of the page being tested to the testing ap- paratus. In some cases, it may be enough to measure just the response time for the reception of the entire page. However, in other cases it is possible that it is necessary to measure the response time for the reception of each individual element, whereby it is possible, for example, to identify an element that required an exceptionally long time to arrive.
  • An element refers to a part of a page.
  • a WWW page for instance, is in practice made up of several elements, such as text elements and graphical elements, and it may be interesting to find out how much time the retrieval and reception of each element requires.
  • the result then comprises in fact several response times, for instance 3 seconds for element 1, 2 seconds for element 2 and 6 seconds for element 3 (last element), in which case the response time for the entire page is 11 seconds.
  • this patent application uses the term "response time" regardless of whether one or more response times are measured in testing the response time.
  • the response time may also be measured during load capacity testing, in which case several testing apparatuses may be simultaneously controlled to transmit messages to the communications network for testing the same page. Each testing apparatus then measures the response time and afterwards transmits the measured response time to the above-mentioned control apparatus. If the testing apparatuses are physically distributed to different locations, such as to different countries, this makes it possible to measure the response time at different locations in different load situations or at different times.
  • Figures 2 to 4 illustrate a first preferred embodiment of the testing apparatus according to the invention.
  • Figure 2 shows testing apparatuses 1 that are connected through a communications network to a server 3 that maintains a page 7 to be tested, and a proxy server 8 and a computer 9 with which the information required for the testing may be stored into a memory.
  • Figure 3 shows details of the proxy server 8
  • Figure 4 shows details of an individual testing apparatus.
  • FIG. 2 The example of Figures 2 to 4 assumes that several testing apparatuses 1 are used that are physically distributed around the world.
  • the example of Figures 2 to 4 assumes that before initiating the test, a proxy server 8 is utilized to store into a memory the information required for performing the test.
  • the proxy server 8 is connected between the computer 9 and communications network.
  • a user retrieves a page 7 to the computer 9 by manually using the user interface of the computer 9, the messages transmitted by the computer 9 are forwarded by a controller 12 of the proxy server 8 to the communications network 2.
  • the controller of the proxy server stores a page history and static data into the memory on the basis of the messages transmitted by the proxy server to the communications network.
  • the proxy server may edit the messages transmitted between the computer and communications network as described above in connection with block A of Figure 1.
  • the proxy server may also be utilized in connection with computers with a direct connection to the communications network and whose traffic thus needs to be directed through a proxy server so that on the basis of messages transmitted from these computers, it would be possible to store the necessary data into the memory of the proxy server during the storage step.
  • the memory 11 may be the hard disk of the proxy server 8, a database or a memory circuit.
  • the controller 12 may be implemented by circuits or a combination of circuits and a computer program.
  • One alternative is that the controller is implemented by a processor of the proxy server and a computer program stored into the memory of the proxy server.
  • the proxy server sends a copy of it to the testing apparatuses 1 by a message 10. This way, the information stored into the memory 11 is stored into the memories of the testing apparatuses. Alternatively, the proxy server may transmit to the testing apparatuses only a message that indicates that the testing apparatuses should fetch the information stored into the memory either directly from the proxy server or from a specific database to which the proxy server has transferred the stored messages.
  • the testing apparatus 1 shown in Figure 4 has a memory 14 that may be formed of a memory circuit, database or hard disk of the testing apparatus.
  • the testing apparatus 1 also comprises a controller 13 and timer 15 that may be implemented by a circuit solution or as a combination of a circuit solution and computer program.
  • the controller 13 is configured to trigger the sending of messages MSG to the communications network for retrieving a page to be tested and receiving it with a testing apparatus, as described in connection with Figure 1 , for instance.
  • the controller then generates a message MSG by utilizing the page history and static data stored into the memory 14, analyzes the dynamic data received after the sending of the previously sent message, and edits the generated message MSG before sending it, if the analysis indicates this is necessary.
  • Triggering the sending of the messages MSG may take place, for instance, in response to an instruction received by the testing apparatus 1 through a user interface (such as keyboard).
  • the triggering may take place in such a manner that a separate control apparatus 16 (or proxy server) transmits to the testing apparatuses 1 information on when the test should be performed (for instance immediately or at a given time).
  • the controller 13 then triggers the start of the test under the control of the control apparatus 16.
  • the controller starts the timer 15 to measure the response time.
  • the controller 13 stores the response time (or several response times, as described above) into the memory 14.
  • the controller may also control the transmission of the message indicating the measured response time from the testing apparatus 1 to the control apparatus 16 which thus receives information on the measured response time.
  • a limit value is defined for the testing apparatus and that the testing apparatus transmits to the control apparatus 16 information on the measured response time only when the measured response time exceeds this limit value. This may then be a limit value for the time needed for receiving the entire page with the testing apparatus. Alternatively, it may be a limit value that indicates the longest allowed time for receiving an individual element included in the page, and the exceeding of the limit value triggers the sending of the information indicating the measured response time to the control apparatus.
  • Figure 5 illustrates the storing of data when a secure connection is used.
  • Figure 5 shows the computer 9, proxy server 8, and server 3 of Figure 2, where the page to be tested in maintained.
  • the proxy server sets up a first secure connection between the computer 9 and proxy server 8. In addition to this, a second secure connection is formed between the proxy server 8 and server 3.
  • the proxy server is then able to decrypt for instance messages utilizing the HTTPS protocol and transmitted to it by the computer 9.
  • HTTP decrypted
  • the proxy server 8 stores the required information into the memory (after the possible editing described in connection with block A of Figure 1 ) and re-encrypts (HTTPS) them by using the encryption key used in the connection between the proxy server 8 and server. After encryption, the proxy server transmits the messages to the server 3.
  • the proxy server also performs a corresponding decryption and encryption to the messages transmitted from the server 3 to the computer 9.
  • the decryption and encryption described above provides the advantage that it is possible to store without encryption into the memory of the proxy server the required information from the messages transmitted by the proxy server without needing to send the messages without encryption through the communications network.
  • Figures 6a and 6b illustrate page testing, when a sponsored link is maintained on the page in question.
  • Figure 6a shows the storage of information
  • Figure 6b shows retrieving the page to the testing apparatus for testing.
  • Advertisers can acquire information on the page history by using so-called third-party cookies.
  • the user first retrieves the page www.pckauppa.fi (left side of figure) and then the page www.netstore.fi (right side) to the display of the computer 9 (shown in Figure 2) through the proxy server 8.
  • the advertisement images are not retrieved through the proxy server, so when entering the www.pckauppa.fi page, the browser of the user retrieves the image from www.ad.com.
  • the page When the user then enters the www.netstore.fi page (either through a link or an address line of the proxy server), the page will also show the advertisement image from www.ad.com.
  • the browser of the computer 9 transmits an HTTP request of the cookie set on the earlier page in the Cookie field.
  • the ad.com server can on the basis of this "third-party cookie" identify that the user of the browser has earlier visited the pckauppa.fi page and transmit a "niche advertisement" to the netstore.fi page.
  • the controller of the testing apparatus 1 generates a message to be sent to the communications network on the basis of the page history and data related to the page retrieval stored into the memory. In the first step, it transmits a message so that the page www.pckauppa.fi can be retrieved to the testing apparatus. According to the storage step example, the testing apparatus then receives from www.ad.com a session-specific third- party cookie (the value of the cookie is still pckauppa.fi, but the name has changed to csite) and stores it into the memory.
  • the controller of the testing apparatus 1 generates a message on the basis of the page history and data related to the retrieved page (e.g. URL and browser information) stored into the memory for the purpose of retrieving the page www.netstore.fi.
  • the controller detects that, owing to the previous message, it has received dynamic data, that is, a cookie, and stored it into the memory.
  • the controller edits the next message to be sent such that it contains not only the address of the page but also the cookie received due to the sending of the previous message.
  • Figures 7a to 7f illustrate page testing in a case where a so- called double retrieval needs to be done to retrieve a page.
  • the Internet contains not only the commonly used search engines but also innumerable other search engines.
  • One search engine type is, for instance, product search on the pages of an e-commerce store.
  • the search results are often generated dynamically by using hidden fields of forms, that is, hidden fields that the browser of the used computer does not show to the user on the display of the computer.
  • FIGs 7a to 7c Storage has been illustrated in Figures 7a to 7c.
  • the user first retrieves through the proxy server 8 to the display of the computer 9 a page whose address is www.pckauppa.fi and the proxy server stores the address into the memory with the page history.
  • This main page has a simple search form which the computer 9 receives and with which products may be searched for according to either name or category.
  • the user enters the search word "minipc" on the form displayed on the display of the computer 9 and presses the "SEARCH” button.
  • the browser inserts the search word from the search form to the so-called query section of the HTTP message, which is the section after the question mark.
  • search is the name given to the field of the form and the browser inserts it automatically to the query.
  • the search word entered by the user is static data that the proxy server stores into the memory.
  • the computer 9 receives, due to the sent message, the search form shown in Figure 7b which on the browser of the computer 9 looks like the main page, but has a hidden field in it.
  • the name of the field is id and the server of pckauppa inserts a value for it dynamically (it may be the id of a temporary database table, for instance). This id is needed when a search ("ac") is made that shows all "ac"-brand computers among miniPCs.
  • the contents of the message which also includes the search word "ac" entered by the user, is static data that the proxy server stores into the memory. Due to the sent mes- sage, the computer 9 receives the search result shown in Figure 7c which at the time only contains one ac-brand computer.
  • Figures 7d to 7f illustrate dynamic repetition.
  • the controller of the testing apparatus generates a message on the basis of the stored page history and the data related to the page retrieval, and the testing apparatus receives the form on page www.pckauppa.fi. as shown in Figure 7d.
  • the testing apparatus receives the form shown on the page in Figure 7e, which contains an id field invisible to the user and the value of the field is changed from the value set when it was stored (in the example 356 ⁇ 824). Because of this, it must be searched from the reply of the server and changed in the next message to be sent.
  • the controller fetches on the basis of the page history and the data related to the page retrieval stored into the memory a message that contains static data, among other things, the selection "ac" entered earlier by the user.
  • the controller finds that dynamic data (hidden id field in the form) has been received and that the next message to be sent must be edited due to the received dynamic data.
  • the testing apparatus can fetch all "ac"-brand computers among the miniPCs at that moment.
  • the number of ac-brand computers among the miniPCs has increased to two. If the old id field value (356) obtained during storage is used, the pckauppa server provides either an outdated page (the same as in the storage example that showed only one ac-brand computer) or an error message. Thus, by taking received dynamic data into consideration, it is possible to provide accurate requests at the time of the repetition, and changes occurred on the page can be detected in testing.
  • Figures 8a to 8b illustrate page testing when the page to be tested requires logging in.
  • the purpose of logging in is to prevent other users than those who have registered from accessing the page. Users are typically identified by a usemame and password. In addition, such pages contain a lot of dynamic data to prevent automatic listing of usemames and passwords.
  • FIG. 8a Storage is illustrated in Figure 8a.
  • the user first enters the logging in page address to the computer 9 ( Figure 2) and the proxy server 8 stores it into the memory.
  • the computer 9 receives data containing dynamic data (forms, cookies and hidden fields) which the computer 9 uses to generate the forms shown in Figure 8a on the display.
  • the logging in page may have several forms ( Figure 8a shows forms 1 and 2).
  • Form 2 contains the usemame and password fields that are displayed on the page.
  • form 2 contains one hidden field, "aLrnop" field, to which the server may store dynamic data.
  • the HTTP message is forwarded through the proxy server 8, where at least the page history and static data are stored of its contents.
  • the information on the form may be transmitted in a GET message, if get is defined as the method of the form.
  • the contents from the form are, however, the same as in a POST message, so the GET message is not described separately in this example.
  • Repetition that is the testing of the page, is illustrated in Figure 8b.
  • the controller then first generates a message on the basis of the page history and data related to the page retrieval for the purpose of fetching the logging in page (www.np.fi). Because the message to be sent is the first one and no dynamic data has been received at this stage, the message is transmitted without editing.
  • the testing apparatus receives data related to the logging in page and generates from the data the view shown in Figure 8b (top left) for the testing apparatus. Dynamic data, that is, hidden fields and a cookie, are contained in this data to be received.
  • the controller fetches from the stored information the values of the "username" and "password” fields and utilizes them to produce an HTTP message.
  • the controller detects that after the reception of the previous message, dynamic data has been received, which means that the message needs to be edited before it is sent.
  • one additional hidden field rmT2h
  • the value of the aLrnop field has also changed, so it is used in the HTTP message edited by repetition.
  • the cookie header is set to the value according to the dynamic data received during repetition.
  • links look the same to the user (the text and outlook of the link), but the URLs they lead to change in relation to time or some other factor. During repetition, it may be found that the address of the processed link differs from the address of the same link stored during the storage step.
  • the links stored during the storage step can be identified as the same on the basis of the following characteristics on the page:
  • Characteristics 2 to 4 listed above can always be compared.
  • a link does not always have text (1) in which case it is possible to compare the source URL (4) of the link image.
  • the id attribute (5) usually identifies HTML elements, but it is not always defined.
  • the text of the link in itself is not enough for identification, because the page may have several links with the same text.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Abstract

This invention relates to a method for testing a page. To provide an easy and simple solution, a page history and data related to page retrievals are stored (A) into a memory on the basis of messages transmitted to a communications network from a proxy server, when a page to be tested is retrieved to a computer via said proxy server, and for testing said maintained page: fetching (B) and transmitting (F) messages by utilizing the page history and static data stored into the memory, receiving (G) data containing dynamic data from the communications network due to a transmitted message, analyzing (E) the received dynamic data by utilizing the page history and data related to page retrievals stored into the memory for the purpose of evaluating the need for editing the message to be transmitted next, and editing (E) the next message to be transmitted on the basis of the received dynamic data, when this is necessary on the basis of said analysis.

Description

TESTING APPARATUS AND METHOD
FIELD OF THE INVENTION
[0001] This invention relates to the testing of a page maintained in a communications network. The invention is suitable for use in testing a WWW (World Wide Web) page maintained on the Internet, for instance.
DESCRIPTION OF THE PRIOR ART
[0002] In certain situations, for instance after a page has been updated, it may be necessary to test a page maintained in a communications network. The concept "a page maintained in a communications network" refers herein to a page that is maintained by an apparatus connected to the communications network in a manner that enables the retrieval and reception of the page by another apparatus through the communications network.
[0003] Solutions are previously known in which, for retrieving the page to be tested, a predetermined sequence of messages is sent to the communications network, and this results in retrieving the page to be tested to the testing apparatus. In such a case, the required messages may be stored into a memory, from which they are fetched and sent to the communications network in the correct order for the purpose of retrieving the page to be tested to the testing apparatus.
[0004] However, the above-mentioned solution is problematic in connection with dynamic web pages. Pages maintained in a communications network, that is, web pages, may be divided into static and dynamic pages. A static page is a file on a server. It is always displayed the same on a browser and only changes, if the file is edited on the server. Thus, static pages may be tested in the manner described above. However, a dynamic page is only created when a browser requests it through a message transmitted to the communications network. The message of the browser, that is, retrieval request, initiates functions on the server, as a result of which a new web page is created. The message may contain dynamic data, that is, data that may change from one retrieval to another.
[0005] When moving from one dynamic page to the next during testing, the message sent to the communications network, with which the next page is retrieved, may change between retrievals due to dynamic data. In addition, a significant number of dynamic web pages cannot be accessed by means of just an address (URL)1 but through a retrieval function, logging in, or a certain link.
[0006] This causes problems for prior-art testing apparatuses that repeat messages stored in a memory, and at the moment, there is no satisfactory solution for testing in a simple and easy manner a dynamic page maintained in a communications network so that changes caused by dynamic data may be controlled.
SUMMARY OF THE INVENTION
[0007] It is an object of the invention to solve the problem described above and to offer for use a new solution for testing a page maintained in a communications network in a simple and easy manner. This object is achieved by the testing apparatus according to independent claim 1 and the method according to independent claim 7.
[0008] The invention utilizes not only a page history and other data related to page retrievals, but also data received from the communications network during testing. This received data may include dynamic data that is analyzed before the next message is sent to the communications network. If the analysis shows a need for editing, the message to be sent next is not created solely on the basis of the data related to the retrieval of the page in the memory, but the message is edited on the basis of the analysis result. This produces the message to be sent to the communications network and, in spite of the dynamic data, the message is formed in such a manner that the testing may be done.
[0009] The need for editing may be identified for instance from the fact that cookies, hidden fields, dynamically altered addresses or scripts have been received after the previous message was sent, and these represent dynamic data that need to be taken into consideration in the next message to be sent so that the testing of the page would proceed appropriately.
[0010] Thus, the solution of the invention makes it possible to automate testing in a manner that makes it simple and easy despite dynamic data.
[0011] Preferred embodiments of the testing apparatus and method of the invention are disclosed in the attached dependent claims.
BRIEF DESCRIPTION OF THE FIGURES
[0012] In the following, the invention will be described by way of example and in more detail with reference to the attached drawings, in which: Figure 1 is a flow chart of a first embodiment of the method of the invention,
Figures 2 to 4 illustrate a first preferred embodiment of the testing apparatus according to the invention,
Figure 5 illustrates data storage when using a secure connection,
Figures 6a and 6b illustrate page testing in connection with sponsored links,
Figures 7a to 7f illustrate page testing in connection with a double retrieval, and
Figures 8a and δb illustrate page testing in connection with logging in.
DESCRIPTION OF AT LEAST ONE EMBODIMENT
[0013] Figure 1 is a flow chart of a first preferred embodiment of the invention. The embodiment of Figure 1 is suitable for use in testing a specific WWW page, for instance.
[0014] In block A, a page history and other data related to page retrievals are stored into a memory, when messages are sent to the communications network for retrieving a page to be tested to a computer. The retrieval of the page may take place through a proxy server manually by using the interface of the computer. In practice, the proxy server then stores into the memory specifically the messages (such as HTTP requests in their entirety) sent by the proxy server, when a page is retrieved through it to said computer. On the basis of these messages, it is possible to check the page history, that is, in correct order the addresses (URL) of the pages that the proxy server has sent to the communications network in the messages. The messages may contain static and dynamic data. Static data include usernames, passwords, and POST, GET and PUT methods of HTTP requests that the proxy server has transmitted in the messages to the communications network. Dynamic data include at least hidden-type fields in WWW page forms, cookies, dynamically changing addresses (URLs), and data created or edited by scripts. At least the page history and the static data related to the page retrievals must be stored, even though according to the invention, it is also possible to store dynamic data and other information into the data related page retrievals. Other information may include a time stamp, browser-related information, type (e.g. text, im- age or audio file) of the destination address (URL) of a link, type of a link (e.g. form transmission link, text link, image link) and ID attribute of a link.
[0015] So as to make sure that all messages transmitted to the communications network pass through a proxy server in a situation in which the computer has a direct connection to the communications network, the proxy server may edit the messages transmitted between the computer and server through the communications network during a manual retrieval of the page. This may take place in such a manner, for instance, that the proxy server changes the addresses (URLs) of the links transmitted from the server to the computer through the communications network and temporarily stores the original addresses of the links into the memory. When a user then selects manually such a changed link, the selection triggers the sending of an appropriate message to the proxy server (and not directly to the original address in the communications network), whereby on the basis of the message, the proxy server is capable of retrieving from its memory the temporarily stored original address of the link and transmitting the message to the communications network to the address of the original link. This message transmitted by the proxy server to the communications network is then stored into the memory of the proxy server for utilization in a manner described below.
[0016] When moving from block A to block B, the page history and data related to page retrievals stored into the memory are moved to a testing apparatus. If the testing is done with the same apparatus that performed the storing into the memory, the move from one apparatus to another is not necessary. Alternatively, if the testing is done with another apparatus, the information stored into the memory may be transmitted to the testing apparatus through the communications network, for instance, or stored on a computer-readable storage medium, from which they may be transferred to the testing apparatus.
[0017] In block B, the testing is initiated. This may be done manually through the user interface of the testing apparatus. Alternatively, there may be several testing apparatuses, whereby the testing apparatuses may be responsive to a predetermined message received through the communications network, which shows when the testing should be started. The latter alternative provides the advantage that it offers a simple solution for testing the load capacity of the page being tested, when several testing apparatuses may be directed through a separate control apparatus, for instance, to test the same page. [0018] After testing has been started, the page history and the data related to the retrieval of the next page, on the basis of which the next message is generated, are fetched from the memory.
[0019] In block C, the routine checks whether this is the first message to be sent. If it is, the routine may move directly to transmitting the message to the Communications network (F). When the first message has been sent, the server maintaining the page being tested reacts to the first message by providing to the testing apparatus data related to the page, which may contain dynamic data. Therefore, from the second message to be sent onwards, there is a need to analyze the received data (in block G) before the message is sent.
[0020] In block D, the routine checks whether the data in the received page contains dynamic data that need to be analyzed (block E). If not, the routine may move on to transmitting the message (F).
[0021] In block E, the received dynamic data is analyzed to evaluate the need to edit the message to be sent next. If the message needs to be edited, the message to be sent next is edited in block E taking into consideration the received dynamic data and the data related to the page retrieval and stored in block A.
[0022] In block F, the generated message is sent to the communications network. After this, in block G, data transmitted by the server maintaining the page to the testing apparatus in response to the sent message is received from the communications network. The method steps of blocks B to G are repeated until, on the basis of the page history and the data related to the page retrievals stored into the memory and possibly the received dynamic data, all necessary messages have been generated and transmitted to the communications network, and the data related to the pages have been received from the servers.
[0023] If the object of the test is solely to test whether the testing apparatus can receive a specific page, it is enough that the messages are transmitted to the communications network, after which the reception of the page being tested to the testing apparatus is monitored.
[0024] If at the same time it is necessary to measure the response time, differing from Figure 1, a timer is set to measure the time from the transmission of the messages to the communications network to the reception of the page and/or individual elements of the page being tested to the testing ap- paratus. In some cases, it may be enough to measure just the response time for the reception of the entire page. However, in other cases it is possible that it is necessary to measure the response time for the reception of each individual element, whereby it is possible, for example, to identify an element that required an exceptionally long time to arrive. An element refers to a part of a page. A WWW page, for instance, is in practice made up of several elements, such as text elements and graphical elements, and it may be interesting to find out how much time the retrieval and reception of each element requires. When testing the measuring of the response time, the result then comprises in fact several response times, for instance 3 seconds for element 1, 2 seconds for element 2 and 6 seconds for element 3 (last element), in which case the response time for the entire page is 11 seconds. It is also possible to measure a response time for the contents of the protocol messages transmitted from the server to the computer, whereby the response time is measured for the reception of the entire message sequence or separately for each message in the sequence. For the sake of simplicity, this patent application uses the term "response time" regardless of whether one or more response times are measured in testing the response time.
[0025] The response time may also be measured during load capacity testing, in which case several testing apparatuses may be simultaneously controlled to transmit messages to the communications network for testing the same page. Each testing apparatus then measures the response time and afterwards transmits the measured response time to the above-mentioned control apparatus. If the testing apparatuses are physically distributed to different locations, such as to different countries, this makes it possible to measure the response time at different locations in different load situations or at different times.
[0026] Figures 2 to 4 illustrate a first preferred embodiment of the testing apparatus according to the invention. Figure 2 shows testing apparatuses 1 that are connected through a communications network to a server 3 that maintains a page 7 to be tested, and a proxy server 8 and a computer 9 with which the information required for the testing may be stored into a memory. Figure 3 shows details of the proxy server 8, and Figure 4 shows details of an individual testing apparatus.
[0027] The example of Figures 2 to 4 assumes that several testing apparatuses 1 are used that are physically distributed around the world. The example of Figures 2 to 4 assumes that before initiating the test, a proxy server 8 is utilized to store into a memory the information required for performing the test.
[0028] The proxy server 8 is connected between the computer 9 and communications network. When a user retrieves a page 7 to the computer 9 by manually using the user interface of the computer 9, the messages transmitted by the computer 9 are forwarded by a controller 12 of the proxy server 8 to the communications network 2. The controller of the proxy server stores a page history and static data into the memory on the basis of the messages transmitted by the proxy server to the communications network. The proxy server may edit the messages transmitted between the computer and communications network as described above in connection with block A of Figure 1. Thus, the proxy server may also be utilized in connection with computers with a direct connection to the communications network and whose traffic thus needs to be directed through a proxy server so that on the basis of messages transmitted from these computers, it would be possible to store the necessary data into the memory of the proxy server during the storage step.
[0029] The memory 11 may be the hard disk of the proxy server 8, a database or a memory circuit. The controller 12 may be implemented by circuits or a combination of circuits and a computer program. One alternative is that the controller is implemented by a processor of the proxy server and a computer program stored into the memory of the proxy server.
[0030] In the case of Figure 2, it is assumed that the page 7 being tested is maintained on a server 3. However, the server does not permit retrieving the page directly on the basis of its address, but the user must first log in using a username and password on a page 4 maintained by the server 3. Only after this can the user of the computer 9 select by clicking whether s/he wants to move to page 5, 6, or 7. In connection with Figures 8a and 8b, an alternative is described how to perform this logging in.
[0031] When the information has been stored into the memory 11, the proxy server sends a copy of it to the testing apparatuses 1 by a message 10. This way, the information stored into the memory 11 is stored into the memories of the testing apparatuses. Alternatively, the proxy server may transmit to the testing apparatuses only a message that indicates that the testing apparatuses should fetch the information stored into the memory either directly from the proxy server or from a specific database to which the proxy server has transferred the stored messages.
[0032] The testing apparatus 1 shown in Figure 4 has a memory 14 that may be formed of a memory circuit, database or hard disk of the testing apparatus. The testing apparatus 1 also comprises a controller 13 and timer 15 that may be implemented by a circuit solution or as a combination of a circuit solution and computer program.
[0033] The controller 13 is configured to trigger the sending of messages MSG to the communications network for retrieving a page to be tested and receiving it with a testing apparatus, as described in connection with Figure 1 , for instance. The controller then generates a message MSG by utilizing the page history and static data stored into the memory 14, analyzes the dynamic data received after the sending of the previously sent message, and edits the generated message MSG before sending it, if the analysis indicates this is necessary. Triggering the sending of the messages MSG may take place, for instance, in response to an instruction received by the testing apparatus 1 through a user interface (such as keyboard). Alternatively the triggering may take place in such a manner that a separate control apparatus 16 (or proxy server) transmits to the testing apparatuses 1 information on when the test should be performed (for instance immediately or at a given time). The controller 13 then triggers the start of the test under the control of the control apparatus 16.
[0034] When the messages MSG have been sent to the communications network, the controller starts the timer 15 to measure the response time. When the page being tested has been received by the testing apparatus 1 , the controller 13 stores the response time (or several response times, as described above) into the memory 14. The controller may also control the transmission of the message indicating the measured response time from the testing apparatus 1 to the control apparatus 16 which thus receives information on the measured response time.
[0035] In all situations it is not necessary that the testing apparatus transmits information on the measured response time to the control apparatus after each test. According to the invention, it is also thinkable that a limit value is defined for the testing apparatus and that the testing apparatus transmits to the control apparatus 16 information on the measured response time only when the measured response time exceeds this limit value. This may then be a limit value for the time needed for receiving the entire page with the testing apparatus. Alternatively, it may be a limit value that indicates the longest allowed time for receiving an individual element included in the page, and the exceeding of the limit value triggers the sending of the information indicating the measured response time to the control apparatus.
[0036] Figure 5 illustrates the storing of data when a secure connection is used. Figure 5 shows the computer 9, proxy server 8, and server 3 of Figure 2, where the page to be tested in maintained.
[0037] The example of Figure 5 assumes that the page to be tested utilizes a secure connection, that is, an HTTPS protocol, for instance, between the server 3 that maintains the page and the computer that utilizes the page. The messages between the computer and server are then encrypted at the transmitting end and decrypted at the receiving end.
[0038] So as to be able to check the contents of such messages for the purpose of storing the data by the proxy server 8, the proxy server sets up a first secure connection between the computer 9 and proxy server 8. In addition to this, a second secure connection is formed between the proxy server 8 and server 3. The proxy server is then able to decrypt for instance messages utilizing the HTTPS protocol and transmitted to it by the computer 9. On the basis of these decrypted (HTTP) messages, the proxy server 8 stores the required information into the memory (after the possible editing described in connection with block A of Figure 1 ) and re-encrypts (HTTPS) them by using the encryption key used in the connection between the proxy server 8 and server. After encryption, the proxy server transmits the messages to the server 3. The proxy server also performs a corresponding decryption and encryption to the messages transmitted from the server 3 to the computer 9.
[0039] The decryption and encryption described above provides the advantage that it is possible to store without encryption into the memory of the proxy server the required information from the messages transmitted by the proxy server without needing to send the messages without encryption through the communications network.
[0040] Figures 6a and 6b illustrate page testing, when a sponsored link is maintained on the page in question. Figure 6a shows the storage of information and Figure 6b shows retrieving the page to the testing apparatus for testing. [0041] On the Internet, advertisers want to direct advertisements to visitors on the page. In this, it is possible to use information on what page(s) the visitor has previously visited. Advertisers can acquire information on the page history by using so-called third-party cookies.
[0042] In the situation of Figure 6a, the user first retrieves the page www.pckauppa.fi (left side of figure) and then the page www.netstore.fi (right side) to the display of the computer 9 (shown in Figure 2) through the proxy server 8. When storing on the proxy server 8, the advertisement images are not retrieved through the proxy server, so when entering the www.pckauppa.fi page, the browser of the user retrieves the image from www.ad.com. The ad.com server sends a cookie in the Set-Cookie field of its HTTP reply (phoste=pckauppa.fi). When the user then enters the www.netstore.fi page (either through a link or an address line of the proxy server), the page will also show the advertisement image from www.ad.com. The browser of the computer 9 transmits an HTTP request of the cookie set on the earlier page in the Cookie field. The ad.com server can on the basis of this "third-party cookie" identify that the user of the browser has earlier visited the pckauppa.fi page and transmit a "niche advertisement" to the netstore.fi page.
[0043] During the dynamic repetition of Figure 6b during the testing (according to Figure 2), the controller of the testing apparatus 1 generates a message to be sent to the communications network on the basis of the page history and data related to the page retrieval stored into the memory. In the first step, it transmits a message so that the page www.pckauppa.fi can be retrieved to the testing apparatus. According to the storage step example, the testing apparatus then receives from www.ad.com a session-specific third- party cookie (the value of the cookie is still pckauppa.fi, but the name has changed to csite) and stores it into the memory.
[0044] In the next step, the controller of the testing apparatus 1 generates a message on the basis of the page history and data related to the retrieved page (e.g. URL and browser information) stored into the memory for the purpose of retrieving the page www.netstore.fi. The controller then detects that, owing to the previous message, it has received dynamic data, that is, a cookie, and stored it into the memory. On the basis of analyzing the dynamic data, the controller edits the next message to be sent such that it contains not only the address of the page but also the cookie received due to the sending of the previous message. This way, the repetition provides the same advertise- ment as the one that the browser would show if the page was entered through the www.pckauppa.fi page, which makes it possible to test the operation of the www.netstore.fi page in the case in question.
[0045] Figures 7a to 7f illustrate page testing in a case where a so- called double retrieval needs to be done to retrieve a page. The Internet contains not only the commonly used search engines but also innumerable other search engines. One search engine type is, for instance, product search on the pages of an e-commerce store. The search results are often generated dynamically by using hidden fields of forms, that is, hidden fields that the browser of the used computer does not show to the user on the display of the computer.
[0046] Storage has been illustrated in Figures 7a to 7c. In Figure 7a, the user first retrieves through the proxy server 8 to the display of the computer 9 a page whose address is www.pckauppa.fi and the proxy server stores the address into the memory with the page history. This main page has a simple search form which the computer 9 receives and with which products may be searched for according to either name or category. The user enters the search word "minipc" on the form displayed on the display of the computer 9 and presses the "SEARCH" button. The browser inserts the search word from the search form to the so-called query section of the HTTP message, which is the section after the question mark. In the query, "search" is the name given to the field of the form and the browser inserts it automatically to the query. The pressing of the button thus sends from the browser of the computer 9 through the proxy server an HTTP message that is of the form: "GET items.php?search=minipc". In the contents of the message, among other things, the search word entered by the user is static data that the proxy server stores into the memory.
[0047] Next, the computer 9 receives, due to the sent message, the search form shown in Figure 7b which on the browser of the computer 9 looks like the main page, but has a hidden field in it. The name of the field is id and the server of pckauppa inserts a value for it dynamically (it may be the id of a temporary database table, for instance). This id is needed when a search ("ac") is made that shows all "ac"-brand computers among miniPCs. The contents of the message, which also includes the search word "ac" entered by the user, is static data that the proxy server stores into the memory. Due to the sent mes- sage, the computer 9 receives the search result shown in Figure 7c which at the time only contains one ac-brand computer.
[0048] Figures 7d to 7f illustrate dynamic repetition. First the controller of the testing apparatus generates a message on the basis of the stored page history and the data related to the page retrieval, and the testing apparatus receives the form on page www.pckauppa.fi. as shown in Figure 7d. Next, the controller generates a message in which the search word "minipc" entered by the user during the search is included in the static data. No dynamic data has been received after the previous message was sent, so the HTTP message is sent without editing in the form "GET items. php?search=minipc", like during the search.
[0049] Because the message is sent, the testing apparatus receives the form shown on the page in Figure 7e, which contains an id field invisible to the user and the value of the field is changed from the value set when it was stored (in the example 356 → 824). Because of this, it must be searched from the reply of the server and changed in the next message to be sent.
[0050] Next, the controller fetches on the basis of the page history and the data related to the page retrieval stored into the memory a message that contains static data, among other things, the selection "ac" entered earlier by the user. During analysis, the controller finds that dynamic data (hidden id field in the form) has been received and that the next message to be sent must be edited due to the received dynamic data. The query section of the URL of the message to be sent is therefore edited in such a manner that the hidden field "id=824" is included in the message to be sent. By using during repetition the new received id field value, the testing apparatus can fetch all "ac"-brand computers among the miniPCs at that moment. In the sample repetition, the number of ac-brand computers among the miniPCs has increased to two. If the old id field value (356) obtained during storage is used, the pckauppa server provides either an outdated page (the same as in the storage example that showed only one ac-brand computer) or an error message. Thus, by taking received dynamic data into consideration, it is possible to provide accurate requests at the time of the repetition, and changes occurred on the page can be detected in testing.
[0051] Figures 8a to 8b illustrate page testing when the page to be tested requires logging in. [0052] The purpose of logging in is to prevent other users than those who have registered from accessing the page. Users are typically identified by a usemame and password. In addition, such pages contain a lot of dynamic data to prevent automatic listing of usemames and passwords.
[0053] Storage is illustrated in Figure 8a. The user first enters the logging in page address to the computer 9 (Figure 2) and the proxy server 8 stores it into the memory. The computer 9 then receives data containing dynamic data (forms, cookies and hidden fields) which the computer 9 uses to generate the forms shown in Figure 8a on the display.
[0054] The logging in page may have several forms (Figure 8a shows forms 1 and 2). Form 2 contains the usemame and password fields that are displayed on the page. In addition, form 2 contains one hidden field, "aLrnop" field, to which the server may store dynamic data.
[0055] When the user has entered the username and password and then presses the "LOGIN" link on the page, the browser sends an HTTP message according to the figure. The message is sent to the address that is defined in the "action" field of form 2. A cookie, tl: aabbcc7, which the server received when entering the www.np.fi page, is attached to the message. Cookies are usually always dynamic data. The field names of the form and their values are attached to the end of the message. The values of the "username" and "password" fields come from user input, whereas the value of the aLrnop field is obtained from the definition of the form.
[0056] The HTTP message is forwarded through the proxy server 8, where at least the page history and static data are stored of its contents. Alternatively the information on the form may be transmitted in a GET message, if get is defined as the method of the form. The contents from the form are, however, the same as in a POST message, so the GET message is not described separately in this example.
[0057] Repetition, that is the testing of the page, is illustrated in Figure 8b. The controller then first generates a message on the basis of the page history and data related to the page retrieval for the purpose of fetching the logging in page (www.np.fi). Because the message to be sent is the first one and no dynamic data has been received at this stage, the message is transmitted without editing.
[0058] Next, the testing apparatus receives data related to the logging in page and generates from the data the view shown in Figure 8b (top left) for the testing apparatus. Dynamic data, that is, hidden fields and a cookie, are contained in this data to be received.
[0059] Next, the controller fetches from the stored information the values of the "username" and "password" fields and utilizes them to produce an HTTP message. During analyzing, the controller detects that after the reception of the previous message, dynamic data has been received, which means that the message needs to be edited before it is sent. In this example, one additional hidden field (rmT2h) has been added to the new version of the form. The value of the aLrnop field has also changed, so it is used in the HTTP message edited by repetition. The cookie header is set to the value according to the dynamic data received during repetition. After this, the edited message is transmitted to the communications network, whereby the page to be tested can be retrieved to the testing apparatus.
[0060] In addition to the examples described above, dynamically changing addresses (URLs) also lead to the editing of the next message to be transmitted, if they are detected during the analysis.
[0061] On many pages, links look the same to the user (the text and outlook of the link), but the URLs they lead to change in relation to time or some other factor. During repetition, it may be found that the address of the processed link differs from the address of the same link stored during the storage step. The links stored during the storage step can be identified as the same on the basis of the following characteristics on the page:
1 ) The text of the link (the text is shown in the browser view)
2) The surrounding context
3) The similarity of the URL
4) The type of the link object
5) The source URL of the link image, or
6) The id attribute.
[0062] Characteristics 2 to 4 listed above can always be compared. A link does not always have text (1) in which case it is possible to compare the source URL (4) of the link image. The id attribute (5) usually identifies HTML elements, but it is not always defined. The text of the link in itself is not enough for identification, because the page may have several links with the same text. By using all available characteristics and comparing them with the corresponding characteristics of the original link, it is possible to determine, if the link proc- essed during repetition is the same as that stored during the storage step. If the probability is high enough, it may be used in automatic repetition.
[0063] It should be understood that the above description and the related figures are only intended to illustrate the present invention. Different variations and modifications of the invention will be apparent to a person skilled in the art without departing from the scope of protection of the invention.

Claims

1. A testing apparatus (1) for testing a page (7) maintained in a communications network (2), characterised in that the testing apparatus
(1) comprises: a memory (14) for maintaining a page history and data related to page retrievals which have been stored into the memory when said page (7) being maintained has been retrieved from the communications network by transmitting messages to the communications network (2), a controller (13) that for the purpose of retrieving and receiving the page (7) to be tested by the testing apparatus is configured to:
- generate and transmit messages to the communications network
(2) by utilizing the page history and data stored into the memory,
- receive data containing dynamic data from the communications network (2) due to the transmitted message,
- analyze the received dynamic data by utilizing the page history and data stored into the memory (14) for the purpose of evaluating the need to edit a message to be transmitted next, and
- edit the message to be transmitted next on the basis of the received dynamic data, when this is necessary on the basis of the analysis.
2. A testing apparatus as claimed in claim ^characterised in that said testing apparatus (1) is configured to receive said page history and data from a proxy server (8) and to store the page history and data into the memory (14).
3. A testing apparatus as claimed in claim 1 or 2, characterised in that the testing apparatus (1) comprises a timer (15) for measuring a response time from transmitting messages to the communications network (2) until one or more elements contained in the page being tested or the entire page being tested is received at the testing apparatus (1).
4. A testing apparatus as claimed in any one of claims 1 to 3, characterised in that the controller (13) is configured to trigger the transmission of said messages to the communications network (2) in response to a message received from a control apparatus (16) via the communications network (2).
5. A testing apparatus as claimed in any one of claims 1 to 4, characterised in that said data related to page retrievals contains user- names, passwords or search terms.
6. A testing apparatus as claimed in any one of claims 1 to 5, characterised in that said dynamic data contains cookies, hidden fields, page changes caused by scripts or links with a changing address.
7. A method for testing a page maintained in a communications network, characterised by the method comprising storing (A) into a memory on the basis of messages transmitted from a proxy server to the communications network (2) at least a page history and data related to page retrievals, when a page (7) to be tested is retrieved to a computer via said proxy server, and for testing said maintained page: retrieving (B) from the memory the page history and data related to the page retrieval for the purpose of generating a message to be transmitted next, checking (C) whether the message to be transmitted is the first and if it is not, examining (D) whether the data (G) of the page received from the communications network contains dynamic data, analyzing (E) the received dynamic data when this is necessary on the basis of the examination (D) and evaluating the need for editing the message to be sent next, editing (E) the message to be sent next on the basis of the received dynamic data and said data (B) related to the page retrieval read from the memory, when this is necessary on the basis of the analysis, and transmitting (F) the original or edited message to the communications network.
8. A method as claimed in claim 7, characterised by measuring in connection with said repetition a response time from transmitting messages to the communications network (2) until one or more elements contained in the page being tested or the page (7) being tested is received in its entirety from the communications network (2).
9. A method as claimed in claim 8, characterised by performing said response time measurement through several testing apparatuses (1) installed in geographically different locations.
10. A method as claimed in claim 7, characterised by performing said repetition by utilizing simultaneously several separate testing ap- paratuses (1) for the purpose of testing the load capacity of the page (7) being tested.
PCT/FI2010/050325 2009-04-22 2010-04-21 Testing apparatus and method WO2010122228A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI20095443 2009-04-22
FI20095443A FI20095443A (en) 2009-04-22 2009-04-22 Testing equipment and method

Publications (1)

Publication Number Publication Date
WO2010122228A1 true WO2010122228A1 (en) 2010-10-28

Family

ID=40590322

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FI2010/050325 WO2010122228A1 (en) 2009-04-22 2010-04-21 Testing apparatus and method

Country Status (2)

Country Link
FI (1) FI20095443A (en)
WO (1) WO2010122228A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109710522A (en) * 2018-12-17 2019-05-03 平安普惠企业管理有限公司 Code test method, device, computer equipment and storage medium
CN111045934A (en) * 2019-11-29 2020-04-21 北京三快在线科技有限公司 Page analysis method, device, client, storage medium and electronic equipment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6601020B1 (en) * 2000-05-03 2003-07-29 Eureka Software Solutions, Inc. System load testing coordination over a network
US20050203902A1 (en) * 1999-11-12 2005-09-15 Clay Davis System and method for replaying a predefined path through the internet
US20050267976A1 (en) * 2004-03-11 2005-12-01 Microsoft Corporation Data driven test automation of web sites and web services
US20060101404A1 (en) * 2004-10-22 2006-05-11 Microsoft Corporation Automated system for tresting a web application

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050203902A1 (en) * 1999-11-12 2005-09-15 Clay Davis System and method for replaying a predefined path through the internet
US6601020B1 (en) * 2000-05-03 2003-07-29 Eureka Software Solutions, Inc. System load testing coordination over a network
US20050267976A1 (en) * 2004-03-11 2005-12-01 Microsoft Corporation Data driven test automation of web sites and web services
US20060101404A1 (en) * 2004-10-22 2006-05-11 Microsoft Corporation Automated system for tresting a web application

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ELBAUM, S. ET AL.: "Improving Web Application Testing with User Session Data", PROCEEDINGS OF THE 25TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, pages 49 - 59, XP010640105 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109710522A (en) * 2018-12-17 2019-05-03 平安普惠企业管理有限公司 Code test method, device, computer equipment and storage medium
CN111045934A (en) * 2019-11-29 2020-04-21 北京三快在线科技有限公司 Page analysis method, device, client, storage medium and electronic equipment

Also Published As

Publication number Publication date
FI20095443A0 (en) 2009-04-22
FI20095443A (en) 2010-10-23

Similar Documents

Publication Publication Date Title
US10999384B2 (en) Method and system for identifying website visitors
US10257199B2 (en) Online privacy management system with enhanced automatic information detection
AU2008200613B2 (en) Tracking web server
JP4358188B2 (en) Invalid click detection device in Internet search engine
US8131799B2 (en) User-transparent system for uniquely identifying network-distributed devices without explicitly provided device or user identifying information
AU2011200024B2 (en) Method and System of Measuring and Recording User Data in a Communications Network
AU2011352038B2 (en) Online privacy management
US6665634B2 (en) Test system for testing dynamic information returned by a web server
US20020120721A1 (en) Client capability detection in a client and server system
KR102504075B1 (en) Matching and attributes of user device events
CN106528657A (en) Control method and device for browser skipping to application program
US20100036969A1 (en) Method, System, and Apparatus for Discovering User Agent DNS Settings
Janc et al. Feasibility and real-world implications of web browser history detection
CN109672658B (en) JSON hijacking vulnerability detection method, device, equipment and storage medium
CN104410546A (en) Testing method and device of real-time processing system
CN104834588A (en) Permanent residence cross site script vulnerability detection method and apparatus
JP5407336B2 (en) Information processing device
WO2010122228A1 (en) Testing apparatus and method
CN102918527A (en) Investigation method and system for web application hosting
JP4526355B2 (en) Web processing method, Web processing apparatus, and Web processing program
EP3236364B1 (en) Web tracking method and system
JP5851251B2 (en) Communication packet storage device
AU2014280974B2 (en) Online privacy management
CN116263740A (en) Environment information integration method, device, storage medium and apparatus
JP2003157210A (en) Method for collecting data and implementation device therefor

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10766702

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10766702

Country of ref document: EP

Kind code of ref document: A1