Compare View
Commits (2)
Diff
Showing 1 changed file Inline Diff
StoriesAndAcceptanceTests.tex
View file @
d8e1b7f
\documentclass[letterpaper]{scrartcl} % or whatever | 1 | 1 | \documentclass[letterpaper]{scrartcl} % or whatever | |
\usepackage{tgpagella} | 2 | 2 | \usepackage{tgpagella} | |
\setkomafont{disposition}{\normalfont\bfseries} | 3 | 3 | \setkomafont{disposition}{\normalfont\bfseries} | |
%\usepackage[markuppercase]{scrpage2} | 4 | 4 | %\usepackage[markuppercase]{scrpage2} | |
\title{\huge User Story Acceptance Test Plan} | 5 | 5 | \title{\huge User Story Acceptance Test Plan} | |
\date{\today} | 6 | 6 | \date{\today} | |
\author{\Large Students With A Goal (S.W.A.G.)} | 7 | 7 | \author{\Large Students With A Goal (S.W.A.G.)} | |
\usepackage[pass]{geometry} | 8 | 8 | \usepackage[pass]{geometry} | |
\usepackage{hyperref} | 9 | 9 | \usepackage{hyperref} | |
\usepackage{graphicx} | 10 | 10 | \usepackage{graphicx} | |
\usepackage{enumitem} | 11 | 11 | \usepackage{enumitem} | |
\setlist[description]{style=multiline,leftmargin=3cm,font=\normalfont\textbf} | 12 | 12 | \setlist[description]{style=multiline,leftmargin=3cm,font=\normalfont\textbf} | |
\setlistdepth{9} | 13 | 13 | \setlistdepth{9} | |
14 | 14 | |||
\setlist[itemize,1]{label=$\bullet$} | 15 | 15 | \setlist[itemize,1]{label=$\bullet$} | |
\setlist[itemize,2]{label=$\bullet$} | 16 | 16 | \setlist[itemize,2]{label=$\bullet$} | |
\setlist[itemize,3]{label=$\bullet$} | 17 | 17 | \setlist[itemize,3]{label=$\bullet$} | |
\setlist[itemize,4]{label=$\bullet$} | 18 | 18 | \setlist[itemize,4]{label=$\bullet$} | |
\setlist[itemize,5]{label=$\bullet$} | 19 | 19 | \setlist[itemize,5]{label=$\bullet$} | |
\setlist[itemize,6]{label=$\bullet$} | 20 | 20 | \setlist[itemize,6]{label=$\bullet$} | |
\setlist[itemize,7]{label=$\bullet$} | 21 | 21 | \setlist[itemize,7]{label=$\bullet$} | |
\setlist[itemize,8]{label=$\bullet$} | 22 | 22 | \setlist[itemize,8]{label=$\bullet$} | |
\setlist[itemize,9]{label=$\bullet$} | 23 | 23 | \setlist[itemize,9]{label=$\bullet$} | |
\renewlist{itemize}{itemize}{9} | 24 | 24 | \renewlist{itemize}{itemize}{9} | |
\begin{document} | 25 | 25 | \begin{document} | |
\maketitle | 26 | 26 | \maketitle | |
\begin{center} | 27 | 27 | \begin{center} | |
\includegraphics[width=12cm]{../swag_logo.png}\\ | 28 | 28 | \includegraphics[width=12cm]{../swag_logo.png}\\ | |
29 | 29 | |||
\begin{tabular}{l r} | 30 | 30 | \begin{tabular}{l r} | |
Melody Jeng & System Architect \\ | 31 | 31 | Melody Jeng & System Architect \\ | |
Arno Gau & Senior System Analyst \\ | 32 | 32 | Arno Gau & Senior System Analyst \\ | |
Rachel Lee & Software Development Lead \\ | 33 | 33 | Rachel Lee & Software Development Lead \\ | |
Laura Hawkins & Project Manager \\ | 34 | 34 | Laura Hawkins & Project Manager \\ | |
Rohan Rangray & Algorithms Specialist\\ | 35 | 35 | Rohan Rangray & Algorithms Specialist\\ | |
Andrew Buss & Database Specialist \\ | 36 | 36 | Andrew Buss & Database Specialist \\ | |
Phuong Tran & Quality Assurance Lead \\ | 37 | 37 | Phuong Tran & Quality Assurance Lead \\ | |
Chung Kang Wang & Business Analyst\\ | 38 | 38 | Chung Kang Wang & Business Analyst\\ | |
Masud Rahman & User Interface Specialist\\ | 39 | 39 | Masud Rahman & User Interface Specialist\\ | |
Kevin Mach & User Interface Specialist\\ | 40 | 40 | Kevin Mach & User Interface Specialist\\ | |
\end{tabular} | 41 | 41 | \end{tabular} | |
\end{center} | 42 | 42 | \end{center} | |
\newpage | 43 | 43 | \newpage | |
\tableofcontents | 44 | 44 | \tableofcontents | |
45 | 45 | |||
\newpage | 46 | 46 | \newpage | |
\section{Account} | 47 | 47 | \section{Account} | |
\subsection{User Login Acceptance Test} | 48 | 48 | \subsection{User Login Acceptance Test} | |
\begin{description}[style=multiline,leftmargin=5cm] | 49 | 49 | \begin{description}[style=multiline,leftmargin=5cm] | |
\item [Description:]{As a user, I want to be able to login, view my classes and decks while creating flashcards.} | 50 | 50 | \item [Description:]{As a user, I want to be able to login, view my classes and decks while creating flashcards.} | |
\item [Steps:] | 51 | 51 | \item [Steps:] | |
\begin{enumerate} | 52 | 52 | \begin{enumerate} | |
\item User shall enter email TEST3@flashy.cards | 53 | 53 | \item The user shall enter email TEST3@flashy.cards | |
\item User shall enter password "test". | 54 | 54 | \item The user shall enter password "test". | |
\end{enumerate} | 55 | 55 | \end{enumerate} | |
\item [Expected Result:]{User shall see the "Add Class" page.} | 56 | 56 | \item [Expected Result:]{The user shall see the "Add Class" page.} | |
\end{description} | 57 | 57 | \end{description} | |
58 | 58 | |||
\subsection{User Password Change Acceptance Test} | 59 | 59 | \subsection{User Password Change Acceptance Test} | |
\begin{description}[style=multiline,leftmargin=5cm] | 60 | 60 | \begin{description}[style=multiline,leftmargin=5cm] | |
\item [Description:]{As a user, I want to be able to change my login password.} | 61 | 61 | \item [Description:]{As a user, I want to be able to change my login password.} | |
\item [Steps:] | 62 | 62 | \item [Steps:] | |
\begin{enumerate} | 63 | 63 | \begin{enumerate} | |
64 | \item User shall click "Change Password" on the "Settings" page. | |||
65 | \item User shall enter old password | |||
66 | \item User shall enter new password and confirm | |||
\item User shall click "Change Password" on the "Settings" page. | 64 | 67 | \item The user shall click "Change Password" | |
\item User shall enter old password | 65 | 68 | \item The user shall enter old password | |
\item User shall enter new password and confirm | 66 | 69 | \item The user shall enter new password and confirm | |
\end{enumerate} | 67 | 70 | \end{enumerate} | |
\item [Expected Result:]{User's password is changed to new password.} | 68 | 71 | \item [Expected Result:]{The user's password is changed to new password.} | |
\end{description} | 69 | 72 | \end{description} | |
70 | 73 | |||
\subsection{User Password Reset Acceptance Test} | 71 | 74 | \subsection{User Password Reset Acceptance Test} | |
\begin{description}[style=multiline,leftmargin=5cm] | 72 | 75 | \begin{description}[style=multiline,leftmargin=5cm] | |
\item [Description:]{As a user, I want to be able to reset my password if I forget it.} | 73 | 76 | \item [Description:]{As a user, I want to be able to reset my password if I forget it.} | |
\item [Steps:] | 74 | 77 | \item [Steps:] | |
\begin{enumerate} | 75 | 78 | \begin{enumerate} | |
\item | 76 | 79 | \item | |
{User shall click "Forgot Password?" from the login page.} | 77 | 80 | {The user shall click "Forgot Password?" from the login page.} | |
\item | 78 | 81 | \item | |
{User shall enter the email they used to sign up for an account.} | 79 | 82 | {The user shall enter the email they used to sign up for an account.} | |
\end{enumerate} | 80 | 83 | \end{enumerate} | |
\item[Expected Result:]{User's password will be reset and an email will be | 81 | 84 | \item[Expected Result:]{The user's password will be reset and an email will be | |
sent to the proper email allowing user to change their password.} | 82 | 85 | sent to the proper email allowing user to change their password.} | |
\end{description} | 83 | 86 | \end{description} | |
84 | 87 | |||
\subsection{User Adds Themselves to Class Acceptance Test} | 85 | 88 | \subsection{User Adds Themselves to Class Acceptance Test} | |
\begin{description}[style=multiline,leftmargin=5cm] | 86 | 89 | \begin{description}[style=multiline,leftmargin=5cm] | |
\item [Description:]{As a user, I want to be able to add myself to a class that I am in.} | 87 | 90 | \item [Description:]{As a user, I want to be able to add myself to a class that I am in.} | |
\item [Steps:] | 88 | 91 | \item [Steps:] | |
\begin{enumerate} | 89 | 92 | \begin{enumerate} | |
93 | ||||
94 | \item {User shall click on the "Add Class" feature under the Class dropdown menu to visit the "Add Class" page.} | |||
95 | \item {User shall enter "CSE 3" in the input box.} | |||
96 | \item {User shall select the first choice for "CSE 3" and add class.} | |||
97 | ||||
\item {User shall click on the "Add Class" feature under the Class dropdown menu to visit the "Add Class" page.} | 90 | 98 | \item {The user shall visit the "Add Class" page.} | |
\item {User shall enter "CSE 3" in the input box.} | 91 | 99 | \item {The user shall enter "CSE 3" in the input box.} | |
\item {User shall select the first choice for "CSE 3" and add class.} | 92 | 100 | \item {The user shall select the first choice for "CSE 3" and add class.} | |
101 | ||||
\end{enumerate} | 93 | 102 | \end{enumerate} | |
\item [Expected Result:]{User shall see the class "CSE 3" in their class list under | 94 | 103 | \item [Expected Result:]{The user shall see the class "CSE 3" in their class list under | |
the dropdown or sidebar.} | 95 | 104 | the dropdown or sidebar.} | |
\end{description} | 96 | 105 | \end{description} | |
97 | 106 | |||
\subsection{Deck for Each Section Acceptance Test} | 98 | 107 | \subsection{Deck for Each Section Acceptance Test} | |
\begin{description}[style=multiline,leftmargin=5cm] | 99 | 108 | \begin{description}[style=multiline,leftmargin=5cm] | |
\item [Description:]{As a user, I want to see the cards in my deck for each deck | 100 | 109 | \item [Description:]{As a user, I want to see the cards in my deck for each deck | |
associated with a section I'm enrolled in.} | 101 | 110 | associated with a section I'm enrolled in.} | |
\item [Steps:] | 102 | 111 | \item [Steps:] | |
\begin{enumerate} | 103 | 112 | \begin{enumerate} | |
\item The user shall click on the section of the deck from the drop down menu at the | 104 | 113 | \item The user shall click on the section of the deck from the drop down menu at the | |
right end of the top navbar. | 105 | 114 | right end of the top navbar. | |
\item The user shall click on the Deck button on the left side of the navbar. | 106 | 115 | \item The user shall click on the Deck button on the left side of the navbar. | |
\end{enumerate} | 107 | 116 | \end{enumerate} | |
\item [Expected Result:]{The user shall now see the cards in the deck he chose.} | 108 | 117 | \item [Expected Result:]{The user shall now see the cards in the deck he chose.} | |
\end{description} | 109 | 118 | \end{description} | |
110 | 119 | |||
\newpage | 111 | 120 | \newpage | |
\section{Flashcards} | 112 | 121 | \section{Flashcards} | |
\subsection{User Makes a Flashcard Acceptance Test} | 113 | 122 | \subsection{User Makes a Flashcard Acceptance Test} | |
\begin{description}[style=multiline,leftmargin=5cm] | 114 | 123 | \begin{description}[style=multiline,leftmargin=5cm] | |
\item [Description:]{As a user, I want to be able to create a flashcard and | 115 | 124 | \item [Description:]{As a user, I want to be able to create a flashcard and | |
publish it for everyone to see.} | 116 | 125 | publish it for everyone to see.} | |
\item [Steps:] | 117 | 126 | \item [Steps:] | |
\begin{enumerate} | 118 | 127 | \begin{enumerate} | |
\item The user shall go to the live feed of the class he wants to create the flashcard | 119 | 128 | \item The user shall visit the feed for the ``CSE 3'' course | |
for. | 120 | 129 | \item The user shall click on the '+' button at the lower right corner of the | |
130 | screen. The user can press the "c" key on their keyboard to bring up the input box. | |||
131 | \item The user shall write the content of his flashcard in the input box that pops up | |||
132 | from the bottom of the screen and blanks the appropriate blanks. | |||
133 | \item The user shall press Enter or clicks on 'Submit' to submit the flashcard to | |||
134 | ======= | |||
\item The user shall click on the '+' button at the lower right corner of the | 121 | 135 | screen. | |
screen. The user can press the "c" key on their keyboard to bring up the input box. | 122 | 136 | \item The user shall write ``Hi I am a card'', and highlight ``card'' and press | |
\item The user shall write the content of his flashcard in the input box that pops up | 123 | 137 | Ctrl+B or click on 'Blank Selected Text' to mark it as a blank. | |
from the bottom of the screen and blanks the appropriate blanks. | 124 | 138 | \item The user shall presse Enter or clicks on 'Submit' to submit the flashcard to | |
139 | >>>>>>> 37d7dd0a524dc096e9f0e528c3b8aeec155e2704 | |||
\item The user shall press Enter or clicks on 'Submit' to submit the flashcard to | 125 | 140 | the feed. | |
the feed. | 126 | 141 | \end{enumerate} | |
\end{enumerate} | 127 | 142 | \item [Expected Result:]{The user shall see a flashcard with the text ``Hi I am | |
\item [Expected Result:]{The user shall see his flashcard added to the feed} | 128 | 143 | a card'' with the word ``card'' underlined added to the feed} | |
\end{description} | 129 | 144 | \end{description} | |
130 | 145 | |||
\subsection{User Adds Flashcard to Deck For Class Acceptance Test} | 131 | 146 | \subsection{User Adds Flashcard to Deck For Class Acceptance Test} | |
\begin{description}[style=multiline,leftmargin=5cm] | 132 | 147 | \begin{description}[style=multiline,leftmargin=5cm] | |
\item [Description:]{As a user, I want to add a card from the feed to my deck.} | 133 | 148 | \item [Description:]{As a user, I want to add a card from the feed to my deck.} | |
\item [Steps:] | 134 | 149 | \item [Steps:] | |
\begin{enumerate} | 135 | 150 | \begin{enumerate} | |
\item The user shall go to the live feed of the class he wants to pull the flashcard | 136 | 151 | \item The user shall go to the live feed of the class he wants to pull the flashcard | |
from. | 137 | 152 | from. | |
\item The user shall click on the flashcard that he wants to add to his deck. | 138 | 153 | \item The user shall click on the flashcard that he wants to add to his deck. | |
\end{enumerate} | 139 | 154 | \end{enumerate} | |
\item [Expected Result:]{The flashcard the user clicked on is added to his deck} | 140 | 155 | \item [Expected Result:]{The flashcard the user clicked on is added to his deck} | |
\end{description} | 141 | 156 | \end{description} | |
142 | 157 | |||
143 | 158 | |||
\subsection{User Logs Out Acceptance Test} | 144 | 159 | \subsection{User Logs Out Acceptance Test} | |
\begin{description}[style=multiline,leftmargin=5cm] | 145 | 160 | \begin{description}[style=multiline,leftmargin=5cm] | |
\item [Description:] {As a user, I want to log out of my account.} | 146 | 161 | \item [Description:] {As a user, I want to log out of my account.} | |
\begin{enumerate} | 147 | 162 | \begin{enumerate} | |
\item [Steps:] {The user shall click on the logout button at the top right corner.} | 148 | 163 | \item [Steps:] {The user shall click on the logout button at the top right corner.} | |
\end{enumerate} | 149 | 164 | \end{enumerate} | |
\item [Expected Result:] {User is logged out and is redirected to the login page.} | 150 | 165 | \item [Expected Result:] {The user is logged out and is redirected to the login page.} | |
151 | 166 | |||
\end{description} | 152 | 167 | \end{description} | |
153 | 168 | |||
\newpage | 154 | 169 | \newpage | |
\section{Decks} | 155 | 170 | \section{Decks} | |
\subsection{View Cards in Deck Acceptance Test} | 156 | 171 | \subsection{View Cards in Deck Acceptance Test} | |
\begin{description}[style=multiline,leftmargin=5cm] | 157 | 172 | \begin{description}[style=multiline,leftmargin=5cm] | |
\item [Description:] | 158 | 173 | \item [Description:] | |
{As a user, I want to be able to view the cards that I have included in my deck.} | 159 | 174 | {As a user, I want to be able to view the cards that I have included in my deck.} | |
\item [Steps:] | 160 | 175 | \item [Steps:] | |
\begin{enumerate} | 161 | 176 | \begin{enumerate} | |
\item | 162 | 177 | \item | |
{User shall visit the feed for the Test VIEW DECK course.} | 163 | 178 | {The user shall visit the feed for the Test VIEW DECK course.} | |
\item | 164 | 179 | \item | |
{User shall click on deck on top left.} | 165 | 180 | {The user shall click on deck on top left.} | |
\end{enumerate} | 166 | 181 | \end{enumerate} | |
\item [Expected Result:]{The test passes when the User sees | 167 | 182 | \item [Expected Result:]{The test passes when the user sees | |
the flashcard "This is a flashcard".} | 168 | 183 | the flashcard "This is a flashcard".} | |
\end{description} | 169 | 184 | \end{description} | |
170 | 185 | |||
\subsection{Remove Card from Deck Acceptance Test} | 171 | 186 | \subsection{Remove Card from Deck Acceptance Test} | |
\begin{description}[style=multiline,leftmargin=5cm] | 172 | 187 | \begin{description}[style=multiline,leftmargin=5cm] | |
\item [Description:]{As a user, I want to be able to remove cards from my deck.} | 173 | 188 | \item [Description:]{As a user, I want to be able to remove cards from my deck.} | |
\item [Steps:] | 174 | 189 | \item [Steps:] | |
\begin{enumerate} | 175 | 190 | \begin{enumerate} | |
\item The user shall select the section whose deck they want to remove the cards | 176 | 191 | \item The user shall visit the feed for the ``CSE 3'' course. | |
from. | 177 | 192 | \item The user shall click on the ``Deck'' button on the left side of the | |
\item The user shall go to the deck view of that section. | 178 | 193 | navbar. | |
\item The user shall click hovers the mouse over the flashcard that he wants to | 179 | 194 | \item The user shall hover his mouse over the flashcard that he wants to | |
remove. | 180 | 195 | remove. | |
\item The user shall click on the white-on-green '-' button that appears on the | 181 | 196 | \item The user shall click on the white-on-green ``-'' button that appears on the | |
flashcard. | 182 | 197 | flashcard. | |
\end{enumerate} | 183 | 198 | \end{enumerate} | |
\item [Expected Result:]{The flashcard the user clicked on is removed from his deck} | 184 | 199 | \item [Expected Result:]{The flashcard the user clicked on is removed from his deck} | |
\end{description} | 185 | 200 | \end{description} | |
186 | 201 | |||
\newpage | 187 | 202 | \newpage | |
\section{Study} | 188 | 203 | \section{Study} | |
\subsection{Study Deck Acceptance Test} | 189 | 204 | \subsection{Study Deck Acceptance Test} | |
\begin{description}[style=multiline,leftmargin=5cm] | 190 | 205 | \begin{description}[style=multiline,leftmargin=5cm] | |
\item [Description:] | 191 | 206 | \item [Description:] | |
{As a user, I want to be able to study my deck.} | 192 | 207 | {As a user, I want to be able to study my deck.} | |
\item [Steps:] | 193 | 208 | \item [Steps:] | |
\begin{enumerate} | 194 | 209 | \begin{enumerate} | |
\item User shall visit the feed for the TEST9 course | 195 | 210 | \item The user shall visit the feed for the ``CSE 3'' course | |
\item User shall create a card with the text ``Hello I am a card!'', with ``card'' selected as a blank. | 196 | 211 | \item The user shall create a card with the text ``Hello I am a card!'', with ``card'' selected as a blank. | |
\item User shall click the Study button | 197 | 212 | \item The user shall click the Study button | |
\end{enumerate} | 198 | 213 | \end{enumerate} | |
\item [Expected Result:]{User shall see a card with the text``Hello I am a \underline{\hspace{1cm}}!''} | 199 | 214 | \item [Expected Result:]{The user shall see a card with the text``Hello I am a \underline{\hspace{1cm}}!''} | |
\end{description} | 200 | 215 | \end{description} | |
201 | 216 | |||
\section{Study} | 202 | 217 | \subsection{User Study Negative Acceptance Test} | |
203 | 218 | \begin{description}[style=multiline,leftmargin=5cm] | ||
\subsection{User Study Filter Acceptance Test} | 204 | 219 | \item [Description:]{As a user, I want to respond with an answer when the app | |
\begin{description}[style=multiline,leftmargin=5cm] | 205 | 220 | quizzes me on a flashcard.} | |
\item [Description:]{As a user, I want to decide which flashcards I study.} | 206 | 221 | \item [Steps:] | |
\item [Steps:] | 207 | 222 | \begin{enumerate} | |
\begin{enumerate} | 208 | 223 | \item The user shall visit the feed for the ``CSE 3'' course | |
\item The user shall click on the 'Study' button on the right side of the | 209 | 224 | \item The user shall click the Study button | |
navbar. | 210 | 225 | \item The user shall type in anything other than ``card'' in the bottom field and hit enter. | |
\item The user shall click on the button of the section whose cards he wants to | 211 | 226 | \item The user shall click on on 'Check' to see if his answer was right or | |
study, or click on the 'All Classes' button to review cards from all | 212 | 227 | wrong. | |
sections. | 213 | 228 | \end{enumerate} | |
\item The user shall select the timeline of the cards he wants to study by | 214 | 229 | \item [Expected Result:]{The user will be told that his guess was wrong.} | |
clicking on the 'Begin' and 'End' input fields and selecting the appropriate | 215 | 230 | \end{description} | |
dates from the date selection box that appears. | 216 | 231 | ||
\item The user shall click on 'Fetch' to fetch a flashcard to study. | 217 | 232 | \subsection{User Study Positive Acceptance Test} | |
\end{enumerate} | 218 | 233 | \begin{description}[style=multiline,leftmargin=5cm] | |
\item [Expected Result:]{If a flashcard with the given parameters is found, the | 219 | 234 | \item [Description:]{As a user, I want to respond with an answer when the app | |
user will be presented with this flashcard to study.} | 220 | 235 | quizzes me on a flashcard.} | |
\end{description} | 221 | 236 | \item [Steps:] | |
222 | 237 | \begin{enumerate} | ||
\subsection{User Study Acceptance Test} | 223 | 238 | \item The user shall visit the feed for the ``CSE 3'' course | |
\begin{description}[style=multiline,leftmargin=5cm] | 224 | 239 | \item The user shall click the Study button |