Qt 3D Studio test plan: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
(Added test plan use cases)
 
(Number list)
 
(9 intermediate revisions by 2 users not shown)
Line 1: Line 1:
=== Create presentation ===
=== 1. Create presentation ===
1. User should be able to create a new project and set desired presentation size for it.
1.1 User should be able to create a new project and set desired presentation size for it.
2. User should be able to run the presentation in the viewer.


=== Basic objects ===
1.2. User should be able to run the presentation in the viewer.
3. User should be able to add basic objects (meshes) to the scene by dragging and dropping them from the basic objects panel. Basic object should appear in the center of the scene when dropped.
4. User should be able to scale, rotate, move basic object in the scene view by either using the manipulator handles or changing values in the inspector palette.
5. User should be able to change pivot point value of a basic object. This should move the object while the pivot point should remain in the same position.
6. User should be able to add a group object to the scene by dragging and dropping it from the basic object palette.
7. User should be able to add/remove objects to/from the group by dragging and dropping in the scene graph.
8. User should be able to change position/scale/rotation/pivot values of the group objects. Child objects should transform accordingly.
9. User should be able to group/ungroup objects from the scene graph context menu.


=== Cameras and views ===
=== 2. Basic objects ===
10. User should be able to change position/scale/rotation/pivot values of the camera.
2.1. User should be able to add basic objects (meshes) to the scene by dragging and dropping them from the basic objects panel. Basic object should appear in the center of the scene when dropped.
11. User should be able to zoom in and out with the camera.
12. User should be able to set clipping (near/far) distances for the camera. Objects outside of these values should not be visible.
13. User should be able to change camera view from the menu bar or via shortcut keys.
14. User should be able to move around freely (pan/zoom/orbit) in Perspective and Ortographic views.


=== Lights ===
2.2. User should be able to scale, rotate, move basic object in the scene view by either using the manipulator handles or changing values in the inspector palette.
15. User should be able to change light type for a light.
16. User should be able to change position/scale/rotate/pivot values for a light.
17. User should be able to change light color of a light.
18. User should be able to change brightness of a light.
19. User should be able to light the scene with a HDRi image (image based lighting), set as a property for a layer.


=== Import assets from the asset libraries ===
2.3. User should be able to change pivot point value of a basic object. This should move the object while the pivot point should remain in the same position.  
20. User should be able to import assets (effects, maps, materials, models, scripts) from the asset libraries.
21. User should be able to import 3D models of .fbx and .dae format.


=== Materials ===
2.4. User should be able to add a group object to the scene by dragging and dropping it from the basic object palette.
22. User should be able to change diffuse color, specular amount and emissive power for a material.
23. User should be able to add images as diffuse map , bump map and opacity map for a material.
24. User should be able to add a HDRi image (environment map) as specular reflection for a material.
25. User should be able to assign an imported material to an object and adjust material properties.


=== Layers ===
2.5. User should be able to add/remove objects to/from the group by dragging and dropping in the scene graph.
26. User should be able to able to add a new layer and add objects to that layer.
27. User should be able to add a layer effect to a layer and change properties for that layer effect.
28. User should be able to re-arrange order of layers by dragging and dropping in the scene graph. This should affect the visibility of objects and effects.


=== Slides ===
2.6. User should be able to change position/scale/rotation/pivot values of the group objects. Child objects should transform accordingly.
29. User should be able to add, and duplicate slides
30. User should be able to delete slides as long as there are at least 1 slide left.
31. User should be able to re-arrange slides by dragging and dropping in the slides panel.
32. User should be able to add navigation between slides by changing the basic properties of the scene.
33. User should be able to add action-based navigation to slides. I.e. when user press an object in the scene, the slide should change to next slide.
34. User should be able to edit the master slide, i.e. add new objects, change light and camera settings.
35. User should be able to link/unlink object properties to/from the master slide.


=== Animations ===
2.7. User should be able to group/ungroup objects from the scene graph context menu.
36. User should be able to enable animation for object properties that are animatable.
37. User should be able to create animations and keyframes by moving the play head and change values of animated properties.
38. User should be able to preview animations both in the editor and in the viewer.
39. User should be able to adjust the length of the time bars in the timeline.
40. User should be able to move, copy, cut, paste and delete keyframes.
41. User should be able to change interpolation value for keyframes.
42. User should be able to zoom the timeline.
43. User should be able to snap keyframes to tick marks when dragging them in the timeline.
44. User should be able to set default values for interpolation and keyframe snapping resolution.


=== Components ===
=== 3. Cameras and views ===
45. User should be able to add an empty component to the scene.
3.1. User should be able to change position/scale/rotation/pivot values of the camera.
46. User should be able to make a component out of object(s) that exist in the scene.
47. User should be able to edit the scene within an component.


