1. A system for testing a software application comprising:
a processor;
a testing runtime executing on the processor, the testing runtime directing the software application to perform operations based on a test definition and storing results related to performance of operations of the software application;
at least one variation data provider identified by the test definition and executing on the processor, each variation data provider generating a plurality of variations for a predetermined scope from a template and a plurality of values associated with a parameter, the template being a set of operations including the parameter, wherein each variation uses a different one of the plurality of values for the parameter, and wherein the variation data provider supplies the plurality of variations to the testing runtime and the scope of each of the plurality of variations is identified, the scope being used by the system to determine a sequence to run the variations in to ensure that all possible combinations are automatically evaluated.
2. The system of claim 1, wherein the test definition is a test script identifying the software application, the variation data provider and a variation data set containing the plurality of values associated with the parameter.
3. The system of claim 1 further comprising:
a variation data set containing the plurality of values associated with the parameter.
4. The system of claim 1 wherein the template is a set of operations including a first parameter and a second parameter and the plurality of values includes first values associated with the first parameter and second values associated with the second parameter, the test definition further comprising:
a parallel indication to the variation data provider to iterate in parallel through the first values and second values to generate the plurality of variations.
5. The system of claim 1 wherein the template is a set of operations including a first parameter and a second parameter and the plurality of values includes first values associated with the first parameter and second values associated with the second parameter, the test definition further comprising:
a serial indication to the variation data provider to iterate in series through the first values and second values to generate the plurality of variations.
6. The system of claim 1 further comprising:
a variation data set executing on the processor generating the plurality of values associated with the parameter and supplying the values to the variation data provider in response to get next value requests from the variation data provider.
7. The system of claim 3 wherein the variation data set is embedded in the test definition and supplied to the variation data provider by the runtime.
8. The system of claim 1 further comprising:
an adapter layer, executing on the processor, coupling the testing runtime and the variation data provider and causing the runtime to configure the software application to an initial state prior to delivering each variation to the testing runtime.
9. A computer storage medium having computer-executable instructions for performing a method comprising:
a) initializing software on a computer system;
b) initializing a variation data provider;
c) requesting from the variation data provider, a variation comprising at least one operation to be performed by the software, wherein the operation belongs to a predetermined scope of operation, the scope being used in determining the sequence of variations;
d) receiving a variation from the variation data provider, the variation including an initial configuration for the software and a set of one or more operations;
e) configuring the software to the initial configuration;
f) directing the software to perform the set of one or more operations;
g) recording information describing the performance of the software of the set of one or more operations;
h) repeating c) through g) wherein a different variation is received from the variation data provider each time until the variation data provider returns a message indicating there are no further variations.
10. A computer storage medium as defined in claim 9 further comprising computer-executable instructions for performing:
reading a test script identifying the software and the variation data provider to be initialized.
11. A computer storage medium as defined in claim 10 wherein the test script further identifies a variation data set supplying a set of values for varying one or more parameters in a template set of operations in the variation data provider.
12. A computer storage medium as defined in claim 9 wherein the set of one or more operations has a first parameter and the different variations are the set of one or more operation substituting a different value for the first parameter.
13. A computer storage medium as defined in claim 12 wherein the different values for the first parameter are obtained from a variation data set stored in a separate location from the variation data provider.
14. A computer storage medium as defined in claim 12 wherein the different values for the first parameter are obtained from a variation data set embedded in the variation data provider.
15. A computer storage medium having computer-executable instructions for performing a method comprising:
a) initializing software on a computer system;
b) initializing a first variation data provider and a second variation data provider and an adapter layer;
c) identifying the scope of each variation data provider to the adapter layer;
d) requesting from the adapter layer, a variation comprising at least one operation to be performed by the software;
e) receiving a variation from the adapter layer, the variation including an initial configuration for the software and a set of one or more operations, wherein a first value in the set of one or more operations is provided by the first variation data provider and a second value in the set of one or more operations is provided by the second variation data provider;
f) configuring the software to the initial configuration;
g) directing the software to perform the set of one or more operations;
h) recording information describing the performance of the software of the set of one or more operations;
i) repeating d) through h) wherein a different variation is received from the adapter layer each time until the variation data provider returns a message indicating there are no further variations.
16. A computer storage medium as defined in claim 15 wherein the set of one or more operations has a first parameter associated with a first variation data provider and a second parameter associated with a second variation data provider and wherein the different variations are the set of one or more operations substituting a different value for at least one of the first parameter and the second parameter and further comprising computer-executable instructions for performing:
evaluating by the adapter layer, the scope of each variation data provider;
determining, based on the scope, what sequence to vary the values for the at least one of the first parameter and the second parameter; and
monitoring the sequence to determine a next variation.
17. A computer storage medium as defined in claim 15 further comprising computer-executable instructions for performing:
reading a test script, the test script identifying the software, the first variation data provider, and the second variation data provider to be initialized and associating a first scope with the first variation data provider and a second scope with the second variation data provider.
18. A computer storage medium having computer-executable instructions for performing a method comprising:
receiving a request for a variation from a testing runtime executing a test script directing the testing of a software application;
delivering to the testing runtime, in response to the request, a revert command, directing the testing runtime to configure the software application to the initial configuration;
storing a template set of operations, the template set of operations including one or more operations to be performed by the software application, at least one operation having a parameter requiring a value;
generating one or more variations based on the template set of operations by obtaining a next value from a variation data set and using the next value as the parameter, each variation relates to a predetermined scope wherein at least two or more scopes are a part of a hierarchical organization, wherein the predetermined scope comprises one of a Global scope, a Suite scope, a Class scope, and a Method scope;
delivering to the testing runtime, in response to the request, the variation to the testing runtime; and
executing each variation, wherein for each iteration of a variation related to an outer scope all inner scope variations are executed.
19. A computer storage medium as defined in claim 18 further comprising computer-executable instructions for performing:
storing an identification of the variation data set containing values associated with a parameter and an initial configuration for the software application.
20. A computer storage medium as defined in claim 18 wherein the template set of operations has more than one parameter and the variation data set includes a set of values associated with each parameter and wherein generating a variation further comprises:
determining which value to use for each parameter based on previous variations delivered to the testing runtime, an iteration identifier, and a scope associated with each parameter.
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. A backlight module comprising:
a bottom plate having a plurality of lighting areas thereon;
a plurality of light source sets disposed on the lighting areas respectively; and
at least one partition wall disposed on the bottom plate and located between each two adjacent light areas, wherein the partition wall includes:
a first light-penetrable supporting wall having a wall surface vertical to the bottom plate and disposed along an edge of the lighting area; and
a light reflective layer formed on the wall surface.
2. The backlight module of claim 1, wherein the partition wall further comprises a second light-penetrable wall positioned abreast with the first light-penetrable wall, the light reflective layer is disposed between the first light-penetrable wall and the second light-penetrable wall.
3. The backlight module of claim 1, wherein the lighting areas and the partition wall are disposed in parallel or in an array on the bottom plate.
4. The backlight module of claim 3, wherein the partition wall has a lattice structure.
5. The backlight module of claim 1, wherein the wall surface of the first light-penetrable wall has a microstructure.
6. The backlight module of claim 5, wherein the microstructure comprises an etched microstructure or a printed microstructure.
7. The backlight module of claim 2, wherein a wall surface of the second light-penetrable wall contacting with the light reflective layer has a microstructure.
8. The backlight module of claim 1, wherein the light reflective layer includes a reflective coating.
9. The backlight module of claim 8, wherein the reflective coating includes a magnesia compound film or a titania compound film.
10. The backlight module of claim 1, wherein the light reflective layer includes a diffusion reflective layer or a silver reflective layer.
11. The backlight module of claim 1, wherein at least a trough is formed on the bottom plate, located between the adjacent lighting areas, and one end of the partition wall is disposed in the trough.
12. The backlight module of claim 1, wherein the first light-penetrable wall is made of materials selected from polymethylmethacrylate (PMMA), Polycarbonate (PC), glass material, and the combination thereof.
13. The backlight module of claim 2, wherein the second light-penetrable wall is made of materials selected from polymethylmethacrylate (PMMA), Polycarbonate (PC), glass material, and the combination thereof.
14. The backlight module of claim 1, wherein a thickness of the first light-penetrable wall is greater than 0.2 mm.
15. The backlight module of claim 12, wherein a thickness of the first light-penetrable wall is less than 3 mm.
16. The backlight module of claim 2, wherein a thickness of the second light-penetrable wall is in a range of about 0.2 mm to about 3 mm.
17. A liquid crystal display comprising the backlight module of claim 1.
18. A manufacturing method of backlight module comprising:
providing a bottom plate;
disposing a plurality of light source sets on the bottom plate to form a plurality of lighting areas;
providing a first light-penetrable wall;
forming a light reflective layer on a wall surface of the first light-penetrable wall to form a partition wall; and
disposing the partition wall between each two adjacent lighting areas.
19. The manufacturing method of claim 18, wherein the step of forming a light reflective layer on a wall surface of the first light-penetrable wall further includes providing a second light-penetrable wall to dispose the light reflective layer between the first light-penetrable wall and the second light-penetrable wall.
20. The manufacturing method of claim 18, wherein the plurality of lighting areas in parallel or in an array on the bottom plate.
21. The manufacturing method of claim 18, wherein the step of disposing the partition wall includes forming the partition walls in a lattice structure.
22. The manufacturing method of claim 18, wherein the step of providing the first light-penetrable wall includes forming a microstructure on the wall surface.
23. The manufacturing method of claim 22, wherein the step of forming the microstructure includes forming the microstructure by means of etching or printing.
24. The manufacturing method of claim 18, wherein the step of forming the light reflective layer on the wall surface of the first light-penetrable wall includes adhering or sputtering the light reflective layer on the wall surface or coating the wall surface with the light reflective layer.
25. The manufacturing method of claim 18, wherein the step of disposing the partition wall comprises:
forming at least one trough on the bottom plate and between each two adjacent lighting areas; and
inserting a bottom end of the partition wall in the trough.