Sign In to Follow Application
View All Documents & Correspondence

Test Design Optimization

Abstract: The present subject matter relates to a computer implemented method for optimizing a test case design for an application. The method includes partitioning a testing requirement of the application into a plurality of portions, based on mathematical conditions of three algebraic methods to align each of the plurality of portions to a mathematical condition of at least one of said algebraic methods, matching a configuration of each of the plurality of portions with array constructions of the at least one of the algebraic method to determine a suitable array of the at least one algebraic method, for testing each of the plurality of portions, optimizing each of the plurality of portions with the suitable array of the at least one algebraic method to provide corresponding optimized portions, and integrating the plurality of optimized portions to generate an optimal test case design for the testing requirement.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
20 August 2013
Publication Number
26/2015
Publication Type
INA
Invention Field
COMPUTER SCIENCE
Status
Email
iprdel@lakshmisri.com
Parent Application

Applicants

TATA CONSULTANCY SERVICES LIMITED
Nirmal Building, 9th Floor, Nariman Point, Mumbai, Maharashtra 400021

Inventors

1. SUNDARAM, Sukumar
M/s. Tata Consultancy Services Ltd., "Chennai One" - SEZ Unit, ( IGGGL- SEZ )200 Ft. Thoraipakkam - Pallavaram Ring Road, Thoraipakkam, Chennai - 600 096

Specification

CLIAMS:1. A computer implemented method for optimizing a test case design for an application, the method comprising:
partitioning, by a processor (110), a testing requirement of the application into a plurality of portions, based on mathematical conditions of three algebraic methods to align each of the plurality of portions to a mathematical condition of at least one of said algebraic methods;
matching, by the processor (110) a configuration of each of the plurality of portions with array constructions of the at least one algebraic method to determine a suitable array of the at least one algebraic method, for testing each of the plurality of portions;
optimizing, by the processor (110) each of the plurality of portions with the suitable array of the at least one algebraic method to provide corresponding optimized portions, wherein the optimizing is based on an optimum testing solution provided by the at least one algebraic method; and
integrating, by the processor (110), the plurality of optimized portions to generate an optimal test case design for the testing requirement.
2. The method as claimed in claim 1, wherein the integrating comprises covering, by the processor (110), missed out pair-wise interactions among each of the plurality of optimized portions before the integrating.
3. The method as claimed in claim 1, wherein the three algebraic methods are an orthogonal array method, a permutation and combination method, and a mutually orthogonal Latin square method.
4. A test design optimization system (102) for assessing a testing requirement and for providing an optimum test case design for a testing requirement for an application, the test design optimization system (102) comprising:
a processor (110); and
an assessment module (120) coupled to the processor (110) to,
assess the testing requirement to ascertain a plurality of partition sites based on mathematical conditions of three algebraic methods; and
partition the testing requirement into a plurality of portions based on the plurality of partition sites, wherein each of the plurality of portions is aligned with a mathematical condition of at least one of the algebraic methods;
an optimization module (122) coupled to the processor (110) to,
match a configuration of each of the plurality of portions with array constructions of the at least one algebraic method to determine a suitable array of the at least one algebraic method, for testing each of the plurality of portions; and
optimize each of the plurality of portions with the suitable array of the at least one algebraic method to provide a plurality of optimized portions, wherein the optimizing is based on a most optimum testing solution provided by the suitable algebraic method; and
an integration module (124) coupled to the processor (110) to integrate the plurality of optimized portions to generate an optimal test case design for the testing requirement.
5. The test design optimization system (102) as claimed in claim 4, wherein the optimization module (122) is further provided to cover missing pair-wise interactions between each of the plurality of optimized portions before the integration.
6. The test design optimization system (102) as claimed in claim 5, wherein pairs include at least testing parameters and parameter values of the testing parameters, and wherein the testing parameters are indicative of a business function of the application to be tested.
7. The test design optimization system (102) as claimed in claim 4, wherein the three algebraic methods include an orthogonal array method, a permutation and combination method, and a mutually orthogonal Latin square method.
8. The test design optimization system (102) as claimed in claim 4, wherein the mathematical conditions of the algebraic methods include:
a number of columns in an algebraic array;
a number of rows in the algebraic array;
a number of levels of the algebraic array; and
a strength of the algebraic array.
9. The test design optimization system (102) as claimed in claim 4, wherein the assessment module (120) considers testing parameters that define a business function of an application to be tested, number of parameter values of each of the testing parameters, and interdependencies between the testing parameters, when assessing the testing requirement.
10. A non-transitory computer readable medium having a set of computer readable instructions that, when executed, cause a computing system to:
partition a testing requirement of the application into a plurality of portions, based on mathematical conditions of three algebraic methods, in order to align each of the plurality of portions to a mathematical condition of at least one of said algebraic methods;
match a configuration of each of the plurality of portions with array constructions of the at least one of the algebraic method to determine a suitable array of the at least one algebraic method for testing each of the plurality of portions;
optimize each of the plurality of portions with the suitable array of the at least one algebraic method to provide corresponding optimized portions, wherein the optimizing is based on an optimum testing solution provided by the at least one algebraic method; and
integrate the plurality of optimized portions to generate an optimal test case design for the testing requirement.
,TagSPECI:

