1. A computer-system-implemented method for dynamic testing of a software product, the method comprising:
receiving a pre-defined set of tests associated with the software product;
generating virtual environments corresponding to subsets of a group of individuals;
using the computer system, executing the pre-defined set of tests in the virtual environments, wherein, during a given test in the pre-defined set of tests, individuals in a corresponding subset interact with the software product,
wherein, prior to executing the pre-defined set of tests for a first time, selecting the subsets based on one or more attributes of individuals in the group of individuals;
analyzing results of the executed pre-defined set of tests;
updating the subsets based on the analysis; and
repeating the executing, analyzing and updating operations until a termination criterion is reached.
2. The method of claim 1, wherein the pre-defined set of tests is associated with a user interface in the software product.
3. The method of claim 1, wherein the pre-defined set of tests is based on a test hypothesis.
4. The method of claim 1, wherein the pre-defined set of tests is executed sequentially.
5. The method of claim 1, wherein the attributes include one of: age, gender, occupation, and education level.
6. The method of claim 1, wherein updating the subsets facilitates permutation testing of the software product.
7. The method of claim 1, wherein, while executing the pre-defined set of tests, different subsets interact with different versions of the software product.
8. The method of claim 7, wherein the different versions include different presentations of a user interface associated with the software product.
9. The method of claim 1, wherein the termination criterion includes a target use case of one or more of the subsets.
10. A computer-program product for use in conjunction with an electronic device, the computer-program product comprising a non-transitory computer-readable storage medium and a computer-program mechanism embedded therein to facilitate dynamic testing of a software product, the computer-program mechanism including:
instructions for receiving a pre-defined set of tests associated with the software product;
instructions for generating virtual environments corresponding to subsets of a group of individuals;
instructions for executing the pre-defined set of tests in the virtual environments, wherein, during a given test in the pre-defined set of tests, individuals in a corresponding subset interact with the software product,
wherein, the instructions further comprise prior to executing the pre-defined set of tests for a first time, selecting the subsets based on one or more attributes of individuals in the group of individuals;
instructions for analyzing results of the executed pre-defined set of tests;
instructions for updating the subsets based on the analysis; and
instructions for repeating the executing, analyzing and updating operations until a termination criterion is reached.
11. The computer-program product of claim 10, wherein the pre-defined set of tests is associated with a user interface in the software product.
12. The computer-program product of claim 10, wherein the pre-defined set of tests is executed sequentially.
13. The computer-program product of claim 10, wherein the attributes include one of: age, gender, occupation, and education level.
14. The computer-program product of claim 10, wherein updating the subsets facilitates permutation testing of the software product.
15. The computer-program product of claim 10, wherein, while executing the pre-defined set of tests, different subsets interact with different versions of the software product.
16. The computer-program product of claim 15, wherein the different versions include different presentations of a user interface associated with the software product.
17. The computer-program product of claim 10, wherein the termination criterion includes a target use case of one or more of the subsets.
18. A computer system, comprising:
a hardware processor;
memory; and
a program module, wherein the program module is stored in the memory and configurable to be executed by the processor to facilitate dynamic testing of a software product, the program module including:
instructions for receiving a pre-defined set of tests associated with the software product;
instructions for generating virtual environments corresponding to subsets of a group of individuals;
instructions for executing the pre-defined set of tests in the virtual environments, wherein, during a given test in the pre-defined set of tests, individuals in a corresponding subset interact with the software product,
wherein, the instructions further comprise prior to executing the pre-defined set of tests for a first time, selecting the subsets based on one or more attributes of individuals in the group of individuals;
instructions for analyzing results of the executed pre-defined set of tests;
instructions for updating the subsets based on the analysis; and
instructions for repeating the executing, analyzing and updating operations until a termination criterion is reached.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. An image pickup apparatus, comprising:
an image pickup unit configured to take a still image;
a temporary speech storing unit configured to input speech and continue storing speech for a predetermined time length while updating the speech;
a speech period determining unit configured to determine a start timing and an end timing of obtaining the speech to have a photographing timing of the still image taken by the image pickup unit therebetween, in accordance with a period in which the speech stored in the temporary speech storing unit satisfies a predetermined condition;
a storing unit configured to store the still image taken by the image pickup unit, and the speech; and
a storage control unit configured to cut out the speech stored in the temporary speech storing unit for a period from the start timing to the end timing determined by the speech period determining unit, and store the cut speech in the storing unit in association with the still image taken by the image pickup unit.
2. The apparatus according to claim 1, wherein the speech period determining unit determines the start timing and the end timing of obtaining the speech to correspond to a period in which a sound pressure of the speech stored in the temporary speech storing unit is kept higher than a predetermined level.
3. The apparatus according to claim 2, wherein the speech period determining unit determines the start timing and the end timing of obtaining the speech to extend the period of the speech when the sound pressure of the speech at the photographing timing of the still image is lower than a predetermined level.
4. The apparatus according to claim 1, wherein the speech period determining unit determines the start timing and the end timing of obtaining the speech to correspond to a period in which sound quality of the speech stored in the temporary speech storing unit satisfies a predetermined condition.
5. The apparatus according to claim 4, wherein the speech period determining unit determines the start timing and the end timing of obtaining the speech to correspond to a period in which the sound quality of the speech stored in the temporary speech storing unit indicates human voice.
6. The apparatus according to claim 4, further comprising a registering unit configured to register a voice print of an arbitrary person in advance,
wherein the speech period determining unit determines the start timing and the end timing of obtaining the speech to correspond to a period in which voice print of the speech stored in the temporary speech storing unit corresponds to the voice print of the person registered in the registering unit.
7. The apparatus according to claim 6, further comprising an image reconstructing unit configured, when a plurality of still images associated with voice prints of persons registered in the registering unit and speech corresponding to the voice prints are stored in the storing unit, to combine the still images, create a new image accompanied with speech, and urge the storing unit to store the new image.
8. The apparatus according to claim 1, wherein the speech period determining unit determines the start timing and the end timing of obtaining the speech to have a photographing timing of the still image taken by the image pickup unit therebetween, in accordance with a period in which the speech stored in the temporary speech storing unit satisfies a predetermined condition without exceeding a preset missing period.
9. An image pickup method for an image pickup apparatus including an image pickup unit configured to take a still image, a temporary speech storing unit configured to continue storing speech for a predetermined time length while updating the speech, and a storing unit configured to store the still image taken by the image pickup unit, and the speech, the method comprising:
determining a start timing and an end timing of obtaining the speech to have a photographing timing of the still image taken by the image pickup unit therebetween, in accordance with a period in which the speech stored in the temporary speech storing unit satisfies a predetermined condition; and
cutting out the speech stored in the temporary speech storing unit for a period from the start timing to the end timing determined, and storing the cut speech in the storing unit in association with the still image taken by the image pickup unit.
10. A storage medium storing program code to be executed by a computer built in an image pickup apparatus including an image pickup unit configured to take a still image, a temporary speech storing unit configured to continue storing speech for a predetermined time length while updating the speech, and a storing unit configured to store the still image taken by the image pickup unit, and the speech, the program code comprising:
determining a start timing and an end timing of obtaining the speech to have a photographing timing of the still image taken by the image pickup unit therebetween, in accordance with a period in which the speech stored in the temporary speech storing unit satisfies a predetermined condition; and
cutting out the speech stored in the temporary speech storing unit for a period from the start timing to the end timing determined, and storing the cut speech in the storing unit in association with the still image taken by the image pickup unit.