A self-testing system for automatic testing of a plurality of mobile wireless devices in a realistic environment using a plurality of test cases with respect to a plurality of applications, based on a database, a test manager, a plurality of agents, and a plurality of human agents, said system comprising:
- a test scheduling element for scheduling said plurality of test cases;
- an application agent element for managing an application of said plurality of applications;
- and
- a coordinating agent element for managing inter-system and intra-system interactions, wherein:
- said test scheduling element further comprising:
- ordering of said applications based on scheduled end date and number of remaining test cases;
- determination of a plurality of target systems based on said plurality of mobile wireless devices;
- selection of a selected target system from said plurality of target systems;
- selection of a plurality of scheduled applications from said plurality of applications based on a plurality of environment conditions, a plurality of clusters associated with each of said plurality of applications, and configuration and capability of said selected target system, wherein a cluster of said plurality of clusters is based on a plurality of environment expressions;
- identification of a plurality of selected clusters from said plurality of clusters associated with each of said plurality of scheduled applications;
- determining of a plurality of selected test cases from each of said plurality of selected clusters;
- determining of a plurality of environment variables based on said plurality of selected test cases;
- determining of a plurality of locations based on said plurality of environment variables;
- determining of a route based on said plurality of locations;
- configuration of a plurality of specific agents with respect to each of said plurality of scheduled applications and said selected target system, wherein each of said plurality of specific agents is a part of said plurality of agents;
- downloading of said plurality of selected test cases to said selected target system;
- selection of a human agent from said plurality of human agents;
- and
- providing of said route to said human agent,
- said application agent element comprises means for processing of a plurality of information elements related to said application with respect to said database comprising:
- updating of said database with said plurality of test cases;
- determination of status of said plurality of test cases;
- obtaining of a plurality of local environment information elements associated with said application;
- marking of one or more of said plurality of test cases based on said plurality of local environment information elements;
- obtaining of a plurality of distributed environment information elements associated with said application;
- marking of one or more of said plurality of test cases based on said plurality of distributed environment information elements;
- providing of location information based on said plurality of distributed environment information elements to said human agent;
- obtaining of a remote environment expression;
- identification of a plurality of remote test cases based on said remote environment expression and said plurality of test cases;
- and
- removal from said remote test cases from said database, and
- said coordinating agent element comprises means for processing a plurality of data elements with respect to said database comprising:
- obtaining of a plurality of information elements related to an application of said plurality of applications from said plurality of data elements;
- creation of an application agent related to said application;
- binding of said application agent with said plurality of information elements;
- creation of a distributed environment sensing agent;
- creation of a test scheduler agent;
- creation of a test execution monitoring agent;
- creation of a test results agent;
- obtaining of a plurality of environment variables from said plurality of information elements;
- binding of said distributed environment sensing agent with said plurality of environment variables;
- obtaining of a plurality of test cases from said plurality of information elements;
- communicating of said plurality of test cases to said application agent;
- obtaining of a plurality of test result elements from said plurality of information elements;
- communicating of said plurality of test result elements to said test manager;
- obtaining of a plurality of environment information elements from said plurality of data elements;
- communicating of said plurality of environment information to said distributed environment sensing agent;
- cleaning up of said database;
- deletion of said application agent;
- deletion of said distributed environment sensing agent;
- deletion of test scheduler agent;
- deletion of said test execution monitoring agent;
- and
- deletion of said test results agent, and updating of said database.