-
Notifications
You must be signed in to change notification settings - Fork 11
Test Cases
Test Case ID: 1
Test Case Name: Giving freelancer feedback
Description: Testing client giving freelancer feedback after project completion
Related Requirements: 1.1.4.1.1
Designed by: Baran Kılıç
Design date: 1/4/2018
Executed by: -
Execution date: -
Preconditions:
- The user is logged in.
- The user has created a project.
- The user has selected a bidder for the project.
- The freelancer has completed the project.
- The user is on project page.
Step | Action | Test Data | Expected Result | Actual Result | Pass/Fail | Comment |
---|---|---|---|---|---|---|
1 | User clicks "Give feedback" button | Feedback page with rating stars and comment box is shown | ||||
2 | User rates the freelancer for process category | processRate = 4 | 4 star is shown next to the process text | |||
3 | User rates the freelancer for product category | productRate = 5 | 5 star is shown next to the product text | |||
4 | User enters comment | commentText= "Hired again, and would hire again. Very satisfied with his work, professional, communication great, responsive. Excellent to work with. Pleasure to do business with." | ||||
5 | User clicks "Submit feedback" button | Project page is shown | ||||
6 | Check postcondition 1 |
Postconditions:
- The feedback with processRate = 4 , productRate = 5 and commentText= "Hired again, and would hire again. Very satisfied with his work, professional, communication great, responsive. Excellent to work with. Pleasure to do business with." values for freelancer is saved in the database.
Test Case ID: 2
Test Case Name: Giving client feedback
Description: Testing freelancer giving client feedback
Related Requirements: 1.1.4.1.2
Designed by: Baran Kılıç
Design date: 1/4/2018
Executed by: -
Execution date: -
Preconditions:
- The user is logged in.
- The user has bid for a project.
- The user has completed the project.
- The user is on project page.
Step | Action | Test Data | Expected Result | Actual Result | Pass/Fail | Comment |
---|---|---|---|---|---|---|
1 | User clicks "Give feedback" button | Feedback page with rating stars and comment box is shown | ||||
2 | User rates the client for payment category | paymentRate = 5 | 5 star is shown next to the payment text | |||
3 | User clicks "Submit feedback" button | The system shows an error message indicating that rating every category is mandatory and the not rated categories are emphasized with red borders | ||||
4 | User rates the client for communication category | communicationRate = 2 | 2 star is shown next to the communication text | |||
5 | User rates the client for project description category | projDescRate = 3 | 3 star is shown next to the project description text | |||
6 | User leaves the text box for comment empty | |||||
7 | User clicks "Submit feedback" button | Project page is shown | ||||
8 | Check postcondition 1 |
Postconditions:
- The feedback with paymentRate = 5 , communicationRate = 2, projDescRate = 3 and commentText= "" values for client is saved in the database.
Test Case ID: 3
Test Case Name: Create Project
Description: Client creates a project
Related Requirements: 1.1.3.1
Designed by: Ahmet Faruk Çelimli
Design date: 01/04/2018
Executed by: -
Execution date: -
Preconditions:
- The user must be signed in to the system.
- The user must use a client account.
Step | Action | Test Data | Expected Result | Actual Result | Pass/Fail | Comment |
---|---|---|---|---|---|---|
1 | User clicks “Create Project” button | The system opens a new window for client to specify general information about project. | ||||
2 | User sets deadline | 07/07/2018 | The system sets project deadline to 07/07/2018. | |||
3 | User chooses tags from list | Tags = Java-Android-Mobile Programming | The system sets java, android and mobile programming tags to project. | |||
4 | User sets budget range | Budget Range = 100$-200$ | The system sets project budget range to 100$-200$. | |||
5 | User adds project details | Upload "description.pdf" | The system attaches the uploaded pdf file as the description of the project. | |||
6 | User clicks “Submit” button | The system creates the project. | ||||
7 | Check postcondition 1 |
Postconditions:
- A new project whose deadline is 07/07/2018, tags are java, android and mobile programming, budget range is 100$-200$ and details given in a pdf file is created.
Test Case ID: 4
Test Case Name: Send Message
Description: Client sends message to freelancer
Related Requirements: 1.1.3.5
Designed by: Ahmet Faruk Çelimli
Design date: 1/4/2018
Executed by: -
Execution date: -
Preconditions:
- The user must be signed in to the system.
- The user must use a client account.
- The user must choose a freelancer for his/her project.
Step | Action | Test Data | Expected Result | Actual Result | Pass/Fail | Comment |
---|---|---|---|---|---|---|
1 | User clicks "Message" button | The system opens a small new window at the right bottom corner of the screen. | ||||
2 | User types "Hello" | message = "Hello" | The system sets content of textbox to “Hello”. | |||
3 | User clicks "Send" button | The system sends message of client to freelancer. | ||||
4 | Check postcondition 1 |
Postconditions:
- A message whose text is "Hello" has been sent to freelancer.
Test Case ID: 5
Test Case Name: Send Message
Description: Freelancer searching for projects according to some keywords that he or she is interested in.
Related Requirements: 1.1.7.1
Designed by: Kaan Ozgen
Design date: 1/4/2018
Executed by: -
Execution date: -
Preconditions:
- User has to log in
- Any kind of user can use search engine
- There are projects which have been created by some users previously
Step | Action | Test Data | Expected Result | Actual Result | Pass/Fail | Comment |
---|---|---|---|---|---|---|
1 | Freelancer clicks “Search bar” | Bar will enable freelancer to type text in itself and a cursor may also show up | ||||
2 | Freelancer clicks on the keyword box next to the search bar | keyword box is shown with a check mark in it | ||||
3 | Freelancer types some keywords in the search bar and presses enter or clicks “Search” button | Freelancer types “Java Project” into the “search bar” | Search engine filters available projects according to the keywords “Java Project” provided by the freelancer and shows them to freelancer | |||
4 | Check Postcondition 1 |
Postconditions:
- Freelancer sees available projects that include the keywords that (s)he provided.
Test Case ID: 6
Test Case Name: Send Message
Description: Freelancer searching for projects according to some keywords that he or she is interested in that appear in project description
Related Requirements: 1.1.7.2
Designed by: Kaan Ozgen
Design date: 1/4/2018
Executed by: -
Execution date: -
Preconditions:
- User has to log in
- Any kind of user can use search engine
- There are projects which have been created by some users previously
Step | Action | Test Data | Expected Result | Actual Result | Pass/Fail | Comment |
---|---|---|---|---|---|---|
1 | Freelancer clicks “Search bar” | Bar will enable freelancer to type text in itself and a cursor may also show up | ||||
2 | Freelancer clicks on the “description” box next to the search bar | ”description” box is shown with a check mark in it | ||||
3 | Freelancer types some keywords in the search bar and presses enter or clicks “Search” button | Freelancer types “limited experience” and “C++” into the “search bar” | Search engine filters available projects according to the keywords that appear in project descriptions “limited experience,C++” and shows them to freelancer | |||
4 | Check Postcondition 1 |
Postconditions:
- Freelancer sees available projects that include the keywords in the description part that (s)he provided.
Test Case ID: 7
Test Case Name: Post Title Spam Check
Description: System checks given post title to see if it is a spam and suggests better titles depending on other inputs.
Related Requirements: 1.2.1.1
Designed by: Elifnaz Utkan
Design date: 20180401
Executed by: -
Execution date: -
Preconditions:
- Client is logged in
- Client is on post creation page
Step | Action | Test Data | Expected Result | Actual Result | Pass/fail | Comment |
---|---|---|---|---|---|---|
1 | User types in a project title | "I need help" |
input.isSpam = true; |
|||
2 | System uses given category and tag inputs | ["Web Design", "E-Commerce", "Small Business"] |
HTTP 200: OK |
|||
3 | System proposes several suggestions | return ["Need a e-commerce website for my small business", "I want to set up an online store for my small business"] |
||||
3 | System shows a tooltip with returned proposals | "Hey, here're some suggestions for you to better promote your project:" |
Postconditions:
- System shows a pop up with the given suggestions.
Test Case ID: 8
Test Case Name: Report Post
Description: A subroutine to allow registered users to report a posting.
Related Requirements: 1.2.1.3
Designed by: Elifnaz Utkan
Design date: 20180401
Executed by: -
Execution date: -
Preconditions:
- A Client or a Freelancer is logged in.
- The user is viewing the details of a post.
- User scrolls down to the post colophon.
Step | Action | Test Data | Expected Result | Actual Result | Pass/Fail | Comment | |
---|---|---|---|---|---|---|---|
1 | User clicks Report button | POST /project/<id>?report=1 |
A popover appears with prefilled options | ||||
2 | User picks Misleading Info
|
{"action": "report", "reason":"Misleading Info"} |
System shows a toast notification saying "The post has been reported, thank you"
|
Postconditions:
- System adds the post to moderation queue.
Test Case ID: 9
Test Case Name: Post Detail Change Notification
Description: Systems dispatches notifications upon a change in project details.
Related Requirements: 1.2.2.2
Designed by: Abdussamet Kocak
Design date: 20180401
Executed by:
Execution date:
Preconditions:
- A client is logged in and is on edit post page
- The client submits their edits.
Step | Action | Test Data | Expected Result | Actual Result | Pass/Fail | Comment | |
---|---|---|---|---|---|---|---|
1 | User clicks Save button |
{"changes": [{"budget": [100,200]}] |
System accepts the change | ||||
2 | System creates a notification pushes it to clients | <Project Title> details has been changed |
Email and push notifications are dispatched |
Test Case ID: 10
Test Case Name: Post Suspension Subroutine
Description: Systems suspends the posting on a change in its details until the changes are approved
Related Requirements: 1.2.2.3
Designed by: Abdussamet Kocak
Design date: 20180401
Executed by:
Execution date:
Preconditions:
- Client submits a change in post details
Step | Action | Test Data | Expected Result | Actual Result | Pass/Fail | Comment | |
---|---|---|---|---|---|---|---|
1 | Client submits the edit | {"changes": [{"deadline": 1522627200}]} |
System saves the edit | ||||
2 | The status of the post is changed to SUSPENDED
|
The post is added to the moderation queue | |||||
3 | The moderators supervising the post's category are notified | "A change in <Project Title> details needs your approval" |
;;; |
Test Case ID: 11
Test Case Name: Advance payment
Description: Testing client doing advance payment for project
Related Requirements: 1.2.4.1
Designed by: Emin Vergili
Design date: 01/04/2018
Executed by: -
Execution date: -
Preconditions:
- The user is logged in.
- The user has created a project.
- The user has selected a bidder for the project.
- The user and the freelancer agreed upon advance payment amount and conditions.
- The user is on the advance payment page.
Step | Action | Test Data | Expected Result | Actual Result | Pass/Fail | Comment |
---|---|---|---|---|---|---|
1 | User enters advance payment amount | advancePaymentAmount = 50 | ||||
2 | User selects payment currency | paymentCurrency = "₺" | ||||
3 | User selects payment method | paymentMethod = "Credit Card" | The system shows 'Credit Card Info' section | |||
4 | User enters credit card information | cardNum = 1234123412341234, cardOwner = "John Doe", cardExpDate = "06-28" | The system makes 'Finish Payment Button' active if all the fields filled. | |||
5 | User clicks 'Finish Payment Button' | cardDataValid = True | The system checks if the entered info is valid and payment can be performable, if it is so the payment performed. | |||
6 | Check postcondition 1 | |||||
7 | Check postcondition 2 | clientAdvanceConfirm = True, freelancerAdvanceConfirm = True | The system checks if both confirmations are done, if it is so the payment performed. |
Postconditions:
- Advance payment amount has draw from the client account to the system payment pool.
- Advance payment amount has sent to ffreelancer account from the system payment pool.
Test Case ID: 12
Test Case Name: Communicating
Description: A client and a freelancer communicates with each other through message system
Related Requirements: 1.1.6.1
Designed by: Canberk Yıldırım
Design date: 1/4/2018
Executed by: -
Execution date: -
Preconditions:
- The user must be signed in to the system.
- The bid must be accepted on the project.
Step | Action | Test Data | Expected Result | Actual Result | Pass/Fail | Comment |
---|---|---|---|---|---|---|
1 | User clicks "Message" button | The system opens a small new window at the right bottom corner of the screen. | ||||
2 | User types "Hello" | message = "Hello" | The system sets content of textbox to “Hello”. | |||
3 | User clicks "Send" button | The system sends message of client to freelancer or freelancer to client. | ||||
4 | Check postcondition 1 |
Postconditions:
- A message whose text is "Hello" has been sent to freelancer or client.
Test Case ID: 13
Test Case Name: User Account Creation
Description: Users login
Related Requirements: 1.1.1.1
Designed by: Halil Çetiner
Design date: 01/04/2018
Executed by: -
Execution date: -
Preconditions:
- The user should have signed up before.
- The user must have either an email account or a social media account.
Step | Action | Test Data | Expected Result | Actual Result | Pass/Fail | Comment |
---|---|---|---|---|---|---|
1.1 | User clicks to sign in button. | Sign in page opens. | ||||
2.1 | User enters their username/email and password | username:test password:testPas5w0rd | If the credentials pass the authentication test, window redirects to parent page. | |||
2.2.1 | User clicks to 'Login with 3rd party' button | User clicks to 'Login with Facebook' and authorizes our app. | A window opens for user to login via 3rd party and after login a callback function starts with 3rd party API's return params. | |||
2.2.2 | User does nothing, just sees a temporary callback page. | If return params matches any user at our DB, user signs in. If not, a new account will be created. Both way, window redirects to parent page. | ||||
2.2.3 | Check postcondition 1 |
Postconditions:
- There is a user at our DB with current users Facebook info.
Test Case ID: 14
Test Case Name: Forced Signin
Description: Users shall be asked to create an account, or login when they want to commit to creating a project posting
Related Requirements: 1.1.1.2
Designed by: Halil Çetiner
Design date: 01/04/2018
Executed by: -
Execution date: -
Preconditions:
- The user must have either an email account or a social media account.
Step | Action | Test Data | Expected Result | Actual Result | Pass/Fail | Comment |
---|---|---|---|---|---|---|
1 | User clicks to 'Create a project' button | If user has not signed in yet, sign in page opens. | ||||
2.1 | User enters their username/email and password | username:test password:testPas5w0rd | If the credentials pass the authentication test, window redirects to project creation page. | |||
2.2.1 | User clicks to 'Login with 3rd party app' button | A window opens for user to login via 3rd party and after login a callback function starts with 3rd party API's return params. | ||||
2.2.2 | User does nothing, just sees a temporary callback page. | If return params matches any user at our DB, user signs in. If not, a new account will be created. Both way, window redirects to project creation page. | ||||
2.2.3 | Check postcondition 1 |
Postconditions:
- There is a user at our DB with current users Facebook info.
Test Case ID: 15 Test Case Name: Giving freelancer recommendations Description: A freelancer is given project recommendations about his previous projects or skills and interests Related Requirements: 1.2.3.1 Designed by: Yaşar Alim Türkmen Design date: 01.04.2018 Executed by: Execution date:
Preconditions:
- A freelancer is logged in
- He goes to his dashboard page
Step | Action | Test Data | Expected Result | Actual Result | Pass/Fail | Comment | |
---|---|---|---|---|---|---|---|
1 | System shows a list of related projects | {"interests": ["java", "web", "machine learning"], "completedWorks": []} |
{"related": [{"id": 123, "title": "We need a scraper that uses machine learning"}]} |
||||
2 | User clicks a recommendation | HTTP GET: /projects/123-we-need-a-web-scraper/ |
HTTP 200: OK |
Test Case ID: 16
Test Case Name: Giving client recommendations
Description: System recommends some top and rising freelancers to the client
Related Requirements: 1.2.3.2
Designed by: Yaşar Alim Türkmen
Design date: 01.04.2018
Executed by:
Execution date:
Preconditions:
- A client is logged in
- He posts a project and views it
Step | Action | Test Data | Expected Result | Actual Result | Pass/Fail | Comment | |
---|---|---|---|---|---|---|---|
1 | System gets the list of project tags | {"id": 346, "title": "Urgent Project", "tags": ["java", "js", "css"]} |
|||||
2 | System recommends a list of freelancers that might be interested in said project | {"freelancers": [{"id": 20, "name": "Rajud Chanjad", "score": 0.95}]} |
Test Case ID: 17
Test Case Name: Freelancer adds a project to its favorites
Description: Freelancer comes across a project that s/he likes and wants to add it to its favorite list so that s/he can access it later
Related Requirements: 1.1.2.2
Designed by: Barış Can Esmer
Design date: 02/04/2018
Executed by:
Execution date:
Preconditions:
- Freelancer user is logged in
- S/he comes across a project in the website
Step | Action | Test Data | Expected Result | Actual Result | Pass/Fail | Comment |
---|---|---|---|---|---|---|
1 | User clicks on add to favorites button | Project is added to favorites list |
Postconditions:
- Project is added to favorites list
Test Case ID: 18
Test Case Name: Freelancer rates a project
Description: After completing a project, freelancer rates the project
Related Requirements: 1.1.2.5
Designed by: Barış Can Esmer
Design date: 02/04/2018
Executed by:
Execution date:
Preconditions:
- Freelancer is logged in
- Freelancer completed the project
Step | Action | Test Data | Expected Result | Actual Result | Pass/Fail | Comment |
---|---|---|---|---|---|---|
1 | User choose rating between 1-5 | rating = 3 | ||||
2 | User clicks on "save my rating" button | rating is saved |
Postconditions:
- Rating of the project is stored
Test Case ID: 19
Test Case Name: Payment Options
Description: Testing client is able to pay with numerous options (Credit Card for this test)
Related Requirements: 1.2.4.1
Designed by: Emin Vergili
Design date: 01/04/2018
Executed by: -
Execution date: -
Preconditions:
- The user is logged in.
- The user has created a project.
- The user has selected a bidder for the project.
- The user and the freelancer agreed upon advance payment amount and conditions.
- The user is on the payment page.
Step | Action | Test Data | Expected Result | Actual Result | Pass/Fail | Comment |
---|---|---|---|---|---|---|
1 | User enters payment amount | paymentAmount = 500 | ||||
2 | User selects payment currency | paymentCurrency = "$" | ||||
3 | User clicks 'Select Payment Button' | paymentOptions = ["BTC", "HoneyPoint", "Credit Card"] | The system shows a dropdown list that contains "paymentOptions" | |||
4 | User selects payment method | paymentMethod = "Credit Card" | The system shows 'Credit Card Info' section | |||
5 | User enters credit card information | cardNum = 1234123412341234, cardOwner = "John Doe", cardExpDate = "06-28" | The system makes 'Finish Payment Button' active if all the fields filled. | |||
6 | User clicks 'Finish Payment Button' | cardDataValid = True | The system checks if the entered info is valid and payment can be performable, if it is so the payment performed. | |||
7 | Check postcondition 1 | |||||
8 | Check postcondition 2 | clientPaymentConfirm = True, freelancerPaymentConfirm = True | The system checks if both confirmations are done, if it is so the payment performed. |
Postconditions:
- Payment amount has drawn from the client account to the system payment pool.
- Payment amount has sent to freelancer account from the system payment pool.
Test Case ID:
Test Case Name:
Description:
Related Requirements:
Designed by:
Design date:
Executed by:
Execution date:
Preconditions:
- abc
- abc
Step | Action | Test Data | Expected Result | Actual Result | Pass/Fail | Comment |
---|---|---|---|---|---|---|
1 | ||||||
2 | ||||||
3 |
Postconditions:
- abc
- abc
- Requirements
- Personas, User Stories and Acceptance Criteria
- User Scenarios and Mockups
- Class Diagrams
- Sequence Diagrams
- Test Cases
- Annotation Scenarios
- Annotation Research
- API Endpoints
- Manual
- Coding Work
- Milestone Report 1
- Milestone Report 2
- Final Milestone Report