Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

User:Chris collman/TestingProcess

From MoodleDocs

I thought this sub page would be helpful for developers and others, in my self assigned role of being a narrow minded, simple, dumb, inexperienced, Moodle User, who does not get angry when things don't work. Since June 2006, I have worked out a testing process.


My testing process is fairly standard and not very deep.

Here is what I think of as my Phase One Test using Activity Locking (AL) as an example.

  1. I download and install a complete package of the latest and greatest Moodle Version X as a local host on a Windows XP machine. This process usually takes 15 minutes. (note I have 5 to 10 independent localhosts on any given machine, each in their own folder off the root)
  2. I might download the latest version and upgrade the complete install I just completed. Usually I do this on a retest or if I think the complete install version is much older (subjective) than smaller version only update.
  3. I usually import a simple course from a similar version, to save me the trouble of building one.
    1. My initial test course usually has 2 to 5 lessons, a quiz, and a survey, each in their own topic,
    2. This course also has 5 to 10 pseudo students, who have not attempted anything at the point of time the backup was made.
    3. Each lesson in this course usually has 1 or 2 multiple choice question pages and 1 or 2 branch tables (ie B,Q,Q,B)
    4. My questions and answers are simple. Often I repeat the same question. For some types of questions, I put the answer in the content and use the teacher response to check my evaluations.
      1. Here is a typical question: "My answer is" with answers "Correct", "Wrong", "Maybe", "Wild Guess". Others test my lessons, so I DO NOT ask "What tribe did Grando Muncho belong" : Navajo, Apache, Annang or Abanaki.
      2. In a short answer I might say "The answer is 'All 88 people were correct'" then use the teacher response to confirm how it evaluated what the student put in. For example if they put "88 people were right", I want to know it selected my answer " *88 people* " by also putting that as the response. Multitasking bald people need reminders.
      3. In a matching, one series is A,B,C,D,E, the other is 1,2,3,4,5. No need to be tricky.
    5. Usually I allow multiple attempts of a lesson, turn on custom scoring and keep the max score on any retrys and set max attempts at 4.
    6. Missing a question send the student back to the same question page, correct answer advance (and get 1 point).
  4. I check to see if the simple course works in the plain jane new install.
    1. If not I create a new course that works.
  5. Then I try to follow the instructions and load the thing to be tested (usally AL or Certificate) and
  6. turn on the localhost to complete the install.
  7. As admin, I try to use the new addin like a teacher.
  8. I will then enroll a new student and have them try the course to see if things work the way I expect from a student perspective. This student does not make many mistakes.

This completes what I think of as my basic Phase One.

Phase Two cranks it up a notch or two, I will try to break it as a student or as a teacher.

  1. I add a new teacher and a new student
  2. the new teacher adds a simple quiz and a couple of resources (R, L, L, L, L, Qz)
  3. the new teacher tries applying the feature to quiz.
  4. the new student does the course.
  5. all this should work, now I try to break it.
    1. for example, in AL I might turn on the Lesson Dependency feature in Lesson2 to see how it interacts with AL
    2. I will check the course as a teacher who switch to a student view
    3. I will check the course as a different student who "is not the brightest lightbulb in the pack"


If it doesn't work, I might just delete the entire folder and start all over again, with a smile.