soffan-group-25 / ci-server

0 stars 0 forks source link

Questions for lab TA #41

Closed hebbs4152 closed 1 year ago

hebbs4152 commented 1 year ago

for the lab on 7/1 we have a few questions and if anyone thinks of any more they can comment them here

hebbs4152 commented 1 year ago

To what extent does every feature need a new test in this project?

didrikmunther commented 1 year ago

To what extent does every feature need a new test in this project?

For example, do we need to test that the JGIT library correctly does the git commands in the right order? Do we need to check that our POST mechanic to github responds in a correct way for every type of reply?

haval0 commented 1 year ago

This requirement:

Property (SE): the program is properly documented

Assessment: The grader randomly opens application files (not test files) to check that all public classes and methods are well documented (hints). In addition, the grader checks that the corresponding API documentation has been generated in a browsable format (eg HTML when using Javadoc).

Specifically: "In addition, the grader checks that the corresponding API documentation has been generated in a browsable format (eg HTML when using Javadoc)"

Does this mean we need to have generated the last version of the docs and be hosting the HTML files in a way that the TA can browse through them? Or is it enough to describe in our README.md how to generate the docs yourself after cloning the repo (gradle javadoc)?

hebbs4152 commented 1 year ago

This requirement:

Property (SE): the program is properly documented

Assessment: The grader randomly opens application files (not test files) to check that all public classes and methods are well documented (hints). In addition, the grader checks that the corresponding API documentation has been generated in a browsable format (eg HTML when using Javadoc).

Specifically: "In addition, the grader checks that the corresponding API documentation has been generated in a browsable format (eg HTML when using Javadoc)"

Does this mean we need to have generated the last version of the docs and be hosting the HTML files in a way that the TA can browse through them? Or is it enough to describe in our README.md how to generate the docs yourself after cloning the repo (gradle javadoc)?

We can leave it as java, do not need html

didrikmunther commented 1 year ago

To what extent does every feature need a new test in this project?

We're waiting for a mail from the examinator about what level the tests needs to be on.

hebbs4152 commented 1 year ago

With another group using a Java API for git, we found that it is very easy to write a few failing unit tests (that cover some of the possible exceptions). While a successful unit test requires a working repo and network connection, the demo of the CI server requires that, too, so cloning a small(!) repo in a unit test is not unreasonable. As that functionality is already covered by the full system test, though, I would prioritize testing some of the ways how certain actions can fail. This is simpler in terms of setup and provides coverage of the "negative path" that is otherwise untested.

-Cyrille