1.1.7 Various Types of Testing
IB Subtopic
Alpha Testing: Testing is done before the product is made available to the public. This is done by the stakeholder/client before it is released to the general intended audience.
Beta Testing: Testing done by part of the end-users/audience during a “trial” period. Once beta testing is done, many small bugs will have been fixed and the product can be released to the general public
Dry-Run Testing: Done on pen-and-paper by the programmer to try to test algorithms.
Unit Testing: Creating computer tests to test different parts of the program.
Integration Testing: The entire system is tested at the same time to verify that all components can work together.
User Acceptance Testing: Conducted tests by the user to determine if the system satisfied the customer’s needs.
Debugging: Finding and correcting programming mistakes.
Normal Data/Results/User Interaction: Data that is expected by the programmer. In an age field, the programmer might want to limit the input to integers from 0-99. Normal data would fall within the expected inputs.
Abnormal Data/Results/User Interaction: Data that wasn’t expected by the programmer. In the case of the example above “twenty” or 5 5, would be honest mistakes by the user. These types of abnormal data should be handled accordingly.
Extreme Data/Results/User Interaction: Data that is outside the boundaries of what can be considered an “honest mistake”. You can think of this as the user is actively trying to push the boundaries of your program to get unexpected behavior.
Action to Test | Method of Testing | Expected Results |
Users can save/star a question for future use | Alpha testing | Abnormal: Click button many times Expected result: A question will be saved only after the first click and database is updated accordingly Normal: Click once Expected: Question is saved and the database is updated accordingly Extreme: none |
A search bar that will find results in titles and question text. | Alpha Testing Debugging | Abnormal: user looks up a string that doesn’t exist or is misspelled Expected: A message will appear showing that the string doesn’t exist in the database Normal: A correctly formatted and existing title/text/string is inputted. Expected: A list of questions containing the string should be shown. Extreme: The user looks up strings that are too long. Expected: A limit on the input will prevent the user from inputting long strings. Extreme: user looks up strings that are completely incoherent (all numbers) Expected: A message will be given to the user about the allowed formatting of a search. The search will not be performed. |
Support for Chrome Browser magnifiers and readers. (accessibility) | Alpha Testing | Users will test this feature manually and provide feedback on its usefulness. |
Only the teacher can create accounts | Unit Testing Debugging Alpha Testing | There will be no option for anyone outside of a superuser to create accounts. Django provides the ability to limit superusers to only the developers. |