Skip to content

Latest commit

 

History

History
61 lines (44 loc) · 4.28 KB

A1.md

File metadata and controls

61 lines (44 loc) · 4.28 KB

🚢 Course Project Assignment #1 - Front End Requirements 🚢

In this assignment, you will analyze the requirements for the Front End (only), and in true XP fashion represent those requirements as a set of requirements tests. The basic idea is to analyze the requirements document (project description handout) for the Front End, partition it into separate testable pieces, and create a test case for each piece. We provided examples of creating those test cases.

For our courses project, we have two options this year: the web option and the CLI option. There are a couple of steps involved in this assignment:

  • Read the project description and check out the templates for these two options. For each option, we create the specifications separately. The web option specification is here. The CLI option specification is here. Check out the example test cases, and see which one is comfortable to work with.

  • Pick an option, copy the template to your team's GitHub repository, try it locally to make sure it is working, and merge to your master branch. Make sure every team member understands how the testing pipeline works and what the test case in the natural language looks like.

  • Divide the specifications and assign a team member to create part of all the test cases (in natural language rather than programming language, see examples in either option's specification) in a markdown file. Each member creates their test cases (in a markdown file), requested others' to review/edit through pull-request, and merge to master. To create the test case, you will need to have some initial UI design and/or backend interface design (e.g. what messages to be printed on certain session/page, what is the backend interface to be mocked). These UI designs, if not specified in the specification, are up to you/your team.

  • Create a table in a markdown file that summarizes the created test cases. (required columns: targeted part of the specifications, the test case ID (e.g. 4.3.1), the purpose of the test case.) You can use https://www.tablesgenerator.com/markdown_tables to generate tables in markdown language. The markdown file can be added to your repo again through pull-request only.

  • Following the table, describe the test plan:

    • How did your team organize the documentations of the test cases (e.g. where did you store the test case markdown file for each team member).
    • Your understanding of how the chosen testing framework works to test the frontend, including your understandings of when and how the test cases will be running directly on GitHub.
    • How are you going to organize different test case code files? (a folder for a specification?)
  • If you find any conflicts or any issues related to the specification, please create an issue on GitHub (assume that we are on-site customers). Document what you have found in the same markdown file above.

  • Submission: create a tag of on your GitHub respository (following our assignment submission insturction using git) and submit the following infomation to onQ.

    • tag_name
    • pull_request_links for team_member_1
    • pull_request_links for team_member_2
    • pull_request_links for team_member_3
    • pull_request_links for team_member_4

Marking:

10 marks
Test Completeness 5
The table of identified test cases, and the purpose of each test case
Completeness: test cases cover all functionality allowed by requirements, and include cases to test constraints (satisfying/not-satisfying the constraints)
Requirements Problems: problems or missing information in the requirements or constraints reported and decisions documented
Test Plan 2
Provided all the test cases with necessary details regarding their input/expected output/actions. Think of you writing the test cases and the other testers (e.g. TAs) will have to implement those but not you.
Test Run Plan. Have a thorough understanding of how the testing pipeline works (framework+GitHub-Acton and how your team will be organizing and running the test cases.
Teamwork
All the updates to the repository have to go through pull-request. All the pull-request requires reviews from the team members. 3