=== Sub-presentations ===
3.2. User should be able to zoom in and out with the camera.
48. User should be able to create a new presentation (.uip file) within the current presentation.
49. User should be able to import ,uip and .qml files to the project.
50. User should be able to display a sub-presentation (.uia or .qml) on a layer.
51. User should be able to display a sub-presentation (.uia or .qml) as a texture on a mesh.


=== Data inputs ===
3.3. User should be able to set clipping (near/far) distances for the camera. Objects outside of these values should not be visible.
52. User should be able to define data inputs.
 
53. User should be able to edit and delet existing data inputs.
3.4. User should be able to change camera view from the menu bar or via shortcut keys.
54. User should be able to assign a data input to control slides or the timeline.
 
55. User should be able to assign a data input to control support object properties.
3.5. User should be able to move around freely (pan/zoom/orbit) in Perspective and Ortographic views.
56. User should be able to clearly see what data inputs are in control where.
 
=== 4. Lights ===
4.1. User should be able to change light type for a light.
 
4.2. User should be able to change position/scale/rotate/pivot values for a light.
 
4.3. User should be able to change light color of a light.
 
4.4. User should be able to change brightness of a light.
 
4.5. User should be able to light the scene with a HDRi image (image based lighting), set as a property for a layer.
 
=== 5. Import assets from the asset libraries ===
5.1. User should be able to import assets (effects, maps, materials, models, scripts) from the asset libraries.
 
5.2. User should be able to import 3D models of .fbx and .dae format (links to test assets found in the bottom of this page).
 
=== 6. Materials ===
6.1. User should be able to change diffuse color, specular amount and emissive power for a material.
 
6.2. User should be able to add images as diffuse map , bump map and opacity map for a material.
 
6.3. User should be able to add a HDRi image (environment map) as specular reflection for a material.
 
6.4. User should be able to assign an imported material to an object and adjust material properties.
 
=== 7. Layers ===
7.1. User should be able to add a new layer and add objects to that layer.
 
7.2. User should be able to add a layer effect to a layer and change properties for that layer effect.
 
7.3. User should be able to re-arrange order of layers by dragging and dropping in the scene graph. This should affect the visibility of objects and effects.
 
=== 8. Slides ===
8.1. User should be able to add, and duplicate slides
 
8.2. User should be able to delete slides as long as there are at least 1 slide left.
 
8.3. User should be able to re-arrange slides by dragging and dropping in the slides panel.
 
8.4. User should be able to add navigation between slides by changing the basic properties of the scene. Slide navigation should work both in Editor and Viewer.
 
8.5. User should be able to add action-based navigation to slides. I.e. when user press an object in the scene, the slide should change to next slide. Action-based navigation should work both in Editor and Viewer.
 
8.6. User should be able to edit the master slide, i.e. add new objects, change light and camera settings.
 
8.7. User should be able to link/unlink object properties to/from the master slide.
 
=== 9. Animations ===
9.1. User should be able to enable animation for object properties that are animatable.
 
9.2. User should be able to create animations and keyframes by moving the play head and change values of animated properties.
 
9.3. User should be able to preview animations both in the editor and in the viewer.
 
9.4. User should be able to adjust the length of the time bars in the timeline.
 
9.5. User should be able to move, copy, cut, paste and delete keyframes.
 
9.6. User should be able to change interpolation value for keyframes.
 
9.7. User should be able to zoom the timeline.
 
9.8. User should be able to snap keyframes to tick marks when dragging them in the timeline.
 
9.9. User should be able to set default values for interpolation and keyframe snapping resolution.
 
=== 10. Components ===
10.1. User should be able to add an empty component to the scene.
 
10.2. User should be able to make a component out of object(s) that exist in the scene.
 
10.3. User should be able to edit the scene within an component.
 
=== 11. Sub-presentations ===
11.1. User should be able to create a new presentation (.uip file) within the current presentation.
 
11.2. User should be able to import ,uip and .qml files to the project.
 
11.3. User should be able to display a sub-presentation (.uia or .qml) on a layer.
 
11.4. User should be able to display a sub-presentation (.uia or .qml) as a texture on a mesh.
 
=== 12. Data inputs ===
12.1. User should be able to define data inputs.
 
12.2. User should be able to edit and delete existing data inputs including meta keys.
 
12.3. User should be able to assign a data input to control slides or the timeline.
 
12.4. User should be able to assign a data input to control support object properties.
 
12.5. User should be able to clearly see what data inputs are in control where.
 
=== 13. Variant Filtering ===
13.1. User should be able to create, edit and delete Variant Groups and Tags.
 
13.2. User should be able to assign variant tags to layers, 3d objects, groups and components.
 
13.3. User should be able to export and import Variant Groups.
 
13.4. When previewing in the Viewer, user should be able to variant filter layers.
 
===Assets===
 
Assets that can be used in testing.
 
[https://git.qt.io/public-demos/qt3dstudio/blob/master/Test%20assets/speedometer-export.zip Simple Speedometer (dae and fbx)]

Latest revision as of 10:59, 7 May 2019

1. Create presentation

1.1 User should be able to create a new project and set desired presentation size for it.

1.2. User should be able to run the presentation in the viewer.

2. Basic objects

2.1. User should be able to add basic objects (meshes) to the scene by dragging and dropping them from the basic objects panel. Basic object should appear in the center of the scene when dropped.

2.2. User should be able to scale, rotate, move basic object in the scene view by either using the manipulator handles or changing values in the inspector palette.

2.3. User should be able to change pivot point value of a basic object. This should move the object while the pivot point should remain in the same position.

2.4. User should be able to add a group object to the scene by dragging and dropping it from the basic object palette.

2.5. User should be able to add/remove objects to/from the group by dragging and dropping in the scene graph.

2.6. User should be able to change position/scale/rotation/pivot values of the group objects. Child objects should transform accordingly.

2.7. User should be able to group/ungroup objects from the scene graph context menu.

3. Cameras and views

3.1. User should be able to change position/scale/rotation/pivot values of the camera.

3.2. User should be able to zoom in and out with the camera.

3.3. User should be able to set clipping (near/far) distances for the camera. Objects outside of these values should not be visible.

3.4. User should be able to change camera view from the menu bar or via shortcut keys.

3.5. User should be able to move around freely (pan/zoom/orbit) in Perspective and Ortographic views.

4. Lights

4.1. User should be able to change light type for a light.

4.2. User should be able to change position/scale/rotate/pivot values for a light.

4.3. User should be able to change light color of a light.

4.4. User should be able to change brightness of a light.

4.5. User should be able to light the scene with a HDRi image (image based lighting), set as a property for a layer.

5. Import assets from the asset libraries

5.1. User should be able to import assets (effects, maps, materials, models, scripts) from the asset libraries.

5.2. User should be able to import 3D models of .fbx and .dae format (links to test assets found in the bottom of this page).

6. Materials

6.1. User should be able to change diffuse color, specular amount and emissive power for a material.

6.2. User should be able to add images as diffuse map , bump map and opacity map for a material.

6.3. User should be able to add a HDRi image (environment map) as specular reflection for a material.

6.4. User should be able to assign an imported material to an object and adjust material properties.

7. Layers

7.1. User should be able to add a new layer and add objects to that layer.

7.2. User should be able to add a layer effect to a layer and change properties for that layer effect.

7.3. User should be able to re-arrange order of layers by dragging and dropping in the scene graph. This should affect the visibility of objects and effects.

8. Slides

8.1. User should be able to add, and duplicate slides

8.2. User should be able to delete slides as long as there are at least 1 slide left.

8.3. User should be able to re-arrange slides by dragging and dropping in the slides panel.

8.4. User should be able to add navigation between slides by changing the basic properties of the scene. Slide navigation should work both in Editor and Viewer.

8.5. User should be able to add action-based navigation to slides. I.e. when user press an object in the scene, the slide should change to next slide. Action-based navigation should work both in Editor and Viewer.

8.6. User should be able to edit the master slide, i.e. add new objects, change light and camera settings.

8.7. User should be able to link/unlink object properties to/from the master slide.

9. Animations

9.1. User should be able to enable animation for object properties that are animatable.

9.2. User should be able to create animations and keyframes by moving the play head and change values of animated properties.

9.3. User should be able to preview animations both in the editor and in the viewer.

9.4. User should be able to adjust the length of the time bars in the timeline.

9.5. User should be able to move, copy, cut, paste and delete keyframes.

9.6. User should be able to change interpolation value for keyframes.

9.7. User should be able to zoom the timeline.

9.8. User should be able to snap keyframes to tick marks when dragging them in the timeline.

9.9. User should be able to set default values for interpolation and keyframe snapping resolution.

10. Components

10.1. User should be able to add an empty component to the scene.

10.2. User should be able to make a component out of object(s) that exist in the scene.

10.3. User should be able to edit the scene within an component.

11. Sub-presentations

11.1. User should be able to create a new presentation (.uip file) within the current presentation.

11.2. User should be able to import ,uip and .qml files to the project.

11.3. User should be able to display a sub-presentation (.uia or .qml) on a layer.

11.4. User should be able to display a sub-presentation (.uia or .qml) as a texture on a mesh.

12. Data inputs

12.1. User should be able to define data inputs.

12.2. User should be able to edit and delete existing data inputs including meta keys.

12.3. User should be able to assign a data input to control slides or the timeline.

12.4. User should be able to assign a data input to control support object properties.

12.5. User should be able to clearly see what data inputs are in control where.

13. Variant Filtering

13.1. User should be able to create, edit and delete Variant Groups and Tags.

13.2. User should be able to assign variant tags to layers, 3d objects, groups and components.

13.3. User should be able to export and import Variant Groups.

13.4. When previewing in the Viewer, user should be able to variant filter layers.

Assets

Assets that can be used in testing.

Simple Speedometer (dae and fbx)