Abstract: The present disclosure relates to system(s) and method(s) for acceptance testing of a software product. The system is configured to generate a user group profile corresponding to each user group, from a set of user groups. Further, the system assigns a priority to each user group profile based on business objectives associated with the software product. The system further generates a set of development guidelines, corresponding to each user group profile, based on analysis of the user group profiles and data associated with the software product. Further, the system generates a set of test cases, corresponding to each user group profile, based on analysis of the set of development guidelines. Finally, the system is configured to execute the set of test cases based on the priority assigned to the user group profile, thereby conducting the acceptance testing of the software product.
The following specification describes the invention and the manner in which it is to be performed.
CROSS-REFERENCE TO RELATED APPLICATIONS AND PRIORITY
[001] The present application does not claim priority from any patent application.
TECHNICAL FIELD
[002] The present disclosure in general relates to the field of testing. More particularly, the present invention relates to a system and method for acceptance testing of a product.
BACKGROUND
[003] Nowadays, software products with similar features are launched every day in IT market. A software developer may develop the software product based on the client specific requirement or end user specific requirement. however, when it comes to software product which are open to general public such as social networking applications or chatting applications, the acceptance of such tools in the market is highly unpredictable. The software developer may incorporate one or more features to the software product as per company’s requirements. However, there are chances that the end users/ customers may face difficulty in using the one or more features of the software product.
[004] Further, the end users may stop using the software product if the software product is not up to their expectations. This may affect market value of the software product. Thus in order to fulfil end user requirements, it is beneficial to develop the software product as per the end user requirements.
[005] Furthermore, the end user requirements may be contradictory when there are multiple categories/ classifications in the end user. In this case, the software development team needs to make a hard choice of selecting features to be developed for the software product.
SUMMARY
[006] Before the present systems and methods for acceptance testing of a software product, are described, it is to be understood that this application is not limited to the particular systems, and methodologies described, as there can be multiple possible embodiments which are not expressly illustrated in the present disclosure. It is also to be understood that the terminology used in the description is for the purpose of describing the particular versions or embodiments only, and is not intended to limit the scope of the present application. This summary is provided to introduce concepts related to systems and methods for acceptance testing of a software product. This summary is not intended to identify essential features of the claimed subject matter nor is it intended for use in determining or limiting the scope of the claimed subject matter.
[007] In one implementation, a method for acceptance testing of a software product is illustrated. The method may comprise generating a user group profile corresponding to each user group associated with a set of target user. In one embodiment, the user group profile may be generated by classifying the set of target user into a set of user groups based on a first set of parameters. Further, a set of target user expectations, corresponding to the software product, may be identified. In one aspect, the set of target user expectations may be identified based on analysis of data received from external data sources. Furthermore, a sub-set of target user expectations, from the set of target user expectations, may be identified. Further, the user group profile may be generated based on set of target user expectations. Upon generating the user group profile, the method may comprise assigning a priority to each user group profile based on business objectives associated with the software product. Further, the method may comprise generating a set of development guidelines, corresponding to each user group profile. In one embodiment, the set of development guidelines may be generated based on analysis of the user group profiles and data associated with the software product. Further to the generation of the set of development guidelines, the method may comprise generating a set of test cases, corresponding to each user group profile. In one embodiment, the set of test cases may be generated based on analysis of the set of development guidelines. Once the set of test cases is generated, the method may comprise executing the set of test cases based on the priority assigned to the user group profile, thereby conducting the acceptance testing of the software product.
[008] In another implementation, a system for acceptance testing of a software product is illustrated. The system comprises a memory and a processor coupled to the memory, further the processor is configured to execute programmed instructions stored in the memory. In one embodiment, the processor may execute programmed instructions stored in the memory for generating a user group profile corresponding to each user group associated with a set of target user. In one embodiment, the user group profile may be generated by classifying the set of target user into a set of user groups based on a first set of parameters. Further, a set of target user expectations, corresponding to the software product, may be identified. In one aspect, the set of target user expectations may be identified based on analysis of data received from external data sources. Furthermore, a sub-set of target user expectations, from the set of target user expectations, may be identified. Further, the user group profile may be generated based on set of target user expectations. Upon generating the user group profile, the processor may execute programmed instructions stored in the memory for assigning a priority to each user group profile based on business objectives associated with the software product. Further, the processor may execute the programmed instructions stored in the memory for generating a set of development guidelines, corresponding to each user group profile. In one embodiment, the set of development guidelines may be generated based on analysis of the user group profiles and data associated with the software product. Further to the generation of the set of development guidelines, the processor may execute programmed instructions stored in the memory for generating a set of test cases, corresponding to each user group profile. In one embodiment, the set of test cases may be generated based on analysis of the set of development guidelines. Once the set of test cases is generated, the processor may execute the programmed instructions stored in the memory for executing the set of test cases based on the priority assigned to the user group profile, thereby conducting the acceptance testing of the software product.
[009] In yet another implementation, a computer program product having embodied computer program for acceptance testing of a software product is disclosed. The program may comprise a program code for generating a user group profile corresponding to each user group associated with a set of target user. In one embodiment, the user group profile may be generated by classifying the set of target user into a set of user groups based on a first set of parameters. Further, a set of target user expectations, corresponding to the software product, may be identified. In one aspect, the set of target user expectations may be identified based on analysis of data received from external data sources. Furthermore, a sub-set of target user expectations, from the set of target user expectations, may be identified. Further, the user group profile may be generated based on set of target user expectations. Upon generating the user group profiles, the program may comprise a program code for assigning a priority to each user group profile based on business objectives associated with the software product. Further, the program may comprise a program code for generating a set of development guidelines, corresponding to each user group profile. In one embodiment, the set of development guidelines may be generated based on analysis of the user group profile and data associated with the software product. Further to the generation of the set of development guidelines, the program may comprise a program code for generating a set of test cases, corresponding to each user group profile. In one embodiment, the set of test cases may be generated based on analysis of the set of development guidelines. Once the set of test cases is generated, the program may comprise a program code for executing the set of test cases based on the priority assigned to the user group profile, thereby conducting the acceptance testing of the software product.
BRIEF DESCRIPTION OF DRAWINGS
[0010] 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 refer like features and components.
[0011] Figure 1 illustrates a network implementation of a system for acceptance testing of a software product, in accordance with an embodiment of the present subject matter.
[0012] Figure 2 illustrates the system for acceptance testing of a software product, in accordance with an embodiment of the present subject matter.
[0013] Figure 3 illustrates a method for acceptance testing of a software product, in accordance with an embodiment of the present subject matter.
DETAILED DESCRIPTION
[0014] Some embodiments of the present disclosure, illustrating all its features, will now be discussed in detail. The words “generating”, “classifying”, “identifying”, “assigning” and “executing”, and other forms thereof, 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. Although any systems and methods similar or equivalent to those described herein can be used in the practice or testing of embodiments of the present disclosure, the exemplary, systems and methods for acceptance testing of a software product are now described. The disclosed embodiments of the system and method for acceptance testing of the software product are merely exemplary of the disclosure, which may be embodied in various forms.
[0015] Various modifications to the embodiment will be readily apparent to those skilled in the art and the generic principles herein may be applied to other embodiments. However, one of ordinary skill in the art will readily recognize that the present disclosure for acceptance testing of a software product is not intended to be limited to the embodiments illustrated, but is to be accorded the widest scope consistent with the principles and features described herein.
[0016] The present subject matter relates to a system and method for acceptance testing of a software product. In one embodiment, the system may be configured to receive a set of target user from a user device based on inputs provided by a user. The system may further classify the set of target users into a set of user groups based on a first set of parameters, Further, the system may identify a set of target user expectations, associated with the set of target users. In one embodiment, the set of target user expectations may be identified based on analysis of data received from external data sources. The system may further identify a sub-set of target user expectations from the set of target user expectations. The sub-set of target user expectations may correspond to each user group. Further to the identification of the sub-set of target user expectations, the system may be configured to generate a user group profile corresponding to each user group. Once the user group profile corresponding to each user group is generated, the system may assign a priority to each user group profile. In one embodiment, the priority may be assigned based on analysing business objectives of the software product. Upon assigning the priority, the system may generate a set of development guidelines associated with each user group profile. In one embodiment, the set of guidelines may be generated based on analysis of the user group profile and data associated with the software product. Further, the system may generate a set of test cases based on the analysis of the set of development guidelines. In one embodiment, the set of test cases may correspond to each user group profile. The system may further execute the set of test cases based on the priority of the user group profile. Thus, the system may perform the acceptance testing of the software product, based on the target user expectations for the development of the software product. Further, the network implementation of system for acceptance testing of a software product is elaborated with respect to figure 1.
[0017] Referring now to Figure 1, a network implementation 100 of a system 102 for acceptance testing of a software product is disclosed. Although the present subject matter is explained considering that the system 102 is implemented on a server, it may be understood that the system 102 may also be implemented in a variety of computing systems, such as a laptop computer, a desktop computer, a notebook, a workstation, a mainframe computer, a server, a network server, and the like. In one implementation, the system 102 may be implemented in a cloud-based environment. It will be understood that the system 102 may be accessed by multiple users through one or more user devices 104-1, 104-2…104-N, collectively referred to as user device 104 hereinafter, or applications residing on the user device 104. Examples of the user device 104 may include, but are not limited to, a portable computer, a personal digital assistant, a handheld device, and a workstation. The user device 104 may be communicatively coupled to the system 102 through a network 106.
[0018] In one implementation, the network 106 may be a wireless network, a wired network or a combination thereof. The network 106 may be implemented as one of the different types of networks, such as intranet, local area network (LAN), wide area network (WAN), the internet, and the like. The network 106 may either be a dedicated network or a shared network. The shared network 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), Wireless Application Protocol (WAP), and the like, to communicate with one another. Further, the network 106 may include a variety of network devices, including routers, bridges, servers, computing devices, storage devices, and the like.
[0019] In one embodiment, the system 102 may enable a target user classifier, a behavioral and expectations analyser, a profile generator, a guideline generator, a test case generator, and a test plan generator. In one embodiment, the target user classifier of the system 102 may be configured to receive information corresponding to a set of target users from the user device 104 based on inputs provided by a user. In one aspect, the user may be a software product developer, a software tester and the like. Further, the target user classifier may be configured to classify a set of target users into a set of user groups. The target user may be classified based on a first set of parameters. In one example, the first set of parameters may comprise characteristics of the target users such as age, gender, region, economic background, language, and the like.
[0020] Further, the behavioral and expectation analyser of the system 102 may enable a data communication interface. The data communication interface may receive data from external data sources. In one example, the external data sources may include social media, market survey, scientific research papers and the like. Upon receiving the data from the external data sources, the behavioral and expectation analyser may be configured to identify a set of target user expectations associated with the set of target users. In one embodiment, the set of target user expectations may be identified based on analysis of the data received from the external data sources. The behavioral and expectation analyser may be further configured to identify a sub-set of target user expectations from the set of target user expectations. In one aspect, the sub-set of target user expectations may be associated with each user group, from the set of user groups.
[0021] Upon identification of the sub-set of the target user expectations associated with each user group, the profile generator of the system 102 may be configured to generate a user group profile associated with each user group. In one embodiment, the user group profile may be generated based on analysis of the set of user groups and the sub-set of target user expectations. Once the user group profile, associated with each user group, is generated, the profile generator may be configured to assign priority to each user group profile. In one embodiment, the priority may be assigned to the user group profile based on business objectives of the software product.
[0022] Once the priority is assigned to the user group profile, the guideline generator of the system 102 may be configured to generate a set of development guidelines corresponding to the user group profile. In one embodiment, the set of development guidelines may be generated based on analysis of the user group profiles and data associated with the software product. In one aspect, the data associated with the software product may comprise objectives of the software product, features of the software product and the like. In one example, the set of development guidelines may correspond to usability guideline, non-functional guidelines, GUI guidelines and the like.
[0023] Further to the generation of the set of development guidelines, the test case generator of the system 102 may be configured to generate a set of test cases corresponding to each user group profile. In one embodiment, the set of test cases may be generated based on analysis of the set of development guidelines. In one embodiment, each of the test case may be associated with one of a development guideline, from the set of development guidelines. In one example, each test case may be generated to verify, if the software product is developed according to the set of development guidelines.
[0024] Once the set of test cases is generated, the test plan generator of the system 102 may be configured to generate a test plan to execute the set of test cases. Further, the test plan generator may execute the set of test cases based on the priority assigned to the user group profile. Further, a test result, corresponding to each test case, may be generated based on the execution of the set of test cases. Furthermore, the test plan generator may analyse the test result. Based on the analysis of the test results, the test plan generator may verify, if the software product is developed according to the sub-set of target user expectations. In this case, the development of the software product according to the sub-set of target user expectations may improve target user acceptance of the software product. Further, the system for the acceptance testing of the software product is elaborated in figure 2.
[0025] Referring now to figure 2, the system 102 for acceptance testing of a software product is illustrated in accordance with an embodiment of the present subject matter. In one embodiment, the system 102 may include at least one processor 202, an input/output (I/O) interface 204, and a memory 206. The at least one processor 202 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, at least one processor 202 may be configured to fetch and execute computer-readable instructions stored in the memory 206.
[0026] The I/O interface 204 may include a variety of software and hardware interfaces, for example, a web interface, a graphical user interface, and the like. The I/O interface 204 may allow the system 102 to interact with the user directly or through the user device 104. Further, the I/O interface 204 may enable the system 102 to communicate with other computing devices, such as web servers and external data servers (not shown). The I/O interface 204 may facilitate multiple communications within a wide variety of networks and protocol types, including wired networks, for example, LAN, cable, etc., and wireless networks, such as WLAN, cellular, or satellite. The I/O interface 204 may include one or more ports for connecting a number of devices to one another or to another server.
[0027] The memory 206 may include any 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 memory 206 may include modules 208 and data 210.
[0028] The modules 208 may include routines, programs, objects, components, data structures, and the like., which perform particular tasks, functions or implement particular abstract data types. In one implementation, the module 208 may include a profile generation module 212, a priority assigning module 214, a guideline generation module 216, a test case generation module 218, a test case execution module 220, and other modules 222. The other modules 222 may include programs or coded instructions that supplement applications and functions of the system 102.
[0029] The data 210, amongst other things, serve as a repository for storing data processed, received, and generated by one or more of the modules 208. The data 210 may also include a central data 224, and other data 226. In one embodiment, the other data 226 may include data generated as a result of the execution of one or more modules in the other modules 222.
[0030] In one implementation, a user may access the system 102 via the I/O interface 204. The user may be registered using the I/O interface 204 in order to use the system 102. In one aspect, the user may access the I/O interface 204 of the system 102 for obtaining information, providing input information or configuring the system 102.
PROFILE GENERATION MODULE 212
[0031] In one embodiment, the profile generation module 212 may enable a target user classifier to receive information associated with a set of target users from the user device 104 based on inputs provided by a user. In one example, the user of the user device may be a software product developer, a software tester and the like. In one aspect, the set of target users may correspond to customers of the software product. In one embodiment, the software product may be a product already available in a market, and need development according to customer’s requirements, or a new product under development. In one example, the information associated with the set of target users may comprise characteristics of the target users such as name, age, gender, economic background, region and the like. Once the information associated with the set of target users is received, the target user classifier of the profile generation module 212 may be configured to analyse the data associated with the set of target users. Further to the analysis of the data associated with the set of target users, the target user classifier may classify the set of target users into a set of user groups based on a first set of parameters. In one embodiment, the first set of parameters may comprise characteristics of the target user such as gender, age, economical background, region, language, cultural factor and the like. In one embodiment, the target user classifier may store the set of user groups in the central data 224.
[0032] Once the user groups are generated, the profile generation module 212 may enable a behavioral and expectation analyser to receive data from external data sources via a data communication interface. In one embodiment, the external data sources may include a social media, a market survey, a scientific research paper and the like. In one example, the data received from the external data sources may comprise feedback from the set of target users, a news published in a newspaper, an article published, an advertisement on an electronic media, and the like. In other example, the market survey may be conducted to collect information associated with other software products that are similar to the software product under development. Further, the behavioral and expectation analyser of the profile generation module 212 may analyse the data received from the external data sources. The behavioral and expectation analyser may further be configured to identify a set of target user expectations based on the analysis of the data received from the external data sources. In one embodiment, the set of target user expectations may comprise expectations corresponding to functionality or feature of the software product, GUI (Graphical User Interface) of the software product, usability conditions of the software product and the like.
[0033] Once the set of target user expectations is analysed, the behavioral and expectation analyser may be configured to identify a sub-set of target user expectations from the set of target user expectations. In one embodiment, the sub-set of target user expectations may correspond to each user group from the set of user groups.
[0034] In one example, a set of target users may be classified based on the gender. The user group1 may correspond to females from the set of target users and the user group2 may correspond to males from the set of target users. Further, the set of target user may post a comment, over the social media, on features corresponding to an old software product which is similar to the software product. The comment may indicate that the target user wants the login button at the bottom of the login page. In another example, a blog corresponding to the old software product may be published over the internet. In one aspect, the blog may indicate that one or more features of the old software product are user friendly. In another aspect, the blog may indicate that a feature of the old software product is not of any usage. In both the cases mentioned above, the behavioral and expectation analyser may be configured to analyse the data, such as the social media comment and the blogs to identify the set of target user expectations. In this case, the set of target user expectations may comprise expectations, such as login button at the bottom of the login page, and the one or more features that are user friendly. Upon identification of the set of target user expectations, the behavioral and expectation analyser may identify that the expectation of login button at the bottom of the login page may be associated with the user group1 and expectation of the one or more features may be associated with user group2.
[0035] Once the sub-set of target user expectations is identified, the profile generation module 212 may be configured to generate a user group profile corresponding to each user group. In one embodiment, the user group profile may be generated based on analysis of the set of user groups and the sub-set of target user expectations. In one aspect, the profile generation module 212 may analyse data associated with domain of the software product to generate the user group profile. In one aspect, the user group profile may comprise data associated with the user group, and the sub-set of target user expectations associated with the user group. In one example, the user group profile may comprise magnitude of the user group corresponding to the user group profile. The magnitude of the user group may correspond to number of target users in the user group.
PRIORITY ASSIGNING MODULE 214
[0036] Once the user group profiles are generated, the priority assigning module 214 may be configured to assign priority to each user group profile. The priority of the user group profile may indicate ranking of the user group profile for developing the software product. In one embodiment, the priority may be assigned based on analysis of the business objectives of the software product. In another embodiment, the priority may be assigned based on objectives of the software product and magnitude of user group. In one example, the business objectives may comprise information associated with robustness of the software product, defects of the software product and the like, and objective of the software product may indicate end goal of the software product. In one example, the software product developer may select features, to be incorporated in the software product, based on the priority of the user group profiles. Further, the priority of the user profile may be useful for resolving conflict, when the sub-set of the target user expectations associated with one user group and the sub-set of target user expectations associated with second user group are contradictory.
[0037] In one example, the set of target user may be classified into two user groups such as user group1 and user group2. Furthermore, the user group1 may be able to use a feature of an old software product, similar to the software product, while a user group2 may not be able to use the feature effectively. This means that the user group1 may want the feature in the software product and the user group2 may not want the feature in the software product. Further, a user group profile1, associated with the user group1, and a user group profile2, associated with the user group2, may be generated. Further, according to the sub-set of target user expectations, there is a contradiction between the target user expectations associated with the user group1 and user group2. Thus, the priority may be assigned to each user group profile based on based on analysing the objectives of the software product and magnitude of both the user groups. In one embodiment, a software product developer may select the features, to be incorporated in the software product, based on the priority of the user group profile.
GUIDELINE GENERATION MODULE 216
[0038] Once the priority is assigned to each user group profile, the guideline generation module 216 may be configured to generate a set of development guidelines corresponding to each user group profile. In one embodiment, the set of development guidelines may be generated based on analysis of the user group profiles, corresponding to each user group, and data associated with the software product. In one embodiment, the data associated with the software product may comprise objectives of the software product, features of the software product and the like. In one example, the guideline generator may analyse the sub-set of target user expectations, associated with each user group, of the user group profile. Each target user expectation may correspond to a feature or functionality in the software product. Thus, the guideline generation module 216 may generate the set of development guideline based on the target user expectation. In one embodiment, the guideline generation module 216 may also refer the priority of the user group profiles for the generation of the set of development guidelines. The guideline generation module 216 may generate the set of development guidelines for the user group profiles with higher priority. Further, the set of development guidelines may include usability guideline, non-functional guidelines, GUI guidelines, and the like.
[0039] In one aspect, the software product developer may use the set of development guidelines to develop the software product. In one embodiment, the software product developer may incorporate features, associated with the set of development guideline, in the software product. Thus, the software product developer may develop the software product based on the sub-set of target user expectations.
[0040] In one exemplary embodiment, the set of target users may be classified as user group1 and user group2. Further, according to sub-set of target user expectations of the user group1 may indicate that user group1 may be facing difficulty in using a feature of the old software product, and according to sub-set of target user expectations of the user group2 may indicate that the feature may be good and interesting. Further, the user group profile1, associated with the user group1, and the user group profil2, associated with the user group2, may be generated. In this case, the priority assigned to the user group profile1 may be higher than the priority of the user group profile2. Thus, the software product developer may refer the set of development guidelines associated with the user group profile1. In this case, the software product developer may incorporate changes, as expected by the user group profile1, in the software product.
TEST CASE GENERATION MODULE 218
[0041] Further, the test case generation module 218 may be configured to generate a set of test cases corresponding to each user group profile. In one embodiment, the set of test cases may be generated based on analysis of the set of development guidelines. Each test case may be associated with one of a development guideline from the set of development guidelines. In one aspect, the set of test cases may be generated to verify, if the software product is developed as per the development guidelines.
[0042] In one example, the set of test cases may be additional to functional test cases associated with the software product. The functional test cases may indicate test cases associated with one or more features already available in the software product. Further, the set of test cases may be configured to test the software product for the sub-set of target user expectations. In one example, the software tester may use the set of test cases for testing the software product.
TEST CASE EXECUTION MODULE 220
[0043] Once the test cases are generated, the test case execution module 220 may be configured to execute the set of test cases based on the priority assigned to the user group profile. The test case execution module 220 may first execute the set of test cases associated with the user group profile with higher priority. In one example, the test case execution module 220 may generate a test plan to execute the set of test cases. The test plan may be generated based on priority and constraints of the acceptance testing, the priority of the user group profile, the objectives of the software product, and the set of test cases corresponding to the user group profile. In one embodiment, the set of test cases may be executed using at least one of a manual test execution and an automatic test execution.
[0044] Further, the test case execution module 220 may generate a test result, corresponding to each test case, from the set of test cases, based on the execution of the test cases. In one embodiment, the test result may indicate pass and fail of a test case. In one example, the test result may indicate pass, when a test case associated with the test result is executed. In another example, the test result may indicate failure of the test case, when the test case, associated with the test result, fails. Further, the test case execution module 220 may analyse the test results. Based on the analysis of the test result, the test case execution module 220 may verify, if the software product is meeting the target user expectations.
[0045] In one embodiment, results obtained from the verification may indicate successful development of the software product, when the test results, associated with each test case, corresponding to the user profile, are pass. This may indicate that the software product may be able to satisfy the target user expectations.
[0046] In one embodiment, the software product developer may develop the software product as per the sub-set of target user expectations. The software product may then have tested to verify, if the software product is developer according to the sub-set of target user expectations. This may improve the target user acceptance of the software product. Thus, the software product testing may be referred as acceptance testing of the software product. Further, the method for acceptance testing of a software product is elaborated with respect to the block diagram of figure 3.
[0047] Referring now to figure 3, a method 300 for acceptance of a software product, is disclosed in accordance with an embodiment of the present subject matter. The method 300 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, and the like, that perform particular functions or implement particular abstract data types. The method 300 may also be practiced in a distributed computing environment where functions are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, computer executable instructions may be located in both local and remote computer storage media, including memory storage devices.
[0048] The order in which the method 300 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 300 or alternate methods. Additionally, individual blocks may be deleted from the method 300 without departing from the spirit and scope of the subject matter described herein. Furthermore, the method 300 can be implemented in any suitable hardware, software, firmware, or combination thereof. However, for ease of explanation, in the embodiments described below, the method 300 may be considered to be implemented in the above described system 102.
[0049] At block 302, the profile generation module 212 may be configured to enable a target user classifier to receive information associated with a set of target users from a user device 104 based on inputs provided by a user. In one example, the user of the user device may be a software product developer, a software tester and the like. In one aspect, the information associated with the set of target users may comprise characteristics of the target users such as name, age, gender, economic background, region and the like. Once the information associated with the set of target users is received, the target user classifier of the profile generation module 212 may be configured to analyse the data associated with the set of target users. Further to the analysis of the data associated with the set of target users, the target user classifier may classify the set of target users into a set of user groups based on a first set of parameters. In one embodiment, the first set of parameters may comprise characteristics of the target user such as gender, age, economical background, region, language, cultural factor and the like.
[0050] Once the user groups are generated, the profile generation module 212 may be configured to enable a behavioral and expectation analyser to receive data from external data sources via a data communication interface. In one embodiment, the external data sources may include a social media, a market survey, a scientific research paper and the like. In one example, the data received from the external data sources may comprise feedback from the set of target users, a news published in a newspaper, an article published, an advertisement on an electronic media, and the like. Further, the behavioral and expectation analyser of the profile generation module 212 may analyse the data received from the external data sources. The behavioral and expectation analyser may further be configured to identify a set of target user expectations based on the analysis of the data received from the external data sources.
[0051] Once the set of target user expectations is analysed, the behavioral and expectation analyser may be configured to identify a sub-set of target user expectations from the set of target user expectations. In one embodiment, the sub-set of target user expectations may correspond to each user group from the set of user groups.
[0052] Once the sub-set of target user expectations is identified, the profile generation module 212 may be configured to generate a user group profile corresponding to each user group. In one embodiment, the user group profile may be generated based on analysis of the set of user groups and the sub-set of target user expectations. In one aspect, the profile generation module 212 may analyse data associated with domain of the software product to generate the user group profile.
[0053] At block 304, the priority assigning module 214 may be configured to assign priority to each user group profile. The priority of the user group profile may indicate ranking of the user group profile for developing the software product. In one embodiment, the priority may be assigned based on analysis of the business objectives of the software product. In another embodiment, the priority may be assigned based on objectives of the software product and magnitude of user group. In one example, the business objectives may comprise information associated with robustness of the software product, defects of the software product and the like, and objective of the software product may indicate end goal of the software product.
[0054] At block 306, the guideline generation module 216 may be configured to generate a set of development guidelines corresponding to each user group profile. In one embodiment, the set of development guidelines may be generated based on analysis of the user group profiles, corresponding to each user group, and data associated with the software product. In one embodiment, the data associated with the software product may comprise objectives of the software product, features of the software product and the like. Further, the set of development guidelines may include usability guideline, non-functional guidelines, GUI guidelines, and the like.
[0055] At block 308, the test case generation module 218 may be configured to generate a set of test cases corresponding to each user group profile. In one embodiment, the set of test cases may be generated based on analysis of the set of development guidelines. Each test case may be associated with one of a development guideline from the set of development guidelines. In one aspect, the set of test cases may be generated to verify, if the software product is developed as per the development guidelines.
[0056] At block 310, the test case execution module 220 may be configured to execute the set of test cases based on the priority assigned to the user group profile. The test case execution module 220 may first execute the set of test cases associated with the user group profile with higher priority. In one example, the test case execution module 220 may generate a test plan to execute the set of test cases. The test plan may be generated based on priority and constraints of the acceptance testing, the priority of the user group profile, the objectives of the software product, and the set of test cases corresponding to the user group profile. In one embodiment, the set of test cases may be executed using at least one of a manual test execution and an automatic test execution. Further, the test case execution module 220 may generate a test result, corresponding to each test case, from the set of test cases, based on the execution of the test cases. In one embodiment, the test result may indicate pass and fail of a test case. In one example, the test result may indicate pass, when a test case associated with the test result is executed. In another example, the test result may indicate failure of the test case, when the test case, associated with the test result, fails. Further, the test case execution module 220 may analyse the test results. Based on the analysis of the test result, the test case execution module 220 may verify, if the software product is meeting the target user expectations.
[0057] In one embodiment, results obtained from the verification may indicate successful development of the software product, when the test results, associated with each test case, corresponding to the user profile, are pass. This may indicate that the software product may be able to satisfy the target user expectations.
[0058] In one embodiment, the software product developer may develop the software product as per the sub-set of target user expectations. The software product may then have tested to verify, if the software product is developer according to the sub-set of target user expectations. This may improve the target user acceptance of the software product. Thus, the software product testing may be referred as acceptance testing of the software product.
[0059] Although implementations for systems and methods for acceptance testing of a software product have been described, it is to be understood that the appended claims are not necessarily limited to the specific features or methods described. Rather, the specific features and methods are disclosed as examples of implementations for acceptance testing of the software product.
Claims:1. A method for acceptance testing of a software product, the method comprises:
generating, by a processor, a user group profile corresponding to each user group associated with a set of target user, wherein the user group profile is generated by
classifying the set of target user into a set of user groups based on a first set of parameters,
identifying a set of target user expectations, corresponding to a software product, based on analysis of data received from external data sources, and
identifying a sub-set of target user expectations, from the set of target user expectations, corresponding to each user group, thereby generating the user group profile corresponding to each user group;
assigning, by the processor, a priority to each user group profile based on business objectives associated with the software product;
generating, by the processor, a set of development guidelines corresponding to each user group profile based on analysis of the user group profiles and data associated with the software product;
generating, by the processor, a set of test cases, corresponding to each user group profile, based on analysis of the set of development guidelines; and
executing, by the processor, the set of test cases, corresponding to the user group profile, based on the priority assigned to the user group profile, thereby conducting acceptance testing of the software product.
2. The method of claim 1, wherein the first set of parameters comprise gender, age, economic background, region, language, and cultural factor.
3. The method of claim 1, wherein the external data sources comprise social media, marker survey, and scientific research papers.
4. The method of claim 1, wherein the data associated with software product comprises objectives of the software product, and functional features of the software product.
5. The method of claim 1, wherein the set of development guidelines include usability guideline, non-functional guidelines, and GUI guidelines.
6. A system for acceptance testing of a software product, the system comprising:
a memory;
a processor coupled to the memory, wherein the processor is configured to execute programmed instructions stored in the memory to:
generate a user group profile corresponding to each user group associated with a set of target user, wherein the user group profile is generated by
classifying the set of target user into a set of user groups based on a first set of parameters,
identifying a set of target user expectations, corresponding to a software product, based on analysis of data received from external data sources, and
identifying a sub-set of target user expectations, from the set of target user expectations, corresponding to each user group, thereby generating the user group profile corresponding to each user group;
assign a priority to each user group profile based on business objectives associated with the software product;
generate a set of development guidelines corresponding to each user group profile based on analysis of the user group profiles and data associated with the software product;
generate a set of test cases, corresponding to each user group profile, based on analysis of the set of development guidelines; and
execute the set of test cases, corresponding to the user group profile, based on the priority assigned to the user group profile, thereby conducting acceptance testing of the software product.
7. The system of claim 6, wherein the first set of parameters comprise gender, age, economic background, region, language, and cultural factor.
8. The system of claim 6, wherein the external data sources comprise social media, marker survey, and scientific research papers.
9. The system of claim 6, wherein the data associated with software product comprises objectives of the software product, and functional features of the software product.
10. The system of claim 6, wherein the set of development guidelines include usability guideline, non-functional guidelines, and GUI guidelines.
11. A computer program product having embodied thereon a computer program for acceptance testing of a software product, the computer program product comprises: a program code for generating a user group profile corresponding to each user group associated with a set of target user, wherein the user group profile is generated by
classifying the set of target user into a set of user groups based on a first set of parameters,
identifying a set of target user expectations, corresponding to a software product, based on analysis of data received from external data sources, and
identifying a sub-set of target user expectations, from the set of target user expectations, corresponding to each user group, thereby generating the user group profile corresponding to each user group;
a program code for assigning a priority to each user group profile based on business objectives associated with the software product;
a program code for generating a set of development guidelines corresponding to each user group profile based on analysis of the user group profiles and data associated with the software product;
a program code for generating a set of test cases, corresponding to each user group profile, based on analysis of the set of development guidelines; and
a program code for executing the set of test cases, corresponding to the user group profile, based on the priority assigned to the user group profile, thereby conducting acceptance testing of the software product.
| # | Name | Date |
|---|---|---|
| 1 | Power of Attorney [26-05-2017(online)].pdf | 2017-05-26 |
| 2 | Form 9 [26-05-2017(online)].pdf_95.pdf | 2017-05-26 |
| 3 | Form 9 [26-05-2017(online)].pdf | 2017-05-26 |
| 4 | Form 3 [26-05-2017(online)].pdf | 2017-05-26 |
| 5 | Form 20 [26-05-2017(online)].jpg | 2017-05-26 |
| 6 | Form 18 [26-05-2017(online)].pdf_38.pdf | 2017-05-26 |
| 7 | Form 18 [26-05-2017(online)].pdf | 2017-05-26 |
| 8 | Drawing [26-05-2017(online)].pdf | 2017-05-26 |
| 9 | Description(Complete) [26-05-2017(online)].pdf_39.pdf | 2017-05-26 |
| 10 | Description(Complete) [26-05-2017(online)].pdf | 2017-05-26 |
| 11 | abstract.jpg | 2017-07-07 |
| 12 | 201711018561-Proof of Right (MANDATORY) [04-08-2017(online)].pdf | 2017-08-04 |
| 13 | 201711018561-OTHERS-090817.pdf | 2017-08-17 |
| 14 | 201711018561-Correspondence-090817.pdf | 2017-08-17 |
| 15 | 201711018561-FER.pdf | 2020-06-02 |
| 1 | Search201711018561E_26-05-2020.pdf |