# **Answer Question Fabelio** ===================================================== ### 1. Create any possible test case for refrigerator! **Usability & Design** When I buy the Refrigerator, I should be able to check usability and design. ``` * Verify if the weight of the appliance is as per the specification. * Check if the design of the appliance is as per the specification. * Check if the interior of the appliance is easy to clean. * Check if the doors are easy to open. * Check if the fiber and rubber material is durable. * Verify the hinges of the door. * Check the texture and durability of the color. ``` **Installation** And I should be able to get to install the appliance. ``` * Check if the Refrigerator gets turned on or not after plugging in the appliance. * Check if the installation instructions are listed into manual. * Check if the power plugs connect the power to appliance. * Check if the light is turned on after connecting appliance. * Check if the durable material is used for the appliance. * Check if the refrigerator requires any initial setup for proper functionality. * Check if the power plug of the Refrigerator is as per the countries electricity standards. ``` **Functionality** And I should be able to ensure all the funcionality is works. ``` * Verify the setting of the Refrigerator as per the manual. * Check the cooling of the each setting. * Check the frosting works as per the setting. * Check if the door turns on light when opened. * Check if the door turns off light when closed. * Check if the temperature can be adjusted with the knob or the LCD display inside. * Verify the condensation feature of the Refrigerator. * Check if there are specific settings for the vegetables and other specific type of food. ``` **Performance** And I should be able to ensure the performance. ``` * Check if the appliance can handle the voltage variation. * Check at what voltage level fridge stops functioning. * Keep fridge open and verify how the fluctuation in cooling works inside. * Check if there are any voltage fluctuations when the door is open. ``` ### 2. Mention any elements that should be present on a Register and Login page and its functionality! Login page ``` 1.field Username 2.field password 3.Button submit 4.element for redirect link to forgot password 5.element for redirect to register ``` Register page ``` 1.field first name 2.field last name 3.field username 4.field date of birth 5. field email 6. field phone number 7.check box term of use 8.field password 9.Button submit ``` ### 3. Create any possible test case for Register and Login page! **Registration** ``` 1. Verify that the Registration form contains Username, First Name, Last Name, Password, Confirm Password, Email Id, Phone number, Date of birth, Gender, Location, Terms of use, Submit, Login (If you already have an account) 2. Verify that tab functionality is working properly or not 3. Verify that Enter/Tab key works as a substitute for the Submit button 4. Verify that all the fields such as Username, First Name, Last Name, Password and other fields have a valid placeholder 5. Verify that the labels float upward when the text field is in focus or filled (In case of floating label) 6. Verify that all the required/mandatory fields are marked with * against the field 7. Verify that clicking on submit button after entering all the mandatory fields, submits the data to the server 8. Verify that system generates a validation message when clicking on submit button without filling all the mandatory fields. 9. Verify that entering blank spaces on mandatory fields lead to validation error 10. Verify that clicking on submit button by leaving optional fields, submits the data to the server without any validation error 11. Verify that case sensitivity of Username (lower - uper case) 12. Verify that system generates a validation message when entering existing username 13. Verify that the character limit in all the fields (mainly username and password) based on business requirement 14. Verify that the username validation as per business requirement (in some application, username should not allow numeric and special characters) 15. Verify that the validation of all the fields are as per business requirement 16. Verify that the date of birth field should not allow the dates greater than current date (some applications have age limit of 18 in that case you have to validate whether the age is greater than or equal to 18 or not) 17. Verify that the validation of email field by entering incorrect email id 18. Verify that the validation of numeric fields by entering alphabets and characters 19. Verify that leading and trailing spaces are trimmed after clicking on submit button 20. Verify that the “terms and conditions” checkbox is unselected by default (depends on business logic, it may be selected or unselected) 21. Verify that the validation message is displayed when clicking on submit button without selecting “terms and conditions” checkbox 22. Verify that the password is in encrypted form when entered 23. Verify whether the password and confirm password are same or not ``` **Login** ``` 1.Verify if a user will be able to login with a valid username and valid password. 2.Verify if a user cannot login with a valid username and an invalid password. 3.Verify the login page for both, when the field is blank and Submit button is clicked. 4.Verify the ‘Forgot Password’ functionality. 5.Verify the messages for invalid login. 6.Verify the ‘Remember Me’ functionality. 7.Verify if the data in password field is either visible as asterisk or bullet signs. 8.Verify if a user is able to login with a new password only after he/she has changed the password. 9.Verify if the login page allows to log in simultaneously with different credentials in a different browser. 10. Verify if the ‘Enter’ key of the keyboard is working correctly on the login page. 11.Verify the time taken to log in with a valid username and password. 12.Verify if the font, text color, and color coding of the Login page is as per the standard. 13.Verify if there is a ‘Cancel’ button available to erase the entered text. 14.Verify the login page and all its controls in different browsers 15.Verify if a user cannot enter the characters more than the specified range in each field (Username and Password). 16.Verify if a user cannot enter the characters more than the specified range in each field (Username and Password). 17.Verify the login page by pressing ‘Back button’ of the browser. It should not allow you to enter into the system once you log out. 18.Verify the timeout functionality of the login session. 19.Verify if a user should not be allowed to log in with different credentials from the same browser at the same time. 20.Verify if a user should be able to login with the same credentials in different browsers at the same time. 21.Verify the Login page against SQL injection attack. 22.Verify the implementation of SSL certificate. ``` ### 4. Mention any possible front-end and back-end issue on Register and Loading page! ``` 1 - Wrong login/password. 2 - Cookies are disabled in the Web browser. 3 - The login/password are correct but the User is already logged in the system. ``` ### 5. For Register and Login feature, mention any security issue that might be occur! (API) ``` 1. Ownership token 2. Sql injection from param 3. validation token when log in using google ``` ### 6. Given a URL http://httpbin.org Create a CRUD request for given URL and assert the response. You may use any API tools or create by your own (GHERKIN/BDD-AUTOMATION). ``` Link : https://github.com/gitameditha/atapiFbl ``` ### 7. Create scenarios with Gherkin for qa.fabelio.com (at least 2 scenarios). ```gherkin Scenario: As user I should be able to add to cart Given I go to web qa.fabelio.com When I search SKU And I click the suggestion Then I redirect to result page When i click SKU And I click SKU Then redirect to product detail page When I click button "tambah ke trolli" Then notification "lanjut ke checkout shown" ``` ```gherkin Scenario: As user I should be able to see my cart Given I go to web qa.fabelio.com When I click trolli icon Then form trolli shown include list of sku ``` ### 8. Given two arrays of int A = [1, 2, 3, 4, 5] and int B = [1, 3, 5, 7, 9], create a function where its output should be [1, 3]. Given your scenarios defined above, use any automation tool or software that will cover automation testing in BDD as well as a documentation how to run it (OOP). ``` import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class CheckArray{ public static void main(String []args){ int[] intArray = {1, 2, 3, 4, 5}; int[] intArray2 = {1, 3, 5, 7, 9}; ArrayList<Integer> intFoundMatch = new ArrayList<Integer>(); Integer length; int lengthIntArray; int lengthIntArray2; boolean checkBoolean; lengthIntArray = intArray.length; lengthIntArray2 = intArray2.length; Arrays.sort(intArray); Arrays.sort(intArray2); for (int i=0; i<intArray.length; i++) { for (int j=0; i<intArray2.length; i++) { int arraySize = intFoundMatch.size(); if (arraySize == 2) { break; } checkBoolean = check(intArray2, intArray[i]); if (checkBoolean == true) { intFoundMatch.add(intArray[i]); }; checkBoolean = false; } } System.out.println(intFoundMatch); } private static boolean check(int[] arr, int toCheckValue) { // binary search boolean test = false; for (int element : arr) { if (element == toCheckValue) { test = true; break; } } return test; } } ``` ### 9. Given URL qa.fabelio.com. Please create automation script based on scenario defined bellow using Cypress.io. ``` Link : https://github.com/gitameditha/AutomationTestDynamicCSV ```