Use Case - Hegberg/Agile_Android_Abstracts GitHub Wiki
Navigation
Things
1 | |
---|---|
Use Case Name | AddItem |
Participating Actors | Owner |
Goal | Owner can add an item with a description to his list of items. |
Trigger | Owner chooses to add an item. |
Precondition | None |
Postcondition | Item is added to Owner's list of items |
Basic Flow | 1. The Owner adds an item. |
2. The Owner inputs a description of the item. | |
3. The Owner can optionally attach an image to the item. | |
Exceptions | 1. The Owner inputs a blank item name. |
1.1 The Systems tells the Owner that they must have a name, and then goes back to the input field. | |
2. The Owner inputs a blank description. | |
2.1. The system tells the Owner that they must have a description, and then goes back to the input field | |
3 The Owner attempts to add an item while Offline. | |
3.1. The system informs the Owner that their item will be added once they regain online connectivity. | |
3.2. When the owner regains connectivity, the system prompts them if they would like to confirm the additions they made when offline. | |
4. The Owner cancels adding an item. | |
4.1 System prompts for confirmation. | |
4.2 System returns Owner to previous screen. | |
5. The Owner adds an image larger than 65536 bytes | |
5.1 The system raises exception and does not upload the image. | |
Test | T1: Add Item Correctness |
T1.1 Fill input with proper values and add item. | |
T1.2 Verify the item is populated in the item list. | |
T2: Cancel adding an item. | |
T2.1 Fill input with proper values but cancel before adding item. | |
T2.2 Verify the item is not populated in the item list. | |
T3: Add item with empty values. | |
T3.1 Fill input with blank values and add item. | |
T3.2 Verify the system handles exception and Owner is given error message. | |
T4: Add Item while offline. | |
T4.1 Fill input with proper values and add item. | |
T4.2 Verify the item is not populated in an online item list. | |
T4.3 When Owner is online, verify prompt is correct. | |
T4.4 When Owner confirms prompt, verify item is populated in item list. | |
T5: Add an image smaller than 65536 bytes. | |
T5.1: Add an image that is smaller than 65536 bytes. | |
T5.2: Verify the image is uploaded. | |
T6: Add an image larger than 65536 bytes. | |
T6.1: Add an image that is larger than 65536 bytes. | |
T6.2: Verify that the Owner is given error message. | |
T6.3: Verify that the image is not uploaded. | |
Include | |
User Story | 01.01.01, 08.01.01, 09.01.01, 09.04.01 |
2 | |
---|---|
Use Case Name | ViewListofItems |
Participating Actors | Owner |
Goal | Owner can view a list of all their items, with descriptions and status'. |
Trigger | Owner clicks to view a list of all his items. |
Precondition | |
Postcondition | Owner sees a list of all his items. |
Basic Flow | 1. The Owner clicks to view all his items. |
2. The system displays a list of all of the Owner's items, with descriptions and status'. | |
Exceptions | |
Test | T1: View List Correctness |
T1.1 Open a predetermined Owner item list. | |
T1.2 Verify that all items are displayed correctly. | |
Include | |
User Story | 01.02.01 |
3 | |
---|---|
Use Case Name | ViewItem |
Participating Actors | Owner, Borrower |
Goal | A User can view a specific item, and its description and status. |
Trigger | User clicks on a specific item to view. |
Precondition | Specific item exists. |
Postcondition | User sees the item, along with its description and status. |
Basic Flow | 1. Owner clicks on a specific item to view. |
2. The system displays the item with its description and status. | |
3. If the item has an image, the image should be displayed. | |
4. If the item is currently being borrowed, and the borrower or owner is viewing the item, show pickup geolocation. | |
Exceptions | |
Test | T1: View Item Correctness Without Image |
T1.1 Open a predetermined item that does not have an attached image. | |
T1.2 Verify that all information is displayed correctly. | |
T2: View Item Correctness With Image | |
T2.1 Open a predetermined item that does have an attached image. | |
T2.2 Verify that all information is displayed correctly. | |
T3: View Item Correctness When Borrowed | |
T3.1: A Borrower views an item that (s)he is borrowing. | |
T3.2: Verify geolocation is displayed and correct. | |
T4.1: A Owner views an item that (s)he is lending. | |
T4.2: Verify geolocation is displayed and correct. | |
T4.1: A User views an item that is not theirs and is currently borrowed but not by them. | |
T3.2: Verify geolocation is not displayed. | |
Include | ViewListofItems |
User Story | 01.03.01, 02.01.01, 09.03.01, 10.02.01 |
4 | |
---|---|
Use Case Name | EditItem |
Participating Actors | Owner |
Goal | Owner can edit an item in his list of items. |
Trigger | Owner clicks edit on one of his items. |
Precondition | Owner has an item to edit. |
Postcondition | The item is updated to match changes. |
Basic Flow | 1. The Owner clicks on an item to edit. |
2. The Owner edits the item. | |
3. The system then shows the item after the current changes. | |
Exceptions | 1. Owner cancels editing an item. |
1.1 System prompts for confirmation. | |
1.2 System returns Owner to previous page without editing values. | |
2. User enters blank value. | |
2.1 System displays error message. | |
2.2 Resume original flow. | |
5. The Owner adds or replaces an image with an image larger than 65536 bytes | |
5.1 The system raises exception and does not upload the image. | |
Test | T1: Edit Item Correctness |
T1.1 Fill input with proper values and edit item. | |
T1.2 Verify the item is edited in the item list. | |
T2: Cancel editing an item. | |
T2.1 Fill input with proper values but cancel before adding item. | |
T2.2 Verify the item is not edited in the item list. | |
T3: Replace item values with empty values. | |
T3.1 Fill input with blank values and edit item. | |
T3.2 Verify the system handles exception and Owner is given error message. | |
T4: Add or replace an image with an image smaller than 65536 bytes. | |
T5.1: Add or replace an image with an image that is smaller than 65536 bytes. | |
T5.2: Verify the image is uploaded. | |
T6: Add or replace an image with an image larger than 65536 bytes. | |
T6.1: Add or replace an image with an image that is larger than 65536 bytes. | |
T6.2: Verify that the Owner is given error message. | |
T6.3: Verify that the image is not uploaded. | |
Include | ViewListofItems, ViewItem |
User Story | 01.04.01, 09.02.01, 09.04.01 |
5 | |
---|---|
Use Case Name | DeleteItem |
Participating Actors | Owner |
Goal | Owner may delete an item from his list of things. |
Trigger | The user clicks to delete one of his items in his list of items. |
Precondition | The user has items. |
Postcondition | The selected item is deleted. |
Basic Flow | 1. The Owner clicks delete on one of his items. |
2. The System gives a confirmation prompt | |
2.1 On Yes, the item is deleted and removed from item list. | |
2.2 On No, the item is not deleted and Owner is returned to previous screen. | |
Exceptions | 1. The current item is currently being borrowed by another user.1.1. The system displays an error message and does not delete the item |
Test | T1: Delete Item Correctness |
T1.1 Delete the item and confirm deletion. | |
T1.2 Verify the item is no longer populated in the item list. | |
T2: Cancel deleting an item. | |
T2.1 Delete item but cancel when prompted to confirm. | |
T2.2 Verify the item is still populated in the item list. | |
T3: Delete item being borrowed by another user. | |
T3.1 Verify Owner is given error message. | |
T3.2 Verify the item is still populated in the item list. | |
Include | ViewListofItems |
User Story | 01.05.01 |
UserProfile
6 | |
---|---|
Use Case Name | Create Profile |
Participating Actors | Owner |
Goal | Owner can create a profile with a unique username and a contact information |
Trigger | Owner creates a profile |
Precondition | Owner does not have a profile |
Postcondition | Owner has a profile |
Basic Flow | 1. The system gives a user the option to create a profile |
2. The user selects to create a profile | |
3. The user enters a unique username and contact information | |
4. The system creates the new profile | |
Exceptions | 1. Inputted username already exists. |
1.1 System display's an error message, returns User to input page without creating user.. | |
2. Contact information inputted not in proper format | |
2.1 System display's an error message, returns User to input page without creating user.. | |
Test | T1: Add User Correctness |
T1.1 Fill input with proper values and add User. | |
T1.2 Verify the User is created. | |
T2: Cancel adding a User. | |
T2.1 Fill input with proper values but cancel before adding User. | |
T2.2 Verify the User is not populated in the item list. | |
T3: Add item with empty values. | |
T3.1 Fill input with blank values and add user. | |
T3.2 Verify the system handles exception and User is given error message. | |
T3.3 Verify User is not added. | |
T4.1 Fill input with improper values and add user. | |
T4.2 Verify the system handles exception and User is given error message. | |
T4.3 Verify User is not added. | |
T5.1 Fill username with a username already added and add user. | |
T5.2 Verify the system handles exception and User is given error message. | |
T5.3 Verify User is not added. | |
Include | |
User Story | 03.01.01 |
7 | |
---|---|
Use Case Name | Edit Profile |
Participating Actors | Owner |
Goal | Owner can edit their contact information |
Trigger | Owner selects Edit Profile in My Profile |
Precondition | Owner has a profile |
Postcondition | Owner has an updated profile |
Basic Flow | 1. The Owner selects the Edit Profile option in My Profile |
2. The Owner changes any of their contact information | |
3. The system updates any changed contact information | |
Exceptions | 2. Contact information inputted not in proper format |
2.1 System display's an error message, returns owner to input page without editing information. | |
Test | T1: Edit User Correctness |
T1.1 Fill contact information with proper values and edit Owner. | |
T1.2 Verify the contact information is edited. | |
T2: Cancel editing a User. | |
T2.1 Fill input with proper values but cancel before editing User. | |
T2.2 Verify the contact information is not edited. | |
T3: Edit item with empty values. | |
T3.1 Fill input with blank values and edit user. | |
T3.2 Verify the system handles exception and User is given error message. | |
T3.3 Verify User is not edited. | |
T4.1 Fill input with improper values and edit user. | |
T4.2 Verify the system handles exception and User is given error message. | |
T4.3 Verify User is not edited. | |
Include | |
User Story | 03.02.01 |
8 | |
---|---|
Use Case Name | Retrieve Profile Information |
Participating Actors | User |
Goal | User can select a Username and retrieve it's Contact Information |
Trigger | User selects a Username |
Precondition | Username visible to select |
Postcondition | None |
Basic Flow | 1. The User selects the Username that they want the Contact Information for |
2. The selected Users Contact Information is displayed | |
Exceptions | |
Test | T1: View Profile Correctness |
T1.1 Open a predetermined User. | |
T1.2 Verify that all information is displayed correctly. | |
Include | |
User Story | 03.03.01 |
###Searching
9 | |
---|---|
Use Case Name | Search |
Participating Actors | User |
Goal | User can search through Non-Borrowed items with keywords, or view all Non-Borrowed items. |
Trigger | User presses button to search |
Precondition | User enters a set of Keywords to search with, or leaves input blank |
Postcondition | User gets list of Non-Borrowed items whose description contains all the keywords. |
Basic Flow | 1. The User enters keywords to search |
2. The User presses the search button | |
3. The system shows list of Non-Borrowed whose description contains all the keywords, or returns all Non-Borrowed items if no keywords entered. | |
Exceptions | |
Tests | 1. Proper keyword case. |
1.1 User fills input with keywords that match non-borrowed and borrowed items. | |
1.2 When searched, verify system only display's non-borrowed items. | |
2. No keyword case. | |
2.1 User searches without inputting keywords. | |
2.2 Verify system display's all non-borrowed items. | |
3. Keyword with no match case. | |
3.1 User searches using keywords that have no match. | |
3.2 Verify no items are displayed. | |
Include | ViewItems |
User Story | 04.01.01, 04.02.01 |
Bidding
10 | |
---|---|
Use Case Name | BidForItem |
Participating Actors | Borrower |
Goal | Borrower bids for an item (dollars per hour) |
Trigger | Borrower chooses the amount to bid (dollars per hour) |
Precondition | Item that is being bid on exists and is available |
Postcondition | A bidding request is sent to the owner, info is saved to past bids in the borrowers profile |
Basic Flow | 1.The borrower sets a bid amount (dollars per hour)2.A notification is sent to the owner3.The owner will either accept or decline |
Exceptions | |
Test | T1: Bid for item Correctness T1.1: Views available bids T1.2: Bids on the available item T1.3: Verify bid has been made and notification has been sent to owner of item. |
User Story | 05.01.01,05.03.01 |
11 | |
---|---|
Use Case Name | PendingBids |
Participating Actors | Borrower |
Goal | List all bids placed |
Trigger | Listing bids that are pending, have not been declined |
Precondition | Borrower has past bids |
Postcondition | On success, the description of past bids are displayed, owner username, and the bid |
Basic Flow | 1. The user clicks button to show all of the bids placed that have not been declined 2.The system shows the borrower all pending bids |
Exception | 1. No previous bids that are pending1.1. The system will display message (No pending bids) and return |
Test | T1: List pending bids CorrectnessT1.1: Populate items to bid onT1.2: Make bids on itemsT1.3: View these bids in pending bids of the bider. |
User Story | 05.02.01 |
12 | |
---|---|
Use Case Name | GetBidNotification |
Participating Actors | Owner |
Goal | Notify the owner of a bid placed |
Trigger | Borrower sets a bid on an item owned by the owner |
Precondition | The bid request exists |
Postcondition | Bid notification is sent to the owner |
Basic Flow | 1. A user places a bid on an item2. The system sends a notification to the owner of that item |
Exceptions | |
Test | T1:Get notification Correctness T1.1: Populate items to bid onT1.2:Make a bid on an itemT1.3: Check if notification sent to owner |
User Story | 05.03.01,05.01.01 |
13 | |
---|---|
Use Case Name | ListItemsBidded |
Participating Actors | Owners |
Goal | Display the items that have bids |
Trigger | Owner has clicked the view bids button |
Precondition | The owner has items with bids |
Postcondition | A list of items and the bid amount is displayed |
Basic Flow | 1.The owner will click the view items button2.The list of items with bids will be displayed |
Exceptions | 1. The owner has no items1.1. The system displays an error message and returns to main screen |
Test | T1: List items bided-Correctness T1.1: Populate list with itemsT1.2: Display the items |
User Story | 05.04.01 |
14 | |
---|---|
Use Case Name | ViewItemBidded |
Participating Actors | Owner |
Goal | View specific item for bid |
Trigger | Owner chooses a specific item from a list of items |
Precondition | The item exists |
Postcondition | The items information is displayed |
Basic Flow | 1. The user clicks on an item that they have put up for a bid2.The system displays the items information |
Include | ListItemsBidded |
Test | T1: View individual item bided - Correctness T1.1: Populate items to bid onT1.2: View list of items to bid onT1.3: Able to view single item in the list with detail |
User Story | 05.05.01 |
15 | |
---|---|
Use Case Name | AcceptBid |
Participating Actors | Owner |
Goal | Accept a bid on items, bid made by the borrower |
Trigger | The owner accepts the bid |
Precondition | The item exists and has a bid placed by a borrower |
Postcondition | The bid is accepted. The status of the item is changed to borrowed. All other bids are declined |
Basic Flow | 1.The user views the item and its bids2.The user is faced with accept or decline bid3.The owner accepts the trade4. The owner inputs a geo location of where to pick up the item5. The system creates the transaction |
Include | ViewItemBidded,DeclineBid, BidForItem |
Test | T1: Accept bid - CorrectnessT1.1: Populate items to bid onT1.2: View items to bid onT1.3: Bid on itemT1.4: Notification sentT1.5: Accept BidT1.6: Status of item is set to borrowedT1.7: All other bids are set to declined |
User Story | 05.06.01, 10.01.01 |
16 | |
---|---|
Use Case Name | DeclineBid . |
Participating Actors | Owner |
Goal | Decline a bid on the owners items proposed by the borrower |
Trigger | The owner declines the bid |
Precondition | The item exists and has a bid placed by a borrower |
Postcondition | The bid is declined |
Basic Flow | 1.The user views the item and its bids 2.The user is faced with accept or decline bid 3.The owner declines the trade 4.The system sends status of bid to borrower |
Include | ViewItemBidded, StatusBid |
Test | T1: Decline bid - CorrectnessT1.1: Populate items to bid onT1.2: View items to bid onT1.3: Bid on itemT1.4: Notification sentT1.5: Decline BidT1.6: Status of item is unchangedT1.7: System sends notification to bider of decline. |
User Story | 05.07.01 |
Borrowed
17 | |
---|---|
Use Case Name | ViewBorrowedItems |
Participating Actors | Borrower |
Goal | View items that borrower has borrowed (Placed a bid on and the owner has accepted) |
Trigger | The borrow chooses to view current items being borrowed |
Precondition | Borrower has items that are borrowed |
Postcondition | Items are displayed |
Basic Flow | 1. The borrower chooses to view the items they are borrowing2. Items are displayed with its description, owner and username |
Exceptions | 1. If the borrower has no items being borrowed 1.1.The system will display a message and return to main menu |
Test | T1: View Borrowed Items - CorrectnessT1.1: Populate items to bid onT1.2: View items to bid onT1.3: Bid on itemT1.4: Notification sentT1.5: Accept BidT1.6: Status of item is set to borrowedT1.7: All other bids are set to declinedT1.8: Borrower views the items borrowed. This item comes up in list |
User Story | 06.01.01 |
18 | |
---|---|
Use Case Name | ViewItemsBorrowed |
Participating Actors | Owner |
Goal | View items that are being borrowed. (Owner has accepted a bid on an item of theirs) |
Trigger | The owner chooses to view items of theirs being borrowed |
Precondition | The owner has items being borrowed |
Postcondition | The items are displayed |
Basic Flow | 1. The owner chooses to display the items they have being borrowed.2. Items are displayed with its description, owner name and username |
Exceptions | 1.If the owner has no items being borrowed 1.1. The system will display a message and return to main menu |
Test | T1: View Items Borrowed - CorrectnessT1.1: Populate items to bid onT1.2: View items to bid onT1.3: Bid on itemT1.4: Notification sentT1.5: Accept BidT1.6: Status of item is set to borrowedT1.7: All other bids are set to declinedT1.8: Owner views the items borrowed. This item comes up in list |
User Story | 06.02.01 |
Returning
19 | |
---|---|
Use Case Name | MakeAvailable |
Participating Actors | Owner |
Goal | The owner can set an item of theirs that is currently being borrowed to be available when returned. |
Trigger | Owner selects a borrowed item of theirs to be available when returned. |
Precondition | Item exists, is currently borrowed, and the Owner owns the item. |
Postcondition | Item will be set to available when it is returned |
Basic Flow | 1. The Owner selects one of his items being borrowed. |
2. The Owner sets the borrowed item to be available when returned. | |
3. When the item is returned, the system sets its status to available. | |
Exceptions | |
Test | T1: Set Item to be available Correctness |
T1.1 Set a borrowed item to be available when returned. | |
T1.2 Verify that when an item is returned, it is immediately set to available. | |
Include | ViewListofItems, ViewItemsBorrowed |
User Story | 07.01.01 |
Blacklist
20 | |
---|---|
Use Case Name | MakeAvailable |
Participating Actors | Owner |
Goal | A user can blacklist another user, and never see any of that user's items until the blacklist is removed. |
Trigger | A user selects another user in the blacklist function. |
Precondition | Item exists, is currently borrowed, and the Owner owns the item. |
Postcondition | |
Basic Flow | 1. The User selects another user to blacklist. |
2. The selected user is now added to the current user's blacklist. | |
3. When the selected user is removed from the blacklist, the current user can now see his items. | |
Exceptions | |
Test | T1: Blacklist Correctness |
T1.1 Select a user and blacklist him. | |
T1.2 Verify that no items of blacklisted user appear in search results. | |
T1.3 Remove the user from blacklist. | |
T1.2 Verify that that the items of the un-blacklisted user appear in search results. | |
Include | Search |
User Story | Wow |