TECHNICAL FIELD
[0001] The present subject matter, in general, relates to application testing and, in
particular, relates to method(s) and system(s) for optimization of test designs for application
testing.
BACKGROUND
[0002] Due to the ever increasing complexity of software applications and programs, the
corresponding testing requirement is also becoming more intensive and complex. These
applications and programs are tested to verify whether they function correctly in all situations,
or under all the conditions imposed on said applications. In order to ensure quality and
completeness of the testing, a substantially large number of tests are generally carried out for
each application.
[0003] An actual number of testing scenarios under which an application is expected to
perform can be considered to be practically very large. Therefore, in practice, the behavior of
the application is checked by observing its functioning and performance over an optimal
number of testing scenarios and associated test cases, which reduces the testing effort and
ensures adequate quality of testing.
BRIEF DESCRIPTION OF THE DRAWINGS
[0004] The detailed description is described with reference to the accompanying figures.
In the figures, the left-most digit(s) of a reference number identifies the figure in which the
reference number first appears. The same numbers are used throughout the drawings to
reference like features and components.
[0005] Fig. 1 illustrates a network environment implementing a test design optimization
system, in accordance with an embodiment of the present subject matter.
[0006] Fig. 2 illustrates a method for optimizing a test design, in accordance with an
embodiment of the present subject matter.
[0007] Fig. 3 illustrates a working example of a method for optimizing a test design, in
accordance with an embodiment of the present subject matter.
3
DETAILED DESCRIPTION
[0008] System(s) and method(s) for optimizing a test design are described. The system(s)
and method(s) can be implemented in a variety of computing devices, such as laptops,
desktops, workstations, tablet-PCs, notebooks, portable computers, tablet computers, internet
appliances, and other similar devices. However, a person skilled in the art will comprehend
that the embodiments of the present subject matter are not limited to any particular computing
system, architecture, or application device, as they may be adapted to new computing systems
and platforms as they become available.
[0009] Test cases are utilized during testing of an application or program in order to
verify that said application or program is working correctly. The test cases, which may
collectively form a testing requirement, specify a set of conditions or testing parameters, for
example, that are indicative of a function of the application, under which the application is
meant to produce a certain output. Based on the output, a tester can determine whether the
application is performing as expected, i.e., if there is a deviation from the expected output
against a certain set of testing parameters, the tester can conclude that there is an error or a
‘bug’, and if the output is as expected when measured against the testing parameters, the tester
can conclude that the application is working correctly for this particular testing requirement.
[0010] In order to thoroughly or completely test an application, a large number of test
cases are to be created accordingly. These tests have to be designed to cover all the possible
testing parameters and their values, simply known as parameter values. However, it is well
known that the coverage of every testing parameter for any application is resource and time
intensive as these testing parameters can be substantially large in number.
[0011] Combinatorial type of testing involves testing an application with all possible
discrete combinations of testing parameters and their parameter values, thereby intending to
perform an exhaustive testing process for said application. The combinatorial type of testing
generates a large number of test cases based on the various discrete combinations of the
various testing parameters at the parameter values. The parameter values can be indicative of
a subset or category of the testing parameter. In one illustrative example, say for a printing
application, for a testing parameter of ‘paper size’, the various parameter values can be A4,
4
A3, A6, Letter, and so on. Furthermore, each of the testing parameters of a combinatorial
testing requirement generally has one or more parameter values. Depending on the
combination of the testing parameters and the various parameter values, different test cases
can evolve, which in turn require validation.
[0012] In recent times, algebraic methods have been used to test applications. These
algebraic methods intend to develop an optimal number of test cases to reduce the testing
effort and to ensure adequate quality of testing for any given testing requirement. However,
the level of optimization achievable in such algebraic methods may not be the most optimum
as the complexity of the testing requirement in terms of the number of testing parameters,
distribution of their parameter values, etc., and the intricacies of the method adopted for
optimization deter the development of a most optimally suited test case design.
[0013] Moreover, the existing algebraic methods have a narrow range of effectiveness for
generating the most optimum test design. The algebraic methods are guided by rigid
mathematical conditions having limited numbers of possible known algebraic arrays that
cannot be modified for complex combinatorial testing requirements. A conventional algebraic
array is an arrangement of objects or numbers in a row-column configuration, and for the
purposes of application testing, the algebraic methods utilize the algebraic array to plot
various combinations of the testing parameters versus the corresponding parameter values as
described earlier. Furthermore, the existing algebraic methods will not produce the most
optimum solution if there is a mismatch, which is quite possible in real time applications,
between the configurations of the combinatorial testing requirements and the mathematical
conditions of the algebraic method.
[0014] According to the present subject matter, a test design optimization system is
provided for assessing a testing requirement and providing an optimum testing solution based
on the assessment. The testing requirement is dependent on the type of application to be
tested, and in this case, is formed of multiple test cases. Further, the test cases are formed of
parameters and corresponding parameter values, wherein the parameters are indicative of a
business function or use of the application. Hereinafter, the test design optimization system is
referred to, simply, as the optimization system. In one implementation, the optimization
system generates an optimized test design for a given testing requirement for an application.
5
The testing requirement is generally created based on an overall workflow or process based
on the type of software to be tested.
[0015] In one implementation, a testing requirement is assessed to determine a strategy by
which to partition the testing requirement into smaller, more manageable, testing portions, or
simply portions. The testing requirement is dependent on the number of test cases therein, and
therefore dependent on the size and complexity of the application to be tested. Moreover, the
testing requirement is assessed based on mathematical conditions of three algebraic methods,
viz. orthogonal array (OA), permutation and combination (P & C), and mutually orthogonal
Latin squares (MOLS). In one example, the assessment includes forming partition sites in the
testing requirement where the testing requirement will be partitioned subsequently.
[0016] In one implementation, the testing requirement can be partitioned into multiple
portions, based on the mathematical conditions, particularly at the partition sites. The
partitioning is performed such that each of the portions is aligned with the mathematical
conditions of one of the algebraic methods or any combination thereof. Upon partitioning the
testing requirement into the multiple portions, the configuration or structure of each of the
portions is compared with array constructions of the algebraic methods to match each of the
portions with a suitable array of the aligned algebraic method for testing each of the plurality
of portions.
[0017] In one implementation, based on the partitioning, each of the portions is optimized
with the suitable algebraic method to provide multiple optimized portions. In one example,
the optimization is based on the selection of the most efficient testing solution provided by the
suitable algebraic method.
[0018] In an implementation, pairs can be formed between the testing parameters and
their parameter values, where the testing parameters can be, in one example, indicative of a
business function of the application to be tested. Further, missed out pair-wise interactions,
such as those interactions between testing parameters of the testing requirement that are not
populated in the array, due to partitioning of the testing requirement into the multiple
portions, are populated during the integration of the individual optimized portions together, to
obtain the overall optimized test design.
6
[0019] According to the present subject matter, the narrow range of effectiveness of the
existing algebraic methods, are overcome by adapting the testing requirement to suit
mathematical conditions of various algebraic methods. By partitioning the testing requirement
into the smaller portions and optimizing each portion to suit a particular algebraic method or a
combination of algebraic methods, a substantially high degree of dynamism and efficiency is
conferred upon the testing process. This also overcomes a possible mismatch between the
complete testing requirement and the mathematical conditions of the algebraic methods. The
combinations of the three algebraic methods, in whatever manner of combination, would
extend the effective range of the algebraic techniques and optimize the complex combinatorial
testing requirements at a higher level. Moreover, by optimizing the test design according to
the present subject matter, testing cycle times are reduced along with reduction in testing
effort and project costs. This further results in greater levels of client satisfaction.
[0020] The method according to the present subject matter facilitates a new approach in
formation of a test case design. Generally, the practice of test case designing considers the
entire set of testing parameters that define a business function and develop a number of
combinations of the testing parameters and their different parameter values. For example, if a
testing requirement has 15 testing parameters and each testing parameter has one or more
parameter values, then the industry practice is generally to consider the entire set of 15 testing
parameters simultaneously as a single block to design the test cases. However, the present
subject matter does not consider the testing requirement as a single entity/block, but assesses
the testing requirement and based on the assessment partitions the testing requirement into
multiple portions to substantially increase the effectiveness of the test case design.
[0021] These and other advantages of the present subject matter would be described in
greater detail in conjunction with the following figures. While aspects of described system(s)
and method(s) for optimizing a test design for testing an application can be implemented in
any number of different computing systems, environments, and/or configurations, the
embodiments are described in the context of the following exemplary system(s).
[0022] Fig. 1 illustrates a network environment 100 implementing a test design
optimization system 102, hereinafter also referred to as system 102, according to an
embodiment of the present subject matter. In the network environment 100, the system 102 is
7
connected to a network 104. Further, the system 102 is connected to a database 106.
Additionally, the network environment 100 includes one or more client devices 108-1, 108-
2...108-N, collectively referred to as client devices 108 and individually referred to as client
device 108, connected to the network 104. In another implementation, the client device 108
may be used to view the logs pertaining to the execution of the registered processes. In yet
another implementation, the client device 108 may be used for both purposes.
[0023] The system 102 can be implemented as any set of computing devices connected to
the network 104. For instance, the system 102 may be implemented as workstations, personal
computers, desktop computers, multiprocessor systems, laptops, network computers,
minicomputers, servers, and the like. In addition, the system 102 may include multiple servers
to perform mirrored tasks for users.
[0024] Furthermore, the system 102 can be connected to the client devices 108 through
the network 104. Examples of the client devices 108 include, but are not limited to personal
computers, desktop computers, smart phones, PDAs, and laptops. Communication links
between the client devices 108 and the system 102 are enabled through various forms of
connections, for example, via dial-up modem connections, cable links, digital subscriber lines
(DSL), wireless or satellite links, or any other suitable form of communication.
[0025] Moreover, the network 104 may be a wireless network, a wired network, or a
combination thereof. The network 104 can also be an individual network or a collection of
many such individual networks interconnected with each other and functioning as a single
large network, e.g., the internet or an intranet. The network 104 can be implemented as one of
the different types of networks, such as intranet, local area network (LAN), wide area network
(WAN), the internet, and such. The network 104 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), etc., to communicate with each other. Further, the
network 104 may include network devices, such as network switches, hubs, routers, host bus
adapters (HBAs), for providing a link between the system 102 and the client devices 108. The
network devices within the network 104 may interact with the system 102 and the client
devices 108 through communication links.
8
[0026] In said embodiment, the system 102 includes one or more processor(s) 110,
interface(s) 112, and a memory 114 coupled to the processor 110. The processor 110 can be a
single processing unit or a number of units, all of which could also include multiple
computing units. The processor 110 may be implemented as one or more microprocessors,
microcomputers, microcontrollers, digital signal processors, central processing units, state
machines, logic circuitries, and/or any devices that manipulate signals based on operational
instructions. Among other capabilities, the processor 110 is configured to fetch and execute
computer-readable instructions and data stored in the memory 114.
[0027] The interfaces 112 may include a variety of software and hardware interfaces, for
example, interface for peripheral device(s), such as a keyboard, a mouse, an external memory,
and a printer. Further, the interfaces 112 may enable the system 102 to communicate with
other computing devices, such as web servers, and external data repositories, such as the
database 106, in the network environment 100. The interfaces 112 may facilitate multiple
communications within a wide variety of protocols and networks, such as a network,
including wired networks, e.g., LAN, cable, etc., and wireless networks, e.g., WLAN,
cellular, satellite, etc. The interfaces 112 may include one or more ports for connecting the
system 102 to a number of computing devices.
[0028] The memory 114 may include any non-transitory computer-readable medium
known in the art including, for example, volatile memory, such as static random access
memory (SRAM) and dynamic random access memory (DRAM), and/or non-volatile
memory, such as read only memory (ROM), erasable programmable ROM, flash memories,
hard disks, optical disks, and magnetic tapes. The non-transitory computer-readable medium,
however, excludes a transitory, propagating signal. The memory 114 also includes module(s)
116 and data 118.
[0029] The module(s) 116 include routines, programs, objects, components, data
structures, etc., which perform particular tasks or implement particular abstract data types. In
one implementation, the module(s) 116 includes an assessment module 120, an optimization
module 122, an integration module 124 and other module(s) 126. The other module(s) 126
may include programs or coded instructions that supplement applications and functions of the
system 102.
9
[0030] On the other hand, the data 118, inter alia serves as a repository for storing data
processed, received, and generated by one or more of the module(s) 116. The data 118
includes, for example, an assessment data 128, an optimization data 130, and other data 132.
The other data 132 includes data generated as a result of the execution of one or more
modules in the module(s) 116.
[0031] In one implementation, the system 102 may assess and evaluate a testing
requirement for an application. The testing requirement can be composed of a plurality of test
cases, each of which in turn includes testing parameters and corresponding parameter values.
The testing parameters, in one example, can be indicative of a function of the application or
program, such as a business function.
[0032] In one implementation, the system 102 can utilize three algebraic methods in any
combination to formulate an optimum test design for the given testing requirement. For
example, the three algebraic methods include an orthogonal array (OA) method, a
permutation and combination (P & C) method, and a mutually orthogonal Latin square
(MOLS) method. An Orthogonal Array (OA) is a mathematical table, which exhibits the
property of covering all the possible pair-wise interactions of the parameter values of any two
columns thereof, wherein rows of the OA are populated with the parameter values and the
columns are assigned with the testing parameters. Once the array is populated with the
parameter values, each row thereof with the corresponding parameter values forms an
individual test case.
[0033] In one implementation, the assessment module 120 may assess the testing
requirement of the application to ascertain a plurality of partition sites therein. The partition
sites are ascertained based on mathematical conditions of the three algebraic methods. The
mathematical conditions are generally rigid in nature and include, but are not limited to the
following –
• Number of columns in an algebraic array (NC)
• Number of rows in the algebraic array (NR)
• Number of levels in the algebraic array (NL)
• Strength of the array (Str)
10
[0034] The number of levels (NL) in the algebraic array is indicative of the number of
parameter values that each column of the algebraic array may take, and the strength of the
array (Str) indicates in how many ‘Str’ columns, all possible ‘Str’ way of interactions among
the elements of ‘Str’ number of columns can occur at least once. Therefore, for example, if
the strength of the array (Str) is 2, then in any pair of columns of the array, all possible pairwise
interactions among the parameter values of the selected pair of columns occur at least
once. Similarly, if the strength of the array (Str) is 3, then all three-way interactions among
the elements, of any three columns of said array, will be covered at least once.
[0035] In one implementation, the assessment of the testing requirement can include
comparing testing parameters and parameter values of the testing requirement with the
mathematical conditions of the algebraic methods, such as the configuration of arrays of the
algebraic methods. Based on the mathematical conditions of the algebraic methods, the
assessment module 120 can selectively place partition sites that are indicative of a cleave
location to partition the testing requirement into multiple portions. In one example, the
assessment module 120 can store the partition sites in the assessment data 128.
[0036] Furthermore, in one implementation, the assessment module 120 partitions the
testing requirement into multiple smaller portions based on the assessment performed earlier.
The smaller portions, partitioned based on the assessment, are each aligned with the
mathematical conditions of each of the algebraic methods, or in combination thereof, thereby
introducing primary testing compatibility of the portion with the corresponding algebraic
method. In one example, the assessment module 120 stores the portions in the assessment data
128.
[0037] In one implementation, the optimization module 122 compares each of the
plurality of portions with the aligned algebraic method to determine a suitable array of the
aligned algebraic method for testing each of the plurality of portions. For example, the
optimization module 122 can compare the configuration of the portion, i.e., the testing
parameters and parameter values with the array construction of the aligned algebraic method
or combination thereof, and select a suitable match therefrom. The optimization module 122
can store the data generated from said comparison and matching in the optimization data 130.
11
[0038] A finite number of OA’s are conventionally known, wherein in one example, an
OA can have the following general configuration:
NR × NC × NL × Str
[0039] For example, if one of the portions has 6 testing parameters with numbers of
parameter values of 7, 6, 5, 5, 5 and 5, for which the OA method has been identified during
the assessment, then during the comparison, the optimization module 122 can compare and
determine one among the following two arrays:
Orthogonal Array of size 25 x 6 x 5 x 2 (OA 1); and - (first array)
Orthogonal Array of size 49 x 8 x 7 x 2 (OA 2). - (second array)
Wherein, in the first array, 25 is the number of rows, 6 is the number of columns, 5 is the
number of levels per column, and wherein the levels correspond to the number of parameter
values, and 2 is the strength of the array. Similarly, in the second array, 49 is the number of
rows, 8 is the number of columns, 7 is the number of levels per column, and 2 is the strength
of the array.
[0040] The optimization module 122, after comparing the above mentioned portion with
the first and the second arrays, can determine a suitable fit based on a plurality of factors,
including but not limited to, number of test cases, quantum of the parameter values and the
number of levels in the algebraic array (NL), and so on.
[0041] Furthermore, the optimization module 122 can extend the number of levels of any
two columns of the OA to cover the extra levels of the selected two parameters with minimal
or no effect on the optimization efficiency. For example, as shown in the above portion of 6
parameters, the first two parameters have 7 and 6 parameter values respectively, whereas the
first array is limited by 5 numbers of levels per column. In such cases, the optimization
module 122 can extend the levels in the first array by 2 levels in the first column and by one
level for the second column respectively, to provide a suitable fit to the portion. The extension
of the array for the additional levels of the two columns will lead to addition of test cases or
rows, and thereby change the OA 1 size to 42 rows. The matching of OA 1 for this example
thus generates 42 test case combinations and the matching of OA 2 generates 49 test case
combinations.
12
[0042] Further, the optimization module 122 optimizes each of the portions with the
matched array of the aligned algebraic method to provide, in turn, a plurality of optimized
portions. The optimized portions can be integrated to form a complete test design for the
given testing scenario. In one example, the optimization is based on a selection of a best
suited testing solution provided by the algebraic method. The testing solution with the highest
comparative efficiency can be selected as the optimum testing solution for a particular portion
of the testing requirement.
[0043] In one implementation, the integration module 124 integrates the plurality of
optimized portions to generate an optimal test case design for the testing requirement. The
integration of the optimized portion includes covering of missing pair-wise interactions
between each of the plurality of optimized portions. The coverage of missing interactions
between the testing parameters in the array can be performed by suitably vertically or laterally
extending the optimized portions in the array.
[0044] The test case design solution offered by the system 102 of the present subject
matter provides a wide range of adaptability for varying complexities of testing requirements
and testing scenarios. The testing requirement can be suitably assessed and broken down into
smaller customized portions, which are aligned and optimized according to mathematical
conditions of given algebraic methods, such as the OA method, the P & C method, and the
MOLS method. Furthermore, non covered pair-wise interactions between the testing
parameters are covered according to the present subject matter, thereby providing a complete
testing solution for the testing requirement.
[0045] Fig. 2 illustrates a method 200 for optimizing a test design for an application, in
accordance with an embodiment of the present subject matter. The method 200 may be
implemented in a variety of computing systems in several different ways. For example, the
method 200, described herein, may be implemented using a test design optimization system
102, as described above.
[0046] The method 200, completely or partially, may be described in the general context
of computer executable instructions. Generally, computer executable instructions can include
routines, programs, objects, components, data structures, procedures, modules, functions, etc.,
that perform particular functions or implement particular abstract data types. A person skilled
13
in the art will readily recognize that steps of the method can be performed by programmed
computers. Herein, some embodiments are also intended to cover program storage devices,
e.g., digital data storage media, which are machine or computer readable and encode machineexecutable
or computer-executable programs of instructions, wherein said instructions
perform some or all of the steps of the described method 200.
[0047] The order in which the method 200 is described is not intended to be construed as
a limitation, and any number of the described method blocks can be combined in any order to
implement the method, or an alternative method. Additionally, individual blocks may be
deleted from the method without departing from the spirit and scope of the subject matter
described herein. Furthermore, the methods can be implemented in any suitable hardware,
software, firmware, or combination thereof. It will be understood that even though the method
200 is described with reference to the system 102, the description may be extended to other
systems as well.
[0048] At block 202, a testing requirement is assessed to form a plurality of partition sites,
at which the testing requirement can be divided into smaller portions for effective testing. The
assessment is carried out based on mathematical conditions of three algebraic methods, viz. an
orthogonal array (OA) method, a permutation and combination (P & C) method, and a
mutually orthogonal Latin square (MOLS) method. In one example, an assessment module
120 of a test design optimization system 102 can be provided to assess the testing
requirement, as described earlier.
[0049] At block 204, based on the plurality of partition sites, the testing requirement can
be partitioned into a plurality portions. Due to the assessment of the testing requirement
against the mathematical conditions of the algebraic methods, each of the portions are aligned
to each of the mathematical conditions or in combination thereof, thereby providing
conformity to the testing capabilities offered by the algebraic methods. As described earlier,
the algebraic methods can be selected individually or in any combination thereof to provide
substantially customizability and adaptability to the method according to the present subject
matter. In one example, the assessment module 120 of the system 102 can be provided to
partition the testing requirement.
14
[0050] At block 206, a suitable array of the aligned algebraic method can be selected from
the aligned algebraic method, by comparing configurations of each of the portions with said
aligned algebraic methods. The configuration of the portions, which contain pair-wise
interactions between testing parameters, can be compared with the array constructions of the
aligned algebraic method in order to subsequently select an array of the algebraic method. The
testing parameters can be indicative of various functions of the application to be tested. In one
example an optimization module 122 of the test design optimization system 102 can be
provided to compare the portions with the algebraic methods as described earlier.
[0051] At block 208, each of the portions can be optimized with the corresponding
suitable array of the aligned algebraic method. The optimization includes selecting a most
efficient testing solution from the various testing solutions provided by the suitable algebraic
method. The optimization allows for a best fit to be provided to each of the portions in terms
of testing efficiency, and thereby enhances the efficiency of the testing process for the testing
requirement. In one example, the optimization module 122 of the test design optimization
system 102 can be provided to optimize the individual portions.
[0052] At block 210, the optimized portions can be integrated to form the complete test
design for the given testing requirement. The integration includes covering missed pair-wise
interactions between the portions. In one example, an integration module 124 of a test design
optimization system 102 can be provided to integrate the optimized portions.
[0053] Fig. 3 illustrates a working example of optimizing a test case design for an
application. Fig. 3 shows a process flow 300 of the test design optimization, primarily from
the creation of portions from an overall testing requirement, to the matching of the individual
portions with the mathematical conditions of the algebraic methods, to the integration of
optimized portions to form the complete test design. The process flow 300 is described in
context of the system 102, as described above.
[0054] In the example shown in fig. 3, a testing requirement 302 is partitioned into three
portions 302-A, 302-B, and 302-C in a partitioning stage 301. As described earlier, the system
102 assesses the testing requirement with regard to three algebraic methods 303, individually,
or in combination, and after the formation of partition sites, partitions the testing requirement
302. The portions 302-A, 302-B, and 302-C, can be aligned with the algebraic methods 303 in
15
various combinations to suit the testing requirement 302. The OA method 303-A, the P & C
method 303-B, and the MOLS method 303-C can be selected in any combination while
matching the portions 302-A, 302-B, and 302-C.
[0055] For example, the algebraic methods 303 can be combined as follows –
OA + P & C
(OR)
P & C + MOLS
(OR)
OA + MOLS + P & C
The above example of combination is based on the testing requirement 302. A person skilled
in the art would appreciate that any combination of the algebraic methods 303 are possible
and are not limited to the illustration shown above.
[0056] Subsequently, in a matching stage 305 each of the portions 302-A, 302-B, and
302-C can be matched with various array constructions of the algebraic methods 303, i.e., OA
method arrays 304-A, P & C method arrays 304-B, and MOLS method arrays 304-C to
determine a suitable array of the algebraic method 303 for testing each of the portions 302-A,
302-B, and 302-C. Once the matching stage 305 is completed, an optimization process 306
commences. Each of the portions 302-A, 302-B, and 302-C is optimized with the selected
array of the suitable algebraic method 303 to provide corresponding optimized portions 308-
A, 308-B, and 308-C.
[0057] Thereafter, each of the optimized potions 308-A, 308-B, and 308-C can be
integrated in an integration phase 310, which also includes covering missed pair-wise
interactions 312 between the optimized portions 308-A, 308-B, and 308-C. The missed pair
wise interactions include testing parameters 314 and parameter values 316.
[0058] At a final output stage 318, a complete optimized solution 320 is generated for the
given testing requirement 302. In this manner, the method according to the present subject
matter is capable of adapting any testing requirement to given testing solutions for an efficient
testing process. The method according to the present subject matter provides a time and
quality efficient testing process capable of testing any ‘Combinatorial Type’ of application.

