Use Case - Hegberg/Agile_Android_Abstracts GitHub Wiki

Navigation

  1. Things
  2. Status
  3. User Profile
  4. Searching
  5. Bidding
  6. Borrowed
  7. Returning
  8. Blacklist

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