Testing Notes For QA
Testing Notes For QA
Purpose of Project:
The intent of Learn has shifted from being a full blown coaching platform to now acting as a
supplementary material provider in order to remove a conflict of interest with our coaching
clients on the B2B side. In accordance to this, all pages in Learn need to be revamped in order
to convey this intent shift while also building Learn to start creating user profiles, which will be
used across
Project Requirements:
To revamp registration form on Learn to cater to different user groups and retrieve relevant
and usable data.
Create a profile form for the above mentioned user groups to build their profiles to serve
them better on marketing, servicing and overall site experience fronts
Creating two pathways for product access, wherein a user can pay to get access to a
product or they can get access for free by filling in the above mentioned profile form
Making changes on the Learn study dashboard to cater to the coaching products in pipeline
for Careers360
Revamping the UI/UX of all pages on learn to unify it thematically with remaining Careers360
site.
Platforms Supported:
This revamp project is only for the WEB and WAP versions of Learn. Currently App is not in the
purview of the project.
Dashboard Assets:
https://app.zeplin.io/project/5ceb9e9935e83a1d5657a780/screen/6166c590c6a7cf62357df0
e6
https://zpl.io/O0Y9LkP
https://zpl.io/ll7ROpk
https://zpl.io/ykYxMGy
https://app.zeplin.io/project/5cecddc02d86001d8c2a16ca/screen/64be79bc1e20ac6e32b4d9
dc
https://app.zeplin.io/project/5cecddc02d86001d8c2a16ca?
seid=64c0add17943b6227f6db831
Learn Product Detail Page:
https://zpl.io/GExE1L9
https://zpl.io/wq7q7Bd
https://zpl.io/z8JqxQE
The section will be similar to the AI coach section on the JEE dashboard, except there is a
difference in functionality, such as:
https://learn.careers360.com/classroom/knockout-cuet-science/syllabus/cuet
The user will then choose the chapter(s) they want to study and click on Proceed to move to
the concept card screen. Concept Card screen reference URL is as follows:
https://learn.careers360.com/classroom/knockout-cuet-science/conceptcard/sidebar?
test_type=1&chapter_exam_id=5890
We need to add a Concept List button alongside the Next and Previous Concept button. The
logic for Concept List is as follows:
When a user clicks on concept list, then a model will open with the list of concepts in the
selected chapter. In case the user has selected multiple chapters then the Chapter name
will come as a title with the list of concepts for that chapter, then followed by the next
chapter and so on.
concept.chapter_id = chapter.id
Chapter Name: chapter.name
Concept Name: concept.title
Once a user leaches the last concept card of the chapter they have selected, then the
“Next Concept” button will be replaced by “Back to Chapter List” button, that will move the
user back to the chapter selection screen.
The Concept Card Screen will have two screens in the case of CAT and CLAT:
Text
concept.concept_text column will give the content for the concept
Questions
For this, a join between concept, question_solution_concept, tp_question
The following credentials need to be met in order for questions to be shown. All
questions that come as output on these credentials will be shown in the question list of
the campaign
concept.id = question_solution_concept.chapter_concept_id
question_solution_concept.question_id = tp_question.id
tp_question.question_stages = 7
tp_question.question_type = 3
and concept.id = The concept ID which the user is currently on
E-Test
This test will be a randomised test from our question bank i.e this section will not run on exam
groupings.
When user clicks on Chapter wise test, then the user will be taken to the chapter selection
screen.
Here the user can select a single or multiple chapters and proceed. Each chapter test will be of
15 questions, so if the user selected multiple chapters and proceeds then the number of
questions will be 15 from each chapter and total questions will be (15 x No of chapters
selected)
The chapter wise tests should follow the same logic as followed in JEE and NEET chapter wise
mock tests. Tests will be created with the same logic
For Full Mock tests we will be using exam groupings, similar to the CUET dashboard.
The tests in exam grouping will be mapped with the following credentials:
exam_grouping.id = exam_grouping_exam_grouping_tags.examgrouping_id
exam_grouping_exam_grouping_tags.examgroupingtag_id = 4
exam_grouping.id = exam_grouping_sellable_product_group.examgrouping_id
exam_grouping_sellable_product_group.sellableproductgroup_id = ID of product
Test Analysis section:
No functionality changes
Booster
Kadha
Chapter wise questions
Previous Year Question Papers
User Groups:
The above mentioned levels need to be added with fresh IDs in mainsite_level table
Name (users_userprofile.name)
Email (users_userprofile.email)
Mobile Number (users_userprofile.phone_number) and OTP
Current Education Level (users_userprofile.level_id
City you live in (Current Location) (users_userprofile.city_id , users_userprofile.state_id)
School Name user_status.m_school Which School are you Search and Select
currently studying in? Field
Career Goal N/A Do you have any Careers Search and Select
Goal in Mind? Field
(iii) 11th, 12th Grade, 10th Diploma 1st and 2nd year students:
(2) If user
selects “Not
Targeting any
Exam”, then
Education
Stream question
(3) If user
selects multiple
exams, then
Education
stream
question. The
values in the
follow up
question will
only be that list
of ES derived
from the
selected exams.
If any one of the
exam has no
primary domain,
then full list of
ES will come
(4) If user
selects an exam
without a
primary domain,
then Education
Stream question
(vi) UG Graduated
If a user is new on the platform and clicks on register, then the registration form opens. The
user will then proceed with registering by filling in the fields and then submit the form. OTP
screen will be on the same screen and will not be on a separate screen. OTP screen will
come after submission of registration form. Once the user submits on the OTP screen then a
new row will be created in the users_userprofile table.
If a user is registering on the platform and they try registering with an email which already
exists. Then once they submit the form, then a popup will appear which says, “There is an
account already present with mail ID <email>, would you want to log into that account?”.
There will be two options, “Continue” and “Go back to registration form”. If the user clicks on
continue, then the user has to be logged in to the older account after completing Mobile and
Email OTP step. New Registration will not be created in this case. If the user goes back to
the registration form by clicking the second button, then they will have to fill the form afresh
with a new email ID.
If a user is on the registration form and they fill a new email ID with an existing mobile
number, then a new user row will be created, the OTP verification process will verify the
mobile for the new user created, and the mobile number will be unverified on the older user
row where the number is present.
If a user click on “Sign In” on the registration form then the user will be moved to Log in
Screen, where they will have to fill in their Email ID and Mobile Number. Mobile OTP will be
asked and the user will proceed as a logged in user to whichever page they initiated the login
from.
Since Email is always unique as per registrations, If a user puts in a different mobile than
the one that was is in the database against the user’s email, then the mobile number will
be verified via OTP and then an Email OTP will also be sent and the user has to verify that
as well. Only then for that user, the mobile number row will be updated. If the user doesn’t
verify the email along with the mobile verification in this case, then the user row will not
be updated and the user will not be logged in. If both are verified, then the user will be
logged in with the updated mobile number in the user row
If a user fills in an email which doesn’t exist in the sign in section, then the user will be
moved to the registration form with the email and mobile number entries being pre filled.
The user will have to fill in the remaining details as per registration norms and only then
will the user be created.
Other Cases:
If a user registers from the home page of Learn, then there are three instance of user
movement:
If the user is given the exam question and they select only one exam, and that exam has a
product or multiple products, then the user will be moved to:
Product landing page, in case the exam selected has only one product
Product Listing page with the selected exam filter applied, in case there are multiple
products for the same exam
If a user has selected multiple exams then the user will be moved to
Product Listing page with filter applied for those exams which have at least one
product available on the system
Product detail page, in case only one of the selected exams has a product. Product
Listing page if only one of the exams selected has multiple products.
Back to the home page, if none of the exams selected has any products on the system.
If a user selects no exam, then the user will be redirected back to the home page in logged
in state.
In login case, when the user fill the mobile number, then on click of enter or “Send OTP”
button, the OTP field will appear and the cursor will automatically move to the OTP field.
Make sure that “Enter” key usage acts as submit or next in all instances of login.
Validation Texts:
Name Field Left Blank Mandatory Field: Please fill your name
Email Field Left Blank Mandatory Field: Please fill your Email ID
Email Email Domain Not accepted This email domain is not accepted
Email Duplicate Email Filled Account with this email ID already exists
Mobile Field Left Blank Mandatory Field: Please fill your Mobile
Number Number
City you live Field Left Blank Mandatory Field: Please enter the city
in you live in
All other Field Left Blank Mandatory Field: Please enter <Field
Fields Name>
User Flow:
Order Summary and Payment Gateway changes:
The user can land on the order summary page only from the Product Detail Pages.
Also the user can only land on order summary in a logged in state. An anonymous user cannot
directly land on the order summary of any product.
Once a user logs in on the portal and clicks on the “Start your Course”, then the user will land
on the order summary page. Here the user will have two options:
In this option, the user needs to pay to get access to the product,
The user will have the option to apply coupons on here in order to avail a discount. The coupon
name will applied will be check using coupon.name. The discount applied will be derived from
coupon.discount from the same coupon row. The discount in the database ranges between 0
and 1, so the percentage of discount applied will be calculated as (coupon.discount x 100).
This value will be shown on the front end.
The user will also have the option to choose between two payment gateways which are Paytm
and CC avenue
Once the user proceeds from here, they will be directed to the chosen payment gateway.
After payment has been completed, the user will get access to the dashboard for the chosen
product.
The payment access functionality will be same as how it is currently. There are no changes to
this functionality.
When the user selects this option, the user is shown a profile field form. The user cannot
submit this screen till all questions have been answered in this form. The submission button
will be enabled after all questions are answered.
A 100% coupon will be pre applied on this. We will define a specific coupon for this, so that we
can keep track of free accesses through the payment and cart tables.
The profile field forms will be defined based on the registration credentials of the user. (Refer
the registration user groups to check which profile fields will be triggered to which set of users)
Once a user submits all profile fields they will be directed to the dashboard of the product for
which they have enquired.
payment
coupon_id (The 100% coupon that will be an identifier for access for free users)
status = 2
cart
status = 3
user_attribute
product_pipeline = 7
Page Revamps:
Header
H1
Product Tuples
Filters and Sorting
Footer
Header:
The header on Learn will be the same as the new header being used in migrated Careers360
Pages
H1:
Product Tuple:
Product Icon
sellable_product_group.icon
Product Name
sellable_product_group.name
Product Feature set
sellable_product_group.id = sellable_product_group_feature.sellable_product_group_id
sellable_product_group_feature.feature_id = feature.id
feature.feature_set_id = feature_set.id
Fetch name of feature set from feature_set.name
Product Slashed Price
sellable_product_group.strike_amount
Product Price
sellable_product_group.amount
“Know More” button
The user will be taken to detail page of the product
concat(“learn.careers360.com/” , sellable_product_group.slug)
“Start your Course“ button
The user will be taken to order summary page of the product
Sorting:
There will be two types of sorting, Sort by Price ascending and descending.
By default the sorting will be Price Ascending with free products always coming after the
paid products i.e spg.amount = 0 will come .
The titles for these sorting options will be “Price Lowest to Highest” and “Price Highest to
Lowest”
The title of the sorting box will be “Sort by”
To check for the price of the products, refer sellable_product_group.amount
Filters
The filters are as follows:
Stream
sellable_product_group.exam_parent_id = exam_parent.id
exam_parent.stream_id = stream.id
stream.name for Name of Stream
Distinct streams to be shown
Exams
sellable_product_group.exam_parent_id = exam_parent.id
Fetch name of exams from exam_parent.short_name
If short name is not present, then fetch name from exam_parent.name
Level
sellable_product_group.level_id = mainsite_level.id
mainsite_level.name will give you name of level
Footer
SEO Format:
URL Filter Applied H1
Same as row 1 URL with query params Stream (1 Stream List of <Stream Name>
Filter Applied) Preparation Products
Same as row 1 URL with query params Stream (Multiple List of Preparation
Stream selected) Products
Same as row 1 URL with query params Exam (1 Exam List of <Exam Name>
Selected) Preparation Products
Same as row 1 URL with query params Exam (Multiple List of Preparation
Exams selected) Products
Same as row 1 URL with query params Level (1 Level List of Preparation
Selected) Products for <Education
Level Name>
Same as row 1 URL with query params Level (Multiple List of Preparation
Levels selected) Products
Header, Footer
Banner
Enquiry Form/ Primary CTA
Feature Set and Features
Courses by Careers360 (Exam Tuple)
FAQ section
Same header and footer from migrated Careers360 pages to be used on Learn
Banner:
We will reuse the banner functionality from landing page creation panel from CMS.
We will be embedding explainer videos for each product landing page, along with the Title of
the Product
Below the title of the product there will be 3 sections within the banner area (Refer the design).
These are:
Each Feature set tagged to the product will have the respective feature list below it. Refer the
wireframe to get idea of how this section will be presented
sellable_product_group.id = sellable_product_group_feature.sellable_product_group_id
sellable_product_group_feature.feature_id = feature.id
feature.feature_set_id = feature_set.id
Fetch name of feature set from feature_set.name
feature.feature_set_id = feature_set.id
feature.name
Exam Parent of all active products on Learn will be shown in a carousel format
Exam Logo
exam_parent.logo
Exam Name
exam_parent.name
Number of products tagged to the Exam
exam_parent.id = sellable_product_group.exam_parent_id
count(sellable_product_group.id)
When a user clicks on any of the exams, then the following use cases need to be handled:
If the exam selected has only 1 active product, then the user will be taken to the detail page
of that product
If the exam selected has multiple products, then the user will be taken to the product listing
page with the selected exam as a filter in query parameter.
FAQ section
No change in functionality. FAQ section in landing page creation panel of CMS will be used for
this.
Learn Admin Changes:
Multiple level tagging for parent exam:
The ability to map multiple education levels to a parent exam. In order to do this a new
mapping table needs to be created between parent exam and education level.
In order to not disturb the column for level_id in parent_exam table, we can have the first entry
of level be also added to level_id column in parent_exam, but the same entry should also be
part of the mapping table so that all future references point to that table .