Documents

Orders

Section Controller Decision Date

Application Documents

# Name Date
1 2713-MUM-2013-US(14)-HearingNotice-(HearingDate-01-04-2021).pdf 2021-10-03
1 SPECIFICATION.pdf 2018-08-11
2 2713-MUM-2013-Correspondence to notify the Controller [31-03-2021(online)].pdf 2021-03-31
2 FORM 5.pdf 2018-08-11
3 FORM 3.pdf 2018-08-11
3 2713-MUM-2013-CLAIMS [07-04-2020(online)].pdf 2020-04-07
4 FIGURES.pdf 2018-08-11
4 2713-MUM-2013-COMPLETE SPECIFICATION [07-04-2020(online)].pdf 2020-04-07
5 ABSTRACT1.jpg 2018-08-11
5 2713-MUM-2013-DRAWING [07-04-2020(online)].pdf 2020-04-07
6 2713-MUM-2013-POWER OF ATTORNEY(3-1-2014).pdf 2018-08-11
6 2713-MUM-2013-FER_SER_REPLY [07-04-2020(online)].pdf 2020-04-07
7 2713-MUM-2013-OTHERS [07-04-2020(online)].pdf 2020-04-07
7 2713-MUM-2013-FORM 1E(28-1-2014).pdf 2018-08-11
8 2713-MUM-2013-FORM-26 [17-03-2020(online)].pdf 2020-03-17
8 2713-MUM-2013-FORM 18.pdf 2018-08-11
9 2713-MUM-2013-CORRESPONDENCE(3-1-2014).pdf 2018-08-11
9 2713-MUM-2013-FER.pdf 2019-10-10
10 2713-MUM-2013-CORRESPONDENCE(28-1-2014).pdf 2018-08-11
11 2713-MUM-2013-CORRESPONDENCE(3-1-2014).pdf 2018-08-11
11 2713-MUM-2013-FER.pdf 2019-10-10
12 2713-MUM-2013-FORM 18.pdf 2018-08-11
12 2713-MUM-2013-FORM-26 [17-03-2020(online)].pdf 2020-03-17
13 2713-MUM-2013-FORM 1E(28-1-2014).pdf 2018-08-11
13 2713-MUM-2013-OTHERS [07-04-2020(online)].pdf 2020-04-07
14 2713-MUM-2013-FER_SER_REPLY [07-04-2020(online)].pdf 2020-04-07
14 2713-MUM-2013-POWER OF ATTORNEY(3-1-2014).pdf 2018-08-11
15 2713-MUM-2013-DRAWING [07-04-2020(online)].pdf 2020-04-07
15 ABSTRACT1.jpg 2018-08-11
16 2713-MUM-2013-COMPLETE SPECIFICATION [07-04-2020(online)].pdf 2020-04-07
16 FIGURES.pdf 2018-08-11
17 2713-MUM-2013-CLAIMS [07-04-2020(online)].pdf 2020-04-07
17 FORM 3.pdf 2018-08-11
18 2713-MUM-2013-Correspondence to notify the Controller [31-03-2021(online)].pdf 2021-03-31
18 FORM 5.pdf 2018-08-11
19 SPECIFICATION.pdf 2018-08-11
19 2713-MUM-2013-US(14)-HearingNotice-(HearingDate-01-04-2021).pdf 2021-10-03

Search Strategy

1 2019-09-2710-59-58_27-09-2019.pdf
1 SearchStrategy_27-09-2019.pdf
2 2020-08-2614-43-34AE_26-08-2020.pdf
3 2019-09-2710-59-58_27-09-2019.pdf
3 SearchStrategy_27-09-2019.pdf