Sign In to Follow Application
View All Documents & Correspondence

System And Method For Assessing Web Development Testing Frameworks

Abstract: ABSTRACT SYSTEM AND METHOD FOR ASSESSING WEB DEVELOPMENT TESTING FRAMEWORKS When number of testcases are large, it's difficult to validate the preciseness of the testcases, given there is no way except to manually check. Embodiments herein provide evaluation of testcases by applying a set of validations in any web development testing framework. The disclosure aims to solve business use case of automated evaluation of coding challenges by extending native web drivers. Herein, web driver classes provided by the web development testing framework are extended by introducing additional functionalities to enable the mechanism to track and intercept the users commands which go from the programming language to browsers. The adapted workflow enables evaluation of the web applications and to generate score to provide an auto evaluation of web development testing framework. [To be published with FIG. 2]

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
29 November 2022
Publication Number
22/2024
Publication Type
INA
Invention Field
COMPUTER SCIENCE
Status
Email
Parent Application

Applicants

Tata Consultancy Services Limited
Nirmal Building, 9th floor, Nariman point, Mumbai 400021, Maharashtra, India

Inventors

1. CHAURASIA, Siddharth
Tata Consultancy Services Limited, Ratan Square, 20-A, Vidhan Sabha Marg, Lucknow 226022, Uttar Pradesh, India
2. TALLURU, Sravan Kumar
Tata Consultancy Services Limited, Chennai One - SEZ Unit, (IGGGL- SEZ), 200 Ft. Thoraipakkam - Pallavaram Ring Road, Thoraipakkam, Chennai 600096, Tamil Nadu, India
3. VENUGOPAL, Sriganesh
Tata Consultancy Services Limited, Plot No. 21, Industrial Estate, Ambattur, Chennai 600058, Tamil Nadu, India
4. MURALIDHAR, Anupama
Tata Consultancy Services Limited, # 415/21-24, Kumaran Nagar, Old Mahabalipuram Rd, TNHB, Sholinganallur, Chennai 600119, Tamil Nadu, India

Specification

Description:FORM 2

THE PATENTS ACT, 1970
(39 of 1970)
&
THE PATENT RULES, 2003

COMPLETE SPECIFICATION
(See Section 10 and Rule 13)

Title of invention:

SYSTEM AND METHOD FOR ASSESSING WEB DEVELOPMENT TESTING FRAMEWORKS

Applicant

Tata Consultancy Services Limited
A company Incorporated in India under the Companies Act, 1956
Having address:
Nirmal Building, 9th floor,
Nariman point, Mumbai 400021,
Maharashtra, India

Preamble to the description:
The following specification particularly describes the invention and the manner in which it is to be performed.

TECHNICAL FIELD
[001] The disclosure herein generally relates to the field of web development testing framework and more particularly, to a method and system for assessing a web development testing framework.

BACKGROUND
[002] There is a constant need for software professionals to learn and get assessed on new technologies. Increase in the need of distance education have also posed new challenges. In particular, current pedagogical paradigms, such as competency-based education, require participant’s continuous evaluation. That is, to master skills, and participants need to receive constant feedback to guide their experimentation processes. Typically, graded assignments or projects, enable student's performance evaluation, providing in - job training, reinforcing learning, and providing feedback to students based on their work. However, creating, administering, and grading effective assignments are very time consuming tasks when done manually. In addition to the regular in class hand on exercises, programming competitions like hackathons too have to deal with similar challenge of high scale evaluation in a short span of time. Having it done in an un-automated way may lead to inconsistency due to required manual intervention in addition to the increased time need.
[003] Software applications that are web-based get accessed via a web browser like Internet Explorer and Google Chrome. To test a web-based application using multiple web browsers, automation is often used. Numerous open-source tools are available for test automation. A test automation tool must rely on specific testing code that is developed for each specific type of web browser. For example, a first version of the testing software will be needed to test a web-based application on a Chrome web browser and a second version of the testing software will be needed to test the web-based application on an Internet Explorer web browser. Thus, any such effort of extension becomes tedious in absence of a standard framework.

SUMMARY
[004] Embodiments of the disclosure present technological improvements as solutions to one or more of the above-mentioned technical problems recognized by the inventors in conventional systems. For example, in one embodiment, a method and system for assessing a web development testing framework is provided.
[005] In one aspect, a processor-implemented method for assessing a web development testing framework. The processor-implemented method comprising receiving a testing request to test a web development testing framework from a user, determining at least one test case from a test case repository for testing functionality of the web development testing framework on a predefined platform, interacting with a web-driver to transmit the at least one test case on the predefined platform, executing the at least one test case to generate one or more logs and a corresponding score for the at least one test case and comparing the generated score with a predefined threshold score to assess the web development testing framework.
[006] In another aspect, a system for assessing a web development testing framework is provided. The system includes an input/output interface configured to receive a testing request to test a web development testing framework from a user, one or more hardware processors and at least one memory storing a plurality of instructions, wherein the one or more hardware processors are configured to execute the plurality of instructions stored in the at least one memory.
[007] Further, the system is configured to determine at least one test case from a test case repository for testing functionality of the web development testing framework on a predefined platform, interact with a web-driver to transmit at least one test case on the predefined platform, execute the at least one test case to generate one or more logs and a corresponding score for the at least one test case and compare the generated score with a predefined threshold score to assess the web development testing framework.
[008] In yet another aspect, one or more non-transitory machine-readable information storage mediums are provided comprising one or more instructions, which when executed by one or more hardware processors causes a method for a real-time allocation of a room type based on one or more preferences of a customer is provided. The processor-implemented method comprising receiving a testing request to test a web development testing framework from a user, determining at least one test case from a test case repository for testing functionality of the web development testing framework on a predefined platform, interacting with a web-driver to transmit the at least one test case on the predefined platform, executing the at least one test case to generate one or more logs and a corresponding score for the at least one test case and comparing the generated score with a predefined threshold score to assess the web development testing framework.
[009] It is to be understood that the foregoing general descriptions and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS
[010] The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate exemplary embodiments and, together with the description, serve to explain the disclosed principles:
[011] FIG. 1 illustrates a block diagram of a system for assessing a web development testing framework, in accordance with some embodiments of the present disclosure.
[012] FIG. 2 is a block diagram to illustrate the system for log and score generation for the test cases, in accordance with some embodiments of the present disclosure
[013] FIG. 3 is a flow chart to illustrate a method for assessing a web development testing framework, in accordance with some embodiments of the present disclosure.

DETAILED DESCRIPTION OF EMBODIMENTS
[014] Exemplary embodiments are described with reference to the accompanying drawings. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. Wherever convenient, the same reference numbers are used throughout the drawings to refer to the same or like parts. While examples and features of disclosed principles are described herein, modifications, adaptations, and other implementations are possible without departing from the scope of the disclosed embodiments.
[015] The embodiments herein provide a method and system for assessing a web development testing framework. There is a constant need for software professionals to learn and get assessed on new technologies. Many companies want to test the technical skills of candidates by providing hands-on coding challenges. But as the number of candidates and the technology complexity increases, doing a manual assessment and scoring becomes a bottleneck and highly inefficient.
[016] Embodiments herein provide evaluation of a plurality of testcases by applying a set of validations in any web development testing framework. The disclosure aims to solve business use case of automated evaluation of coding challenges by extending native web drivers. Currently there is no standard automated solution to validate web automation testing testcases expect to manually review them. For example, in scenarios where assessments are conducted to evaluate candidates’ abilities, a reviewer needs to go through the solution to score the submission. This increases effort and time spent.
[017] Software applications that are web-based get accessed via a web browser like Internet Explorer and Google Chrome. To test a web-based application using multiple web browsers, automation is often used. Numerous open-source tools are available for test automation. Selenium, for example, is an open-source test automation tool. However, there is standard functionality to these tools that they can perform and cannot cater to various scenarios which may arise. Since these tools are open sourced they can be extended to suit to specific business requirements.
[018] It is to be noted that the web driver classes provided by the web development testing framework are extended by introducing additional functionalities to enable the mechanism to track the users commands which go from the programming language to browsers. The adapted workflow enables evaluation of the web applications and to generate score to provide an auto evaluation of web development testing framework.
[019] Referring now to the drawings, and more particularly to FIG. 1 through FIG. 3, where similar reference characters denote corresponding features consistently throughout the figures, there are shown preferred embodiments and these embodiments are described in the context of the following exemplary system and/or method.
[020] FIG. 1 illustrates a block diagram of an exemplary system (100), in accordance with an example embodiment. Although the present disclosure is explained considering that the system (100) is implemented on a server, it may be understood that the system (100) may comprise one or more computing devices (102), such as a laptop computer, a desktop computer, a notebook, a workstation, a cloud-based computing environment and the like. It will be understood that the system (100) may be accessed through one or more input/output interfaces 104-1, 104-2... 104-N, collectively referred to as I/O interface (104). Examples of the I/O interface (104) may include, but are not limited to, a user interface, a portable computer, a personal digital assistant, a handheld device, a smartphone, a tablet computer, a workstation, and the like. The I/O interface (104) are communicatively coupled to the system (100) through a network (106).
[021] In an embodiment, the network (106) may be a wireless or a wired network, or a combination thereof. In an example, the network (106) can be implemented as a computer network, as one of the different types of networks, such as virtual private network (VPN), intranet, local area network (LAN), wide area network (WAN), the internet, and such. The network (106) may either be a dedicated network or a shared network, which represents an association of the different types of networks that use a variety of protocols, for example, Hypertext Transfer Protocol (HTTP), Transmission Control Protocol/Internet Protocol (TCP/IP), and Wireless Application Protocol (WAP), to communicate with each other. Further, the network (106) may include a variety of network devices, including routers, bridges, servers, computing devices, storage devices. The network devices within the network (106) may interact with the system (100) through communication links.
[022] The system (100) supports various connectivity options such as BLUETOOTH®, USB, ZigBee, and other cellular services. The network environment enables connection of various components of the system (100) using any communication link including Internet, WAN, MAN, and so on. In an exemplary embodiment, the system (100) is implemented to operate as a stand-alone device. In another embodiment, the system (100) may be implemented to work as a loosely coupled device to a smart computing environment. Further, the system (100) comprises at least one memory with a plurality of instructions, one or more databases (112), and one or more hardware processors (108) which are communicatively coupled with the at least one memory to execute a plurality of instructions therein. The components and functionalities of the system (100) are described further in detail.
[023] Herein, the one or more I/O interfaces (104) of the system (100) are configured to receive a testing request to test a web development testing framework from a user. The web development testing framework is a computing assignment to the user.
[024] In one embodiment, the system (100) is configured to determine at least one test case from a test case repository for testing functionality of the web development testing framework on a predefined platform. The at least one test case includes test scripts. The web-driver allows to choose a programming language to create test scripts. Object oriented programming languages use classes to refer to programmable entities with defined properties and functionalities.
[025] In another embodiment, the system (100) is configured to interact with a web-driver to transmit the at least one test case on the predefined platform. The web-driver helps in communication between languages and browsers. Each and every browser has different logic of performing actions on the browser. The web-driver accepts commands from the scripts which are written by users and send them to browsers.
[026] The web-driver is a generic class which provides ways for a program written by the user to connect to a web browser installed on the system (100). Implementations of the web-driver are provided by automation testing frameworks like Selenium. For example, web-driver for Google Chrome is called chromedriver and for Firefox it’s called geckodriver. The web-driver has a local end i.e., users which sends the test script to a browser-specific driver.
[027] The web-driver comprising four components: a user library, a JavaScript Object Notation (JSON) wire protocol, browser drivers and browsers. The user library allows to support multiple languages by creating the JSON wire protocol. The JSON wire protocol is used to transfer data between a server and the user on the web. The JSON wire protocol is a REST API that transfers the information between HTTP server. Each browser driver has its own HTTP server.
[028] Referring FIG. 2, a block diagram (200) to illustrate generating one or more logs and a corresponding score for the at least one test case. Herein, a driver loader module (202) of the system (100) takes input parameters from the user prompt and instantiates the appropriate browser into the web development testing framework. Support for new browsers is also easy to integrate, provided the manufacturer of the browser provides the binary driver file. With this framework no code change may be required. The driver loader module (202) of the system (100) takes the path of the binary file and the name of the browser from the user prompt and instantiates the shared driver object. The driver loader module (202) of the system (100) encapsulates an extended web driver (204) class with enhanced logging and monitoring capabilities.
[029] Further, the shared driver object provides control over the user’s code during execution, it connects to a web browser (214) through a driver binary (212) file. The web browser (214) contains a separate browser driver to communicate with a respective browser without revealing the internal logic of the browser’s functionality. When a browser driver receives any command, the command is executed on the respective browser and the response may go back in the form of a Hypertext Transfer Protocol (HTTP) response. The browser specific web drivers (206) are provided by browser owners.
[030] The web driver (206) connects to browser using HTTP over HTTP server protocol. Herein, a logging module (210) of the system (100) is used on top of the existing static drivers (208) so that all instructions going from the web-driver (206) to the web browser (214) may be tracked to generate one or more logs and a corresponding score for the test case of the user.
[031] In yet another embodiment, the system (100) is configured to execute the at least one test case to generate one or more logs and a corresponding score for the at least one test. The one or more logs include an extensible markup language (XML), JavaScript Object Notation (JSON), and a hypertext markup language (HTML). A browser-specific driver executes test cases on its browser-instance. For example, if a test script calls for execution on Chrome and Firefox, the ChromeDriver may execute the test case on the Chrome and the GeckoDriver may do the same on Firefox.
[032] It would be appreciated that the ChromeDriver is a binary file, and each Google-Chrome version has its own ChromeDriver. The binary file can be extended to incorporate the need of automated evaluation of the web development testing framework. Extended selenium script makes use of the ChromeDriver binary to control Google chrome browser activities.
[033] Further, the system (100) is configured to compare the generated score with a predefined threshold score to assess the web development testing framework. On running the validation of testcases, a static driver object from the SeleniumTests class is accessed from a validation test class and is instantiated with the ChromeDrvier so that whatever the ChromeDrvier now does can be tracked by the program.
[034] By validating the commands that user use, grading capability is achieved which determines the expertise of the user on the technology. Thus, hackathons and programming competition that intends to gauge the competency level of participants in the field of web development testing frameworks at scale can be automated.
[035] Referring FIG. 3, to illustrate a processor-implemented method (300) for assessing a web development testing framework is provided.
[036] Initially, at step (302), receiving, via an input/output interface, a testing request to test a web development testing framework from a user. The web development testing framework is a computing assignment to the user.
[037] At the next step (304), determining at least one test case from a test case repository for testing functionality of the web development testing framework on a predefined platform, wherein the at least one test case includes test scripts.
[038] At the next step (306), interacting with a web-driver to transmit the at least one test case to a web-browser on the predefined platform. The web driver classes provided by the web development testing framework are extended by introducing additional functionalities to enable the mechanism to track the users commands which go from the programming language to browsers. The adapted workflow enables evaluation of the web applications and to generate score to provide an auto evaluation of web development testing framework
[039] At the next step (308), executing the at least one test case to generate one or more logs and a corresponding score for the at least one test case. A browser-specific driver executes test cases on its browser-instance. The one or more logs include an extensible markup language (XML), JavaScript Object Notation (JSON), and a hypertext markup language (HTML).
[040] At the last step (310), comparing the generated score with a predefined threshold score to assess the web development testing framework.
[041] The written description describes the subject matter herein to enable any person skilled in the art to make and use the embodiments. The scope of the subject matter embodiments is defined by the claims and may include other modifications that occur to those skilled in the art. Such other modifications are intended to be within the scope of the claims if they have similar elements that do not differ from the literal language of the claims or if they include equivalent elements with insubstantial differences from the literal language of the claims.
[042] The embodiments of present disclosure herein address the problem of assessing web development testing framework. When number of testcases are large, it's difficult to validate the preciseness of the testcases, given there is no way except to manually check. Embodiments herein provide evaluation of testcases by applying a set of validations in any web development testing framework. The disclosure aims to solve business use case of automated evaluation of coding challenges by extending native web drivers. Herein, web driver classes provided by the web development testing framework are extended by introducing additional functionalities to enable the mechanism to track the users commands which go from the programming language to browsers. The adapted workflow enables evaluation of the web applications and to generate score to provide an auto evaluation of web development testing framework.
[043] It is to be understood that the scope of the protection is extended to such a program and in addition to a computer-readable means having a message therein; such computer-readable storage means contain program-code means for implementation of one or more steps of the method, when the program runs on a server or mobile device or any suitable programmable device. The hardware device can be any kind of device which can be programmed including e.g., any kind of computer like a server or a personal computer, or the like, or any combination thereof. The device may also include means which could be e.g., hardware means like e.g., an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or a combination of hardware and software means, e.g., an ASIC and an FPGA, or at least one microprocessor and at least one memory with software modules located therein. Thus, the means can include both hardware means, and software means. The method embodiments described herein could be implemented in hardware and software. The device may also include software means. Alternatively, the embodiments may be implemented on different hardware devices, e.g., using a plurality of CPUs.
[044] The embodiments herein can comprise hardware and software elements. The embodiments that are implemented in software include but are not limited to, firmware, resident software, microcode, etc. The functions performed by various modules described herein may be implemented in other modules or combinations of other modules. For the purposes of this description, a computer-usable or computer readable medium can be any apparatus that can comprise, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
[045] The illustrated steps are set out to explain the exemplary embodiments shown, and it should be anticipated that ongoing technological development will change the manner in which particular functions are performed. These examples are presented herein for purposes of illustration, and not limitation. Further, the boundaries of the functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternative boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed. Alternatives (including equivalents, extensions, variations, deviations, etc., of those described herein) will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein. Such alternatives fall within the scope of the disclosed embodiments. Also, the words “comprising,” “having,” “containing,” and “including,” and other similar forms are intended to be equivalent in meaning and be open ended in that an item or items following any one of these words is not meant to be an exhaustive listing of such item or items or meant to be limited to only the listed item or items. It must also be noted that as used herein and in the appended claims, the singular forms “a,” “an,” and “the” include plural references unless the context clearly dictates otherwise.
[046] Furthermore, one or more computer-readable storage media may be utilized in implementing embodiments consistent with the present disclosure. A computer-readable storage medium refers to any type of physical memory on which information or data readable by a processor may be stored. Thus, a computer-readable storage medium may store instructions for execution by one or more processors, including instructions for causing the processor(s) to perform steps or stages consistent with the embodiments described herein. The term “computer-readable medium” should be understood to include tangible items and exclude carrier waves and transient signals, i.e., be non-transitory. Examples include random access memory (RAM), read-only memory (ROM), volatile memory, nonvolatile memory, hard drives, CD ROMs, DVDs, flash drives, disks, and any other known physical storage media.
[047] It is intended that the disclosure and examples be considered as exemplary only, with a true scope of disclosed embodiments being indicated by the following claims.
, Claims:WE CLAIM:
1. A processor-implemented method (300) for assessing a web development testing framework comprising steps of:
receiving (302), via an input/output interface, a testing request to test the web development testing framework from a user;
determining (304), via one or more hardware processors, at least one test case from a test case repository for testing functionality of the web development testing framework on a predefined platform, wherein the at least one test case includes a plurality of test scripts;
interacting (306), via the one or more hardware processors, with a web-driver to transmit the at least one test case to a web-browser on the predefined platform;
executing (308), via the one or more hardware processors, the at least one test case to generate one or more logs and a corresponding score for the at least one test case, wherein the one or more logs include an extensible markup language (XML), JavaScript Object Notation (JSON), and a hypertext markup language (HTML); and
comparing (310), via the one or more hardware processors, the generated score with a predefined threshold score to assess the web development testing framework.
2. The processor-implemented method (300) of claim 1, wherein the web-driver allows to choose a programming language to create the plurality of test scripts.
3. The processor-implemented method (300) of claim 1, wherein the web-driver is a generic class configured to provide ways for a program written by the user to connect to a web browser.
4. The processor-implemented method (300) of claim 1, wherein the web browser contains a separate browser driver to communicate with a respective web browser without revealing an internal logic of the web browser’s functionality.
5. A system (100) for assessing a web development testing framework comprising:
an input/output interface (104) to receive a testing request to test a web development testing framework from a user;
a memory (110) in communication with the one or more hardware processors (108), wherein the one or more hardware processors (108) are configured to execute programmed instructions stored in the memory (110) to:
determine at least one test case from a test case repository for testing functionality of the web development testing framework on a predefined platform, wherein the at least one test case includes test scripts;
interact with a web-driver to transmit the at least one test case to a web-browser on the predefined platform;
execute the at least one test case to generate one or more logs and a corresponding score for the at least one test case, wherein the one or more logs include an extensible markup language (XML), JavaScript Object Notation (JSON), and a hypertext markup language (HTML); and
compare the generated score with a predefined threshold score to assess the web development testing framework.
6. The system (100) of claim 5, wherein the web-driver allows to choose a programming language to create test scripts.
7. The system (100) of claim 5, wherein the web-driver is a generic class which provides ways for a program written by the user to connect to a web browser.
8. The system (100) of claim 5, wherein the web browser contains a separate browser driver to communicate with a respective web browser without revealing an internal logic of the web browser’s functionality.
9. A non-transitory computer readable medium storing one or more instructions which when executed by one or more processors on a system, cause the one or more processors to perform method comprising:
receiving, via an input/output interface, a testing request to test a web development testing framework from a user;
determining, via one or more hardware processors, at least one test case from a test case repository for testing functionality of the web development testing framework on a predefined platform, wherein the at least one test case includes test scripts;
interacting, via the one or more hardware processors, with a web-driver to transmit the at least one test case to a web-browser on the predefined platform;
executing, via one or more hardware processors, the at least one test case to generate one or more logs and a corresponding score for the at least one test case, wherein the one or more logs include an extensible markup language (XML), JavaScript Object Notation (JSON), and a hypertext markup language (HTML); and
comparing, via the one or more hardware processors, the generated score with a predefined threshold score to assess the web development testing framework.

Dated this 29th Day of November 2022

Tata Consultancy Services Limited
By their Agent & Attorney

(Adheesh Nargolkar)
of Khaitan & Co
Reg No IN-PA-1086

Documents

Application Documents

# Name Date
1 202221068823-STATEMENT OF UNDERTAKING (FORM 3) [29-11-2022(online)].pdf 2022-11-29
2 202221068823-REQUEST FOR EXAMINATION (FORM-18) [29-11-2022(online)].pdf 2022-11-29
3 202221068823-FORM 18 [29-11-2022(online)].pdf 2022-11-29
4 202221068823-FORM 1 [29-11-2022(online)].pdf 2022-11-29
5 202221068823-FIGURE OF ABSTRACT [29-11-2022(online)].pdf 2022-11-29
6 202221068823-DRAWINGS [29-11-2022(online)].pdf 2022-11-29
7 202221068823-DECLARATION OF INVENTORSHIP (FORM 5) [29-11-2022(online)].pdf 2022-11-29
8 202221068823-COMPLETE SPECIFICATION [29-11-2022(online)].pdf 2022-11-29
9 202221068823-Proof of Right [28-12-2022(online)].pdf 2022-12-28
10 Abstract1.jpg 2023-01-19
11 202221068823-FORM-26 [15-02-2023(online)].pdf 2023-02-15
12 202221068823-FER.pdf 2025-07-10

Search Strategy

1 202221068823_SearchStrategyNew_E_Search_Strategy_MatrixE_19-02-2025.pdf