Y12 Unit 0 - Class Structure
Y12 Unit 1 - Computational Thinking
Y12 Unit 2 - Networks
Y12 Unit 3 - OOP
Y12 Unit 4 - System Fundamentals
Abstract Data Structures (HL) Year 13 Unit

Testing

1.1.7 Various Types of Testing

IB Subtopic

LESSON RECORDING VIDEO

Types of Testing

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.

Expected Results

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.

Sample Testing Plan

Action to TestMethod of TestingExpected Results
Users can save/star a question for future useAlpha testingAbnormal: 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 TestingUsers will test this feature manually and provide feedback on its usefulness. 
Only the teacher can create accountsUnit 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.