Qt 3D Studio test plan: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
(Added test plan use cases)
 
No edit summary
Line 1: Line 1:
=== Create presentation ===
=== Create presentation ===
1. User should be able to create a new project and set desired presentation size for it.
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.
2. User should be able to run the presentation in the viewer.


=== Basic objects ===
=== Basic objects ===
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.
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.
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.  
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.
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.
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.
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.
9. User should be able to group/ungroup objects from the scene graph context menu.


=== Cameras and views ===
=== Cameras and views ===
10. User should be able to change position/scale/rotation/pivot values of the camera.
10. User should be able to change position/scale/rotation/pivot values of the camera.
11. User should be able to zoom in and out with the camera.
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.
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.
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.
14. User should be able to move around freely (pan/zoom/orbit) in Perspective and Ortographic views.


=== Lights ===
=== Lights ===
15. User should be able to change light type for a light.
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.
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.
17. User should be able to change light color of a light.
18. User should be able to change brightness 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.
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 ===
=== Import assets from the asset libraries ===
20. User should be able to import assets (effects, maps, materials, models, scripts) from the asset libraries.
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.
21. User should be able to import 3D models of .fbx and .dae format.


=== Materials ===
=== Materials ===
22. User should be able to change diffuse color, specular amount and emissive power for a material.
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.
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.
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.
25. User should be able to assign an imported material to an object and adjust material properties.


=== Layers ===
=== Layers ===
26. User should be able to able to add a new layer and add objects to that layer.
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.
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.
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 ===
=== Slides ===
29. User should be able to add, and duplicate slides
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.
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.
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.
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.
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.
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.
35. User should be able to link/unlink object properties to/from the master slide.


=== Animations ===
=== Animations ===
36. User should be able to enable animation for object properties that are animatable.
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.  
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.
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.
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.
40. User should be able to move, copy, cut, paste and delete keyframes.
41. User should be able to change interpolation value for keyframes.
41. User should be able to change interpolation value for keyframes.
42. User should be able to zoom the timeline.
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.
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.
44. User should be able to set default values for interpolation and keyframe snapping resolution.


=== Components ===
=== Components ===
45. User should be able to add an empty component to the scene.
45. User should be able to add an empty component to the scene.
46. User should be able to make a component out of object(s) that exist in the scene.
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.
47. User should be able to edit the scene within an component.


=== Sub-presentations ===
=== Sub-presentations ===
48. User should be able to create a new presentation (.uip file) within the current presentation.
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.
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.
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.
51. User should be able to display a sub-presentation (.uia or .qml) as a texture on a mesh.


=== Data inputs ===
=== Data inputs ===
52. User should be able to define data inputs.
52. User should be able to define data inputs.
53. User should be able to edit and delet existing data inputs.
53. User should be able to edit and delet existing data inputs.
54. User should be able to assign a data input to control slides or the timeline.
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.
55. User should be able to assign a data input to control support object properties.
56. User should be able to clearly see what data inputs are in control where.
56. User should be able to clearly see what data inputs are in control where.

Revision as of 07:42, 25 October 2018

Create presentation

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

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

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

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

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

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

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

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

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

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

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

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

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

52. User should be able to define data inputs.

53. User should be able to edit and delet existing data inputs.

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.

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