Quality Assurance Testing Checklist

This wiki page details a list of all things that should be tested prior to a major release.

Language

In the rest of this document, some shorthand words will be used to keep things simplified

  1. "Runs" Means that the executable can be launched, and a level can be loaded without any overt graphical(in the case of non-dedicated) or control errors, nor is there an obvious wall of errors in the console.

Executables

  1. Confirm 32bit exe runs on Windows
  2. Confirm 64bit exe runs on Windows
  3. Confirm 32bit exe runs on Linux
  4. Confirm 64bit exe runs on Linux

Subtasks

  1. Confirm exe runs as clients (display windows)
  2. Confirm exe runs with the -dedicated -level "somelevelname.mis" (do not display windows)
  3. Confirm exe variant runs as fully dedicated (use the TORQUE_DEDICATED compiler flag to filter even attempting to operate as a client)
  4. Confirm C++ unit tests pass (by running 'Torque 3D.exe runTests.cs')

Rendering API

  1. Confirm that DirectX11 runs on Windows
  2. Confirm that DirectX9 runs on Windows
  3. Confirm that OpenGL runs on Windows
  4. Confirm that OpenGL runs on Linux

Subtasks

  1. Confirm standard materials function (diffuse, normal, specular)
  2. Confirm multiple layer materials function (blended via alpha is the standard implementation)
  3. Confirm animated Materials function (UV panning, scaling, rotating)
  4. Confirm translucent options function (changes rendering composition and order)
  5. Confirm Water blocks, water planes, and rivers function (reflectivity, depth, et al)
  6. Confirm Scattersky, and Skyboxes function (the former with a timeofday)
  7. Confirm multiple layer terrains function. (Operates off of up to 3 layers rendered, then a re-draw, so ensure a minimum of 5 layers checked for proper blending across all batches.)
  8. Confirm Vector Lighting (sun) Point lights, and Spotlights function. (Colorization, attenuation, et al)

Dedicated Servers

  1. Confirm that a dedicated server can run on Linux, with a Windows client connected
  2. Confirm that a dedicated server can run on Linux, with a Linux client connected
  3. Confirm that a dedicated server can run on Windows, with a Windows client connected
  4. Confirm that a dedicated server can run on Windows, with a Linux client connected
  5. In all above test cases, ensure that the dedicated server can change levels without issues.

Server/Client

  1. Confirm that a hosted server can ping out to a master server, and be seen by a client of the same build.
  2. Use the netgraph [n] in combination with latency simulation to ensure that basic networking works between a hosted client and server.
  3. Confirm that the server does not cause lag if its window loses focus on the host machine

Physics APIs

Bullet

  1. Confirm that Bullet compiles and that the API initializes when the game runs.
  2. Confirm that the player object can move on surfaces, float in water, and collide with standard geometry.
  3. Confirm that Physics shapes can be spawned, and collide with other objects
  4. Confirm that Physics shapes can be moved via applyImpulse
  5. Confirm that vehicles can be spawned, and collide with other objects

PhysX

  1. Confirm that PhysX compiles and that the API initializes when the game runs.
  2. Confirm that the player object can move on surfaces, float in water, and collide with standard geometry.
  3. Confirm that Physics shapes can be spawned, and collide with other objects
  4. Confirm that Physics shapes can be moved via applyImpulse
  5. Confirm that vehicles can be spawned, and collide with other objects

Scripts

  1. Run script unit tests to ensure general functionality

Gameplay (Requires Full template)

  1. Confirm that the player can spawn
  2. Confirm that the weapons can be fired
  3. Confirm that the weapons can be switched between both via scroll wheel and number shortcuts
  4. Confirm that sprinting and crouching works
  5. Confirm player death works
  6. Confirm that turret and mines can be destroyed
  7. Confirm that the zoom function works

Editors

Editor General

File menu commands

  1. Confirm that a new level can be created
  2. Confirm that an existing level can be opened
  3. Confirm that saving a modified level works
  4. Confirm that saving a unmodified level via Save As works
  5. Confirm the Open Project/Level File in Torsion commands works(requires Torsion)
  6. Confirm Create Blank Terrain works
  7. Confirm Import and Export Terrain Heightmap commands work
  8. Confirm Export to COLLADA command works
  9. Confirm Add FMOD Designer Audio command works
  10. Confirm Play Level command works
  11. Confirm Exit Level command works
  12. Confirm Quit command works

Edit menu commands

  1. Confirm Undo command works
  2. Confirm Redo command works
  3. Confirm Cut, Copy and Paste commands work
  4. Confirm Delete command works
  5. Confirm Deselect command works
  6. Confirm Select Objects command and window works
  7. Confirm Audio Parameters command and window works
  8. Confirm Snap Options command and window works
  9. Confirm Game Options command and window works
  10. Confirm PostFX Manager command and window works

View menu commands

  1. Confirm Visibility Layers command and window works
  2. Test Show Grid in Ortho Views toggle

Object menu commands

Camera menu commands

  1. Confirm add bookmark creates a point + orientation in sapce
  2. Confirm Manage bookmarks pops up a list
  3. Confirm Jump To bookmark when not occupying a player sets the camera to a created position + orientation

Editors menu commands

Lighting menu commands

  1. Confirm that the Full Relight command doesn't cause any errors(fairly sure this command is deprecated until such a time a static lighting is added back in)
  2. Confirm the Shadow Viz command and window works
  3. Confirm that switching to Basic Lighting works
  4. Confirm that switching to Advanced Lighting works

Help menu commands

  1. Confirm

World Editor

Terrain Editor

Terrain Paint Editor

  1. Ensure that 4 different textures can be overlapped(1 texture to a quadrant relative to a vert) without any blending artifacts

Material Editor

Sketch Tool Editor

  1. Can hold alt + LMB drag to create a new convex shape sized via mouse movements
  2. Able to select a face on the convex shape
  3. With a face selected, able to move, rotate and scale the face
  4. Can switch between select, move, rotate and scale modes via the 1, 2, 3 and 4 keys
  5. Able to select a difference face from the active one
  6. Can click the 'Split seleccted face button' and have it successfully split the face
  7. Can click the 'Create ConvexShape Box' button on the toolbar to create a new convex shape
  8. With the shape modified, able to go into the menubar > Sketch and click Recenter Selected Shape and have it recenter correctly.
  9. Can click menubar > Sketch > Hollow Selected Shape and have it correctly hollow out the current convex shape.
  10. Can have a shape selected and click the 'Delete selected ConvexShape' button in the toolbar and have it delete.
  11. Can have a shape selected and click the delete button to delete the shape.

Datablock Editor

Decal Editor

Forest Tool

Mesh Road Editor

  1. Can create a new road
  2. Can create a new road with modified default width and depth
  3. Can select road via the road list panel
  4. Can modify the road's properties via the properties panel
  5. Can select and unselect nodes in a road
  6. Can modify the selected node in the Node Properties panel
  7. Can move and scale nodes in a road
  8. Can insert and remove points in a road
  9. Can change the Show Spline, Show Wireframe and Show Texture options with appropriate effects
  10. Can delete the second-to-last node and it successfully removes the road
  11. Can delete the road via the World editor

Mission Area Editor

  1. In a mission with no mission area, switch to the mission area edit and confirm that it prompts for one to be crated, and that it successfully does if you click 'yes'
  2. Can change the properties of the mission area
  3. Can save the mission and reload it and have the mission area correctly load
  4. Can delete the mission area

NavMesh Editor

Particle Editor

River Editor

  1. Can create a new river
  2. Can create a new river with modified default width and depth
  3. Can select river via the rivers list panel
  4. Can modify the river's properties via the properties panel
  5. Can select and unselect nodes in a river
  6. Can modify the selected node in the Node Properties panel
  7. Can move, rotate and scale nodes in a river
  8. Can insert and remove points in a river
  9. Can change the Show Spline, Show Wireframe and Show Texture options with appropriate effects
  10. Can delete the second-to-last node and it successfully removes the river
  11. Can delete the river via the World editor

Decal Road Editor

  1. Can create a new road
  2. Can create a new road with modified default width
  3. Can select road via the road list panel
  4. Can modify the road's properties via the properties panel
  5. Can select and unselect nodes in a road
  6. Can modify the selected node in the Node Properties panel
  7. Can move and scale nodes in a road
  8. Can insert and remove points in a road
  9. Can change the Show Spline, Show Wireframe and Show Texture options with appropriate effects
  10. Can delete the second-to-last node and it successfully removes the road
  11. Can delete the road via the World editor
  12. Road correctly sticks to and renders over the terrain, even when editing nodes

Shape Editor

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License