Functional testing of Signup functionality in any software application

1. First of all go through the Database Design Document to understand the application from the database perspective. You should know which of the fields are mandatory for the user inputs in the Signup page, you also need to know the details such as what type of text is allowed in the textbox?, What is the minimum number of characters that needs to be input in the textbox?, What is the maximum number of characters that are allowed in the textbox? And so on.
2. Now when you have got enough information about the Signup functionality then you could proceed with the functional testing of this page.
3. Try different inputs in the first name textbox and see how the application is behaving:
a. Suppose “First Name” field is mandatory and minimum 2 characters has to be entered in the first name textbox then the tester should test based on the following combinations:
i. Positive test case: Enter a proper first name in the first name textbox and enter all the other mandatory fields as per the database design document and see if you are able to Signup successfully.
ii. First negative test case: This time you enter just 1 character in the first name textbox when the requirement is that user has to input minimum of 2 characters for a successful Signup, enter all the other mandatory fields as per the database design document and see how the application responds? Do you get proper error message stating that “Enter the first name with at least 2 characters”.
iii. Second negative test case: This time you enter 50 characters in the first name textbox when the requirement is that user is allowed to input maximum of 30 characters for a successful Signup, enter all the other mandatory fields as per the database design document and see how the application responds? Do you get proper error message stating that “Enter the first name with maximum 30 characters”.
iv. Third negative test case: This time you enter numbers in the first name textbox instead of Alphabets when the requirement is that user is allowed to input just the Alphabets for a successful Signup, enter all the other mandatory fields as per the database design document and see how the application responds? Do you get proper error message stating that “Numbers are not allowed in the first name, please enter a proper first name”.
v. Fourth negative test case: This time you enter special characters such as @, $ etc. in the first name textbox instead of Alphabets when the requirement is that user is allowed to input just the Alphabets for a successful Signup, enter all the other mandatory fields as per the database design document and see how the application responds? Do you get proper error message stating that “Special characters are not allowed in the first name, please enter a proper first name”.
b. Similar to the functional testing of the first name textbox, perform functional testing of the surname textbox by applying the positive test cases and the negative test cases and see how the application is behaving.
c. To test the functionality of the third textbox for entering mobile number or email address, use the same technique used to test the prior 2 textboxes for first name and surname. Suppose this field is mandatory and minimum 9 digits have to be entered as a mobile number then you could perform the following test cases for this input field:
i. First positive test case: Enter a proper mobile number and enter all the other mandatory fields as per the database design document and see if you are able to Signup successfully.
ii. Second positive test case: Enter a proper email address and enter all the other mandatory fields as per the database design document and see if you are able to Signup successfully.
iii. First negative test case: Enter an incorrect mobile number like a mobile number with just 8 digits when the requirement is that user has to input a mobile number containing at least 9 digits, enter all the other mandatory fields as per the database design document and see how the application responds? Do you get an error message stating that “Please enter correct mobile number”.
iv. Second negative test case: This time enter an incorrect mobile number like a mobile number with just 20 digits when the requirement is that user is allowed to input a mobile number containing maximum 12 digits, enter all the other mandatory fields as per the database design document and see how the application responds? Do you get an error message stating that “Please enter correct mobile number”.
v. Third negative test case: Enter an incorrect email address like an email address without @ character in it when the requirement is that user has to input an email address with @character in it, enter all the other mandatory fields as per the database design document and see how the application responds? Do you get an error message stating that “Please enter correct email address”.
vi. Fourth negative test case: Enter an incorrect email address like an email address with @ character but having just 3 characters in it when the requirement is that user has to input an email address with at least 5 characters including @ character, enter all the other mandatory fields as per the database design document and see how the application responds? Do you get an error message stating that “Please enter correct email address”.
vii. Fifth negative test case: Enter an incorrect email address like an email address with @ character but having 50 characters in it when the requirement is that user is allowed to input an email address with maximum 30 characters including @ character, enter all the other mandatory fields as per the database design document and see how the application responds? Do you get an error message stating that “Please enter correct email address”.
d. To test the functionality of the fourth textbox for entering password, use the same testing technique used in testing of other textboxes as explained previously:
i. Positive test case: Enter the password that meets the requirement defined in database design document, enter all the other mandatory fields properly and see if you are able to successfully signup.
ii. First negative test case: Enter a very short password that do not meet the requirement of minimum characters required in the password as defined in database design document, enter all the other mandatory fields properly and see if proper error message is displayed like “Enter the password with minimum 8 characters and maximum 20 characters including at least 1 digit, 1 capital letter and 1 special character.”
iii. Second negative test case: Enter a very long password that do not meet the requirement of maximum characters allowed in the password as defined in database design document, enter all the other mandatory fields properly and see if proper error message is displayed like “Enter the password with minimum 8 characters and maximum 20 characters including at least 1 digit, 1 capital letter and 1 special character.”
iv. Third negative test case: Enter the password that contains the proper number of characters allowed with 1 character in Capital letter, 1 special character but do not contain a digit in it hence do not meet the requirement of text allowed in password textbox as defined in database design document, enter all the other mandatory fields properly and see if proper error message is displayed like “The password should contain at least one digit.”
v. Fourth negative test case: Enter the password that contains the proper number of characters allowed with 1 digit, 1 special character but do not contain a Capital letter in it hence do not meet the requirement of text allowed in password textbox as defined in database design document, enter all the other mandatory fields properly and see if proper error message is displayed like “Password should contain at least one capital letter.”
vi. Fifth negative test case: Enter the password that contains the proper number of characters allowed with 1 character in capital letter, 1 digit but do not contain a special character in it hence do not meet the requirement of text allowed in password as defined in database design document, enter all the other mandatory fields properly and see if proper error message is displayed like “Password should contain at least one special character.”
e. To test “Date of Birth” field, you could try the following test cases:
i. Positive test case: Select a proper date of birth as per the criteria defined in the database design document, enter all the other mandatory fields properly and see if you are able to successfully signup.
ii. First negative test case: Suppose the requirement states that only 18 years old people are allowed to sign up then you try entering any date of birth which is younger than 18 years and see if you are getting proper error message stating that “Only those people who are older than 18 years are allowed to sign up.”
iii. Second negative test case: Suppose the requirement states that users older than 100 years are not allowed to sign up then you try entering any date of birth which is older than 100 years and see if you are getting proper error message stating that “Only those people who are older than 100 years are not allowed to sign up.”
iv. Third negative test case: Try date of birth later than current date and see how the application behaves.
v. Fourth negative test case: Try date of birth as 29th February for an year in which February month had only 28 days and see how the application behaves.
f. To test the Gender radio button functionality you could try the following test cases:
i. First positive test case: Select “Female” as gender, enter all the other mandatory fields and see if you are able to sign up successfully.
ii. Second positive test case: Select “Male” as gender, enter all the other mandatory fields and see if you are able to sign up successfully.
iii. Third positive test case: Select “Custom” as gender, select the first noun from the list, enter all the other mandatory fields and see if you are able to sign up successfully.
iv. Fourth positive test case: Select “Custom” as gender, select the second noun from the list, enter all the other mandatory fields and see if you are able to sign up successfully.
v. Fifth positive test case: Select “Custom” as gender, select the third noun from the list, enter all the other mandatory fields and see if you are able to sign up successfully.
You could also look for spelling mistakes on entire Signup page and whether the text gets displayed properly when you hover your mouse over the (?) symbol associated with Date of Birth and Gender fields.
You also need to test whether “Terms”, “Data Policy” and “Cookie Policy” links are working fine or not.
The above concept could apply to sign up functionality in any software application no matter the application belongs to which domain (like Finance, Insurance, and Healthcare etc.) or the application is coded in which language (like Java, C#, Python etc.)