Testing web applications using clusters
First Claim
Patent Images
1. A system, comprising:
- a memory; and
a processor coupled to the memory configured with code to;
receive a list of web page clusters, each of the web page clusters representing a grouping of a plurality of web pages of a web application to be tested, where each web page cluster includes an associated input maximal distance score generated by calculating the similarity of each of one or more web page requests that resulted in a web page associated with a given web page cluster of the web page clusters, the maximal distance score is lower than other similarity scores in a cluster of the list;
receive an intercepted input to the web application, where the input is configured to cause the web application to provide a responsive web page as an output for the input;
obtain a similarity score between the input and one or more web page requests;
cause the input to be sent to the web application as a request input where the similarity score between the input and any one of the one or more web page requests is less than the maximal distance score of the given web cluster;
receive the output for the input from the web application;
detect testable elements in the input and output;
generate a combined fingerprint for the input and output based on the detected testable elements from the input and output by counting the number of occurrences of the detected testable elements in the input and output, wherein fingerprints generated for input elements of the input and fingerprints generated for output elements of the output are concatenated;
add the output to one cluster of the list of web page clusters based on similarity between the combined fingerprint and the one cluster; and
test a single web page from each cluster of the list of web page clusters.
1 Assignment
0 Petitions
Accused Products
Abstract
An example system includes a processor to crawl a plurality of web pages of a web application to be tested. The processor is also configured to receive an intercepted input to the web application and an output from a web application associated with each crawled web page. The processor is to further configured to detect testable elements in the intercepted input and the output. The processor is also configured to generate a fingerprint for each web page based on the detected testable elements. The processor is also configured to generate a list of clusters comprising one or more similar web pages based on the fingerprints. The processor is configured to test a single web page from each cluster.
39 Citations
14 Claims
-
1. A system, comprising:
-
a memory; and a processor coupled to the memory configured with code to; receive a list of web page clusters, each of the web page clusters representing a grouping of a plurality of web pages of a web application to be tested, where each web page cluster includes an associated input maximal distance score generated by calculating the similarity of each of one or more web page requests that resulted in a web page associated with a given web page cluster of the web page clusters, the maximal distance score is lower than other similarity scores in a cluster of the list; receive an intercepted input to the web application, where the input is configured to cause the web application to provide a responsive web page as an output for the input; obtain a similarity score between the input and one or more web page requests; cause the input to be sent to the web application as a request input where the similarity score between the input and any one of the one or more web page requests is less than the maximal distance score of the given web cluster; receive the output for the input from the web application; detect testable elements in the input and output; generate a combined fingerprint for the input and output based on the detected testable elements from the input and output by counting the number of occurrences of the detected testable elements in the input and output, wherein fingerprints generated for input elements of the input and fingerprints generated for output elements of the output are concatenated; add the output to one cluster of the list of web page clusters based on similarity between the combined fingerprint and the one cluster; and test a single web page from each cluster of the list of web page clusters. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer-implemented method, carried out by one or more processors executing with code, comprising the steps of:
-
receiving a list of web page clusters, each of the web page clusters representing a grouping of a plurality of web pages of a web application to be tested, where each web page cluster includes an associated input maximal distance score generated by calculating the similarity of each of one or more web page requests that resulted in a web page associated with a given web page cluster of the web page clusters, the maximal distance score is lower than other similarity scores in a cluster of the list; receiving, via a processor, an intercepted hypertext transfer protocol (HTTP) request to the web application where the request is configured to cause the web application to provide a hypertext transfer protocol (HTTP) response from the web application; obtaining a similarity score between the HTTP request and one or more web page requests; causing the intercepted HTTP request to be sent to the web application as a request input where the similarity score between the HTTP request and any one of the one or more web page requests is less than the maximal distance score of the given web cluster; receiving the HTTP response for the HTTP request from the web application; detecting, via a processor, testable elements in the received request and response; generating, via a processor, a combined fingerprint for each web page based on a first fingerprint generated from the detected testable elements from the intercepted request and a second fingerprint generated from the detected testable elements of the response by counting the number of occurrences of the detected testable elements in the HTTP request and response, wherein fingerprints generated for input elements of the HTTP request and fingerprints generated for output elements of the HTTP response are concatenated; adding, via a processor, the HTTP response to one cluster of the list of web page clusters based on similarity between the combined fingerprint and the one cluster; and testing, via a processor, a single web page from each cluster of the list of web page clusters. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A computer program product for testing web applications, the computer program product comprising a computer-readable storage medium having program code embodied therewith, wherein the computer readable storage medium is not a transitory signal per se and the program code is executable by one or more processors to:
-
receive a list of web page clusters, each of the web page clusters representing a grouping of a plurality of web pages of a web application to be tested, where each web page cluster includes an associated input maximal distance score generated by calculating the similarity of each of one or more web page requests that resulted in a web page associated with a given web page cluster of the web page clusters, the maximal distance score is lower than other similarity scores in a cluster of the list; receive an intercepted input to the web application, where the input is configured to cause the web application to provide a responsive web page as an output for the input; obtain a similarity score between the input and one or more web page requests; cause the input to be sent to the web application as a request input where the similarity score between the input and any one of the one or more web page requests is less than the maximal distance score of the given web cluster; receive the output for the input from the web application; detect testable elements in the input and output; generate a combined fingerprint for each web page based on a first fingerprint of the detected testable elements from the intercepted input and the second fingerprint of the detected testable element from the output by counting the number of occurrences of the detected testable elements in the input and output, wherein fingerprints generated for input elements of the input and fingerprints generated for output elements of the output are concatenated; add the output to one cluster of the list of web page clusters comprising one or more similar web pages based on similarity between the combined fingerprint and the one cluster; and test a single web page from each cluster of the list of web page clusters. - View Dependent Claims (12, 13, 14)
-
Specification