Skip to content

Use Cases

Yue Qi edited this page May 9, 2019 · 5 revisions
Usecase ID RegisterProjectOnCAS
Usecase Name Register project on CAS
Primary Actor(s) User
Secondary Actor(s) None
Description Users can register a new project on CAS.
Preconditions 1. Users have access to CAS service.
2. Users have registered for a CAS account.
Flow of Events 1. Users go to the CAS website, log in to their account.
2. On the main page, users click on "Register a new Project" to go to the registering page.
3. On the registering page, users input the basic information of the project.
       a. Users type the "Project Name", "Project Description", "Contributors" and "Project Owner" into different input box respectively.
       b. Users select "Project Type" from a drop-down list.
       c. Users click on the register button to finish the registration. The page will automatically go to the project information page.
4. The project information page would show all the information including "Project Name", "Project Description", "Contributors", "Project Owner", "Project Type". The page will also show the automatically generated random "Project ID" and "Project Password" used for connection to the CI platform (E.g. Jenkins).
Postconditions 1. A new project is registered.
2. The project information is stored.
3. Project ID and password are automatically generated.
Priority High
Alternative Flow or Exception 1. In Step 3c, if the user left any input boxes or drop-down list blank, stay on the same page and show "please fill in the blank" notices on the blank boxes.
2. In Step 3c, if the input "Project Name" has already existed in the system, stay on the same page and show "Project name has already been used" notice on the "Project Name".
Non-behavioral Requirements 1. The "project types" should include all the common project types. For uncommon projects, users can select "others".
2. After user submit all required information, the registration should be finished within 5 seconds.
Assumptions 1. The project information includes "Project Name", "Project Description", "Contributors", "Project Owner", "Project Type".
2. Users need "Project ID" and "Project Password" to build a encrypted connection to the CI platform.
Source
Usecase ID ConfigureProjectControllers
Usecase Name Configure the controller list for project
Primary Actor(s) User
Secondary Actor(s) None
Description Users configure the controllers that they are concerned with for a certain project.
Preconditions 1. Users have access to CAS service.
2. Users have registered for a CAS account.
3. The project has been registered on CAS.
Flow of Events 1. Users go to the CAS website, log in to their account.
2. Go to the page of "Project management".
3. Click the name of the project that users want to configure to go to the settings page of this project.
4. Click "Manage controllers" to go to the page which showing all provided controllers in tree structure.
5. Select some classes of controllers to get all the controllers of these classes selected.
6. Click a controller class to make the controllers of this class expand below it, then select some of them.
7. Input the title of a certain controller in the search box then find the controller the users want, then select it.
8. After selecting all the controllers to be tested, click "Save" button.
Postconditions 1. The controllers to be tested are configured for this project.
2. If some new tests are completed, the dashboard will show the result of these selected controllers.
Priority High
Alternative Flow or Exception 1. If users want to select the controllers which are always needed to be tested in a type of project, they can select the type of this project to have the related controllers selected.
2. If the users want to test the most of the controllers that were configured for their previous project, they can click "Import from previous project", then the controllers that have been saved for the previous project will be selected.
Non-behavioral Requirements 1. The list of provided controllers to be selected should be shown in a clear view so that the users can browse and find them easily.
2. The list of controller classes should be shown within 3 seconds after users’ request.
3. The expand list of controllers under the class should be shown within 5 seconds after user clicks on it.
Assumptions Users are familiar with the controllers.
Source
Usecase ID JenkinsInstallCASPlugin
Usecase Name Install CAS plugin on Jenkins
Primary Actor(s) User
Secondary Actor(s) None
Description Users install the CAS plugin on their Jenkins service.
Preconditions Users have set up a Jenkins server.
Flow of Events 1. Users log on the the Jenkins GUI
2. Select "Manage Jenkins"
3. Select "Manage Plugins"
4. Click the "Available" tab
5. Type "CAS" in the Filter field
6. Check "CAS" in the search results
7. Select "Install without restart"
8. Wait until the installation progress page displays "Success"
Postconditions CAS plugin has been installed on Jenkins
Priority High
Alternative Flow or Exception In event flow step 7, users can also do:
1. Select "Download now and install after restart"
2. Wait until the download progress page displays "Downloaded Successfully. Will be activated during the next boot"
3. Restart Jenkins
Then the postconditions can be reached with this alternative flow.
Non-behavioral Requirements The installation should be finished within 1 minutes
Assumptions Users are familiar with Jenkins configuration processes.
Source Own experience using Jenkins and Jenkins plugins.
Usecase ID JenkinsConfigCASPlugin
Usecase Name Configure CAS plugin on Jenkins
Primary Actor(s) User
Secondary Actor(s) None
Description Users have installed CAS plugin on Jenkins
Preconditions 1. Users have set up a Jenkins server.
2. Users have installed CAS plugin on Jenkins.
3. Users have logged on to Jenkins GUI.
4. Users have set up a CAS server.
5. Users have registered for a CAS account.
Flow of Events 1. Go to Jenkins system configuration
2. Under "CAS servers", click "Add CAS" and provide:
       a. CAS server name
       b. CAS server URL
       c. CAS server authentication token
3. Create a Jenkins job
4. Go to the job configuration
5. Under "Build", click "Add build step", and select "Execute CAS check"
6. Provide the following information to Jenkins:
       a. Project ID generated by CAS
       b. Project authentication token
7. Save build configuration.
Postconditions Jenkins automatically invoke CAS check after every build of a project.
Priority High
Alternative Flow or Exception NA
Non-behavioral Requirements The connection between CAS and plugin should be finished within 5 seconds.
Assumptions Users are familiar with Jenkins build and configuration processes.
Source
Usecase ID ViewCASDashboard
Usecase Name View CAS result on dashboard
Primary Actor(s) User
Secondary Actor(s) None
Description Users can view the testing results of their existing project by visiting the dashboard.
Preconditions 1. Users have a CAS account.
2. Users have already set up a project on their CAS.
3. Users have internet access.
Flow of Events 1. Users go to the CAS website, log in to their account.
2. On the main page, users click on "Existing" button to go to the existing project page.
3. On the existing project page, users click on "dashboard" button view the dashboard.
Postconditions Users can see the test results of an existing project by visiting the dashboard page for that project.
Priority High
Alternative Flow or Exception On the dashboard page, users can click on each testing case to view the detail information of that case. Possible information includes:
1. Case name.
2. Controller associated with this case.
3. Start time for that case.
4. End time for that case.
5. Output for that test case.
6. Error message for that test case if it fails.
Non-behavioral Requirements The dashboard should show a list of test cases associated with their names, start time, end time and test results. Users should be able to click on each test case to view detail information of that test case.
Assumptions The connection between CAS and Jenkins works fine.
Source
Usecase ID ViewCAHistory
Usecase Name View CA history of a project
Primary Actor(s) User
Secondary Actor(s) None
Description Users can view the history of authentication testing of a project by using CAS.
Preconditions 1. Users have a CAS account.
2. Users have already set up a project on their CAS.
3. Users have internet access.
Flow of Events 1. Users go to the CAS website, log in to their account.
2. On the main page, users click on "Existing" button to go to the existing project page.
3. On the existing project page, users click on "dashboard" button view the dashboard.
4. On the dashboard page, click "history" button to view the history of authentication test.
Postconditions Users can see the test history of authentication test for an existing project.
Priority High
Alternative Flow or Exception None
Non-behavioral Requirements 1. CAS service will start to generate the history diagram for a project when it is created.
2. The history diagram contains information about the authentication test, including:
       a. The number of errors in a project at each time.
       b. The number of successful test in a project at each time.
       c. Each test case status along timeline.
Assumptions The connection between CAS and Jenkins works fine.
Source

Clone this wiki locally