Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering
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:
parameters
in bold and afterward optional parameters in italics.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¶m2=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: 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.
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: 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.
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
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:
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
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
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: 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.
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: 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: 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.
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: 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.
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: 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.
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.
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.
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.
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: 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: 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.
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! .
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! .
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: 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
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
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
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
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: 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 “.
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: 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.
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: 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: 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.
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: 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.
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: 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.
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.