Each student should select a product for testing. It can be any physical or digital product of their choice. Examples include mobile apps, websites, electronic gadgets, household appliances, or even a toy. Choose something that interests you and that you have access to for conducting tests effectively.
Define the objectives of your testing. Consider what aspects of the product you want to evaluate and what specific functionalities you want to test. Think about potential scenarios and edge cases that could arise during the product's usage.
Before writing tests, create a test plan. Outline the different types of tests you will conduct, such as functional, usability, performance, security, or compatibility tests. Define the testing environment and tools you will need to execute your tests effectively.
Identify a range of test scenarios to cover various aspects of the product. Consider both normal and abnormal situations that a user might encounter. Focus on edge cases, which are inputs or conditions that are outside the typical range and might cause unexpected behavior.
Write individual test cases for each scenario identified in the previous step. A test case should include the following components:Test case name/identifier Description of the scenario being tested Preconditions (if any) Steps to reproduce the scenario
Actual results (to be filled in after conducting the test) Edge Case Testing: Pay special attention to edge cases, as they often reveal unexpected issues. Identify specific edge cases for your selected product and design test cases to evaluate how the product handles such situations. Examples include testing extreme inputs, boundary values, or uncommon usage scenarios.
@noorin99, @HishamWattar. @jimaa-maya, mahmoudshahin
-The Product: NetFlix
-Test Objectives: Testing filtering and searching, testing payment.
-Test Planning: functional, testing tools: Jest Framework (Unit testing).
-Test Scenarios: Searching-- (If the input does not exist in the database). Payment--(Check if the default Credit or Debit card gets automatically added).
-Test Cases:
(If the input does not exist in the database):
describe('Search Database', () => {
test('Input does not exist in the database', () => {
// Arrange
const input = 'grape'; // Input that does not exist in the database
});
});
(Check if the default Credit or Debit card gets automatically added):
describe('Payment', () => {
test('Default Credit or Debit card is automatically added', () => {
// Arrange
const paymentDetails = {
amount: 100,
cardNumber: '',
// Other payment details...
};
});
});
Expected results: The results of executing the function under the written conditions should pass the test, indicating that the function behaves correctly.