diff --git a/procedures/Testing/general.md b/procedures/Testing/general.md new file mode 100644 index 0000000..4c67ca2 --- /dev/null +++ b/procedures/Testing/general.md @@ -0,0 +1,35 @@ +# General Test Documentation +This documentation covers how to generate testing procedures. For an +example of actual test documentation designed using this document, see +[mapgen.md](mapgen.md). + +NOTICE: I originally created this document for my Software Development +II class. I didn't do it here first nor plagiarize. + +## Overview +Implementing each manual test document’s "Instructions for testers" as +a web form where they can enter results is the most efficient way to +implement the tests. Choosing the web form from a list of test forms +should reset the test environment and start the server. Each result +area should contain a radio group where the user can choose "pass" or +"fail" and enter an optional comment. The user should only be able to +run the test once until a new git commit appears in the branch on git +or administrators manually reset the test. Resetting the test includes +restoring everything backed up in the "Backup" step(s) of the General +Test Design section. + +The tests can either integrate with GitHub or use another issue tracker +with a network API. If the issue exists, the issue will receive the new +comment from the given user. If the test fails for a closed issue, the +issue will reopen. + + +## General Test Design Guide +This section is a template for the "Test Design Guide" section of each +test document. +1. Set the configuration. +2. Backup the configuration. +3. Setup the world (this will only include entering the world and + changing it in the case of non-mapgen test documents). +4. Backup the world (for comparison with the original or for other kinds + of analysis). diff --git a/procedures/Testing/mapgen.md b/procedures/Testing/mapgen.md new file mode 100644 index 0000000..fa47a26 --- /dev/null +++ b/procedures/Testing/mapgen.md @@ -0,0 +1,63 @@ +# "Map Generation" Test Documentation +This documentation covers all testing in the category of "mapgen." + +NOTICE: I originally created this document for my Software Development +II class. I didn't do it here first nor plagiarize. + +## Test Design Guide +Setting up an efficient map generation test environment requires +finding a seed that provides a biome providing edible plants near where +grass and water are touching. The tsm_pyramids location must be far +away enough from the starting location and farming locations that +loading the pyramid cannot crash the game during other tests. The +tsm_pyramids test must always come last. + + +## Test Environment Creation +1. Add "enable_marble_generation = true" to minetest.conf to test + technic_worldgen fully. Set the gamma to 2.0 to ensure that the + testers can see in the dark so that ore generation tests proceed + quickly and hopefully without the need to place torches. +2. Before entering the world, backup the minetest.conf file. +3. Enter as singleplayer and grant singleplayer the noclip, fly, and + teleport privileges. +4. Add the following to singleplayer’s inventory: 1 stone hoe, 64 + torches. +5. Determine the following locations and provide 3D coordinates for the + tester: farming ("farming redo"), moreores, tsm_pyramids, + technic_ores. + + +## Instructions for Testers +This section is intended to be the only test document that the tester +needs for this or other test categories. + +### General instructions: +Proceed to the tests section, use the inputs as the tests describe, +then record the results. + +### Inputs: +[Instead of "...", the test documentation must provide coordinates of +each test location.] +- farming: ... +- moreores: ... +- technic_ores: ... +- tsm_pyramids: ... + +### Tests: +1. Teleport to the farming location. Ensure that edible plants are there + and that harvesting them yields produce or seeds. + - Results: +2. Teleport to the moreores location. Ensure that + "moreores:mineral_silver" appears within sight range and that + harvesting it yields ore (not stone with silver) + (Minetest-mods/moreores, 2020). + - Results: +3. Teleport to the technic_ores location. Ensure that + "technic:mineral_lead" appears within site range and that harvesting + it yields ore (not stone with lead) (Minetest-mods/technic, 2019). + - Results: +4. Teleport to the tsm_pyramids location. Wait 5 seconds. Ensure that + the game does not crash. Enter the pyramid. Wait 5 more seconds. + Ensure that the game does not crash. + - Results: