SDA SE Wiki

Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering

User Tools

Site Tools


Acceptance Tests

Story 4: Web Service Documentation

Test Case

Story: Developer wants to see what web services are available for the YouAnt project and how to use them. The documentation includes all callable web services and for each web service it includes:

  • Web service specific tag: WS callable
  • Short functional description and use
  • List of required parameters in bold and afterward optional parameters in italics.
  • Example call

The documentation will be generated with rDoc and all web service actions (controller methods) will be documented in the rDoc style (before each method). Example: <code ruby> # _WS callable_ # Gets a trail object. If it is not the curent user's trail, # than the trail must be public or the user a super admin. # # [parameters] *id* - the trail id # # Example: GET /trails/<trail_id>.xml

def show(…) … end </Code>

For testing example a developer could use curl. Most of the web services require authorization (logged in user) and to bypass this requirement for testing examples one should add the following parameter: <code bash> _security_token=22723bbd4217a0abf6d3e68073c7603d # md5 hash of 'agile; </Code> Generic call with curl: <code bash> curl -d “param1=value1&param2=value2” http://youant.net/<method_name> </Code> Some example calls for the trails web service actions: <code bash> curl -d “_security_token=22723bbd4217a0abf6d3e68073c7603d&_method=GET&user_id=2” http://v-10130.intertech.de/youant/trails/36.xml curl -d “_security_token=22723bbd4217a0abf6d3e68073c7603d&_method=POST&user_id=2” http://v-10130.intertech.de/youant/trails/create_new.json curl -d “_security_token=22723bbd4217a0abf6d3e68073c7603d&_method=PUT&user_id=2&id=1” http://v-10130.intertech.de/youant/trails/stop.json curl -d “_security_token=22723bbd4217a0abf6d3e68073c7603d&_method=DELETE&user_id=2” http://v-10130.intertech.de/youant/trails/3.xml </Code>

Story 8: Message dropping in SLT

Test Case 1

Story: User starts a trail in SLT. While trail is active, he pushes a button for dropping a message. A new page appears, allowing him to insert the Title of message and the body of it. After filling these fields, he presses the Add button on the same page. A message will be created, having besides the title and body also the coordinates of the last location on the trail.

Expected Output: Confirmation that message was dropped correctly.

Test Case 2

Story: A developer wants to use a Web service interface to drop a message. Before, he started a new trail and submitted at least on valid location. The Web service call includes the parameters title, message, and trail_id. A message will be created, having besides the title and body also the coordinates of the last location on the trail.

Story 9: Twitter Push

Test Case 1

Story: When a user starts a trail in the application, he will be able to drop a message somewhere.The user has no/has a Twitter account and did not enter his credentials into Youant. While dropping a message the user will not be able to push his message to Twitter, because the checkbox is not visible to him.

Expected Output: Message dropped.

Test Case 2

Story:When a user starts a trail in the application, he will be able to drop a message somewhere. The user has a Twitter account and he entered his credentials into Youant. While dropping a message the user will see a checkbox, which is checked by default.This time the user decides to unchecks the option and the message is only dropped and not pushed.The user receives no verification.

Expected Output: Message dropped

Test Case 3

Story:When a user starts a trail in the application, he will be able to drop a message somewhere. The user has a Twitter account and he entered his credentials into Youant. While dropping a message the user will see a checkbox, which is checked by default.This time the user decides to leave the option as is and the message is dropped and pushed to Twitter,the user receives some sort of verification about this.

Expected Output: Message dropped & pushed to Twitter.

Story 10: Geonamed trails

Test Case 1

Story: When user presses Start tracking in the application, Tracking of a new trail starts. Supposing that the user is located in Bonn the name of the trail would be “Bonn to ???”. After stopping the trail, if user did not change name manually and supposing the user is located now in Cologne, then the name of the trail should be Bonn to Cologne.

Expected Output: Bonn to Cologne

Test Case 2

Story: When user presses Start tracking in the application, Tracking of a new trail starts. The name of the trail is display on the page. After stopping the trail, if user did not change name manually and supposing the user is located still in Bonn, then the name of the trail should be “Bonn to Bonn”.

Expected Output: Bonn to Bonn

Test Case 3

Story: User presses start tracking in the application and Tracking of new trail starts. User edits the trail's name and stops the Tracking by pressing the Stop tracking button once he reaches the destination. The Trail's name should not be automatically modified and remain as the user set it.

Expect output: the name of the trail the user set

Story 12: Geoname in message details.

Test Case 1

Story: When the user sends/drops a message in Youant the details of this message become accessible in message/<message_id>.

Expected Output: Geoname of message location in overview.

Test Case 2

Story: When the user sends/drops a message in Youant the details of all messages become available in /messages.

Expected Output: Geoname of all messages in their overview.

Story 13: Link to Youant from Twitter.

Test Case 1

Story: When the user sends/drops a message in Youant a link to the message id will be included in the body of the message.

Expected Output: In Twitter the user will see the messages he sent/dropped from Youant. In the body of those messages there will be a link pointing back to Youant including the message id.

Story 14: Message dropping in MLT

Test Case 1

Story: User starts a trail in MLT. While the trail is active, he pushes a button to drop a message. A new page appears, allowing him to insert the title of the message and the body of it. After filling these fields, he presses the drop button on the same page. A message will be created, having besides the title and body also the coordinates of the last location on the trail(and geoname of the location if its implemented yet).

Expected Output: Confirmation that message was dropped correctly.

Test Case 2

Story: A developer wants to use a Web service interface to drop a message. Before, he started a new trail and submitted at least on valid location. The Web service call includes the parameters title, message, and trail_id. A message will be created, having besides the title and body also the coordinates of the last location on the trail.

Story 16: Create the Paperchase Project

Test Case 1

Story: User wants to have a new game and for that we have to create a new ruby on rails project named as Paperchase.

Expected Output: Project has been created.

Test Case 2

Story: Other developers also have to work on this Paperchase project so there should be a common repository.So they want project in SVN so that they all can access.

Expected Output: Project has been added into the SVN.

Story 15: Collect messages

Test Case 1

Story: An user belonging to group <Group1> starts a trail. He drops a message with title <Title> and content <Content> at a certain location.

Another user belonging to the group <Group1> starts a trail. While the trail is active, he walks around a certain area. When being at a distance less than 15m to the location of the previously dropped message, a pop up appears on his screen: “<Title>\n\n<Content>” and an OK button. The user presses OK.

Expected Output: The message is automatically collected in the MessageBox.

Test Case 2

Story: An user belonging to group <Group1> starts a trail. He drops a message with title <Title> and content <Content> at a certain location. Additionally, he can stop the trail.

Another user belonging to the group <Group1> starts a trail. While the trail is active, he walks around a certain area. When being at a distance less than 15m to the location of the previously dropped message, a pop up appears on his screen: “<Title>\n\n<Content>” and an OK button. The user presses OK.

Expected Output: The message is automatically collected in the MessageBox.

Test Case 3

Story: An user starts a trail and modifies it as being public. He drops a message with title <Title> and content <Content> at a certain location.

Another user starts a trail. While the trail is active, he walks around a certain area. When being at a distance less than 15m to the location of the previously dropped message, a pop up appears on his screen: “<Title>\n\n<Content>” and an OK button. The user presses OK.

Expected Output: The message is automatically collected in the MessageBox.

Test Case 4

Story: An user starts a trail and modifies it as being public. He drops a message with title <Title1> and content <Content1> at a certain location. Then, he drops a second message with title <Title2> and content <Content2> at almost the same location.

Another user starts a trail. While the trail is active, he walks around a certain area. When being at a distance less than 15m to the location of the two dropped messages, a pop up appears on his screen: “<Title1>\n\n<Content1>” and an OK button. The user presses OK. Then, a second pop up appears on his screen: “<Title2>\n\n<Content2>” and an OK button. The user presses OK.

Expected Output: The two messages are automatically collected in the MessageBox.

Test Case 5

Story: An user starts a trail and modifies it as being public. He drops a message with title <Title> and content <Content> at a certain location.

Another user starts a trail. While the trail is active, he walks around a certain area. When being at a distance less than 15m to the location of the two dropped messages, a pop up appears on his screen: “<Title>\n\n<Content>” and an OK button. The user sees the pop up only after some time.

Expected Output: The message is automatically collected in the MessageBox.

Story 27: Create CollectedMessages model

Test Case 1

Story: As a developer, I want to be able to flag Messages as being “collected”, so that I can add more attributes to this. Check for Attributes: hidden(not) → boolean ? , Check for Foreign key in DB table “CollectedMessages”

Story 28: Paperchase user authentication

Test Case 1

Story: User wants to log-in into Paperchase. User type his/her credentials and clicks on the submit button. If the credentials are correct, the user will log-in.

Expected Output: The game-page will be displayed.

Test Case 2

Story: User wants to log-in into Paperchase. User type his/her credentials and clicks on the submit button. If the credentials are not correct, the user will not log-in.

Expected Output: The log-in page will be displayed again, with the error message Your credentials are wrong! .

Test Case 3

Story: If the user doesn't have an account, he can click on the register link in order to create an account. On the account page he can enter his/her credentials and click on a submit button. If the account is created successfully, the user will get back to the login page.

Expected Output: The log-in page will be displayed again, with the message Your account was created successfully! .

Test Case 4

Story: If the user doesn't have an account, he can click on the register link in order to create an account. On the account page he can enter his/her credentials and click on a submit button. If the account isn't created successfully, the user will stay on the registration page.

Expected Output: The registration page is still displayed, with an error message.

Story 17: Start game page

Test Case 1

Story: User first log-in to the Paperchase and get forwarded to the paperchase game index page with list of co-located users(all the users with in the 15m range)

Expected Output: All the co-located users should be displayed on the game index-page

Test Case 2

Story: User first log-in to the Paperchase and get forwarded to the paperchase game index page with no co-located users(because no users are present with in the 15m range)

Expected Output: No co-located users should be displayed on the game index-page

Test Case 3

Story: User first log-in to the Paperchase and then the user get forwarded to the paperchase game index page which contains START button

Expected Output: Start Button should be available on the game index-page

Test Case 4

Story: when user press the start button on the game index page ,game will be started and user gets to the paperchase game Main screen (S19 story)

Expected Output: paperchase game main screen should displayed

Test Case 5

Story: User first log-in to the Paperchase and then the user get forwarded to the paperchase game index page with no co-located users and when pressing the START button it should show an alert “Game cannot be played alone”

Expected Output: The alert should be displayed saying “game cannot be played alone”.

Story 18: User Positioning in paperchase

Test Case 1

Story: As a paperchase user, I want to send my location to the sever after i start the game.

Expected Output: User sees his location on the map “.

Test Case 2

Story: As a paperchase user, I want to use other location based services after i start the game.

Expected Output:E.g User can see co-located users and messages ”.

Story 19: Paperchase game main screen

Test Case 1

Story: As a paperchase haunted user, after I start game, I want a map and 4 buttons(stop game,drop message,inbox/outbox) on the main screen.

Expected Output: User sees a map and 4 buttons(stop game,drop message,inbox/outbox) on the main screen.

Test Case 2

Story: As a paperchase chaser, after I accept to play with haunted person, I want a map and 4 buttons(stop game,drop message,inbox/outbox) on the main screen.

Expected Output: Chaser can see a map and 4 buttons(stop game,drop message,inbox/outbox) on the main screen.

Story 20: Own Position Rendering on the game main screen

Test Case 1

Story: As a paperchase user, I want to see my position on the main screen(map), after I start the game.

Expected Output: User sees his own position on the map ,marked with a red dot.

Story 24: Drop message button(functionality)

Test Case 1

Story: As a paperchase user, I want to drop a message during the game. Therefore i want to push the drop message button on the main screen of the game. After this a message detail page pops up, where i can enter a title and the content. After clicking the submit button, the message will be dropped.

Expected Output: User sees an alert, which says that the message was dropped.

Test Case 2

Story: As a paperchase user, I want to know if a message isn't dropped properly at my current location during the game.

Expected Output: User sees an alert, that the message wasn't dropped properly.

Story 21: Message Rendering

Test Case 1

Story: As a paperchase user, I want to see only the messages(on the map) that belongs to my game(my trail group) .

Expected Output: User sees only the game message markers on the map.

Test Case 2

Story: As a paperchase user, I don't want to see the messages(on the map) of other games(other trail groups).

Expected Output: Other games messages are not seen on the map.

Story 26: End of Game

Test Case 1

Story: As a chaser user, I want to be able to end the game with an end game button when i catch the user .

Expected Output: User sees again the start game screen with the colocated users and inform all other users.

Test Case 2

Story: As a haunted user, I want to be able to end the game with an end game button when i am catched .

Expected Output: User sees again the start game screen with the colocated users and inform all other users.

teaching/labs/xp/2009b/acceptance_tests.txt · Last modified: 2018/05/09 01:59 (external edit)

SEWiki, © 2024