TriBITS Q & A in Class from Dr. Kochunas :
Regarding Question 1:What is TRIBITS? TriBITS is a build system. It implements a lot of concepts in modern software engineering. Thus as you create your own software projects in a TriBITS based build system it facilitates good software engineering practices and lowers the overhead of the developer to use these things. Specifically things like defining unit tests, regressions tests. Tests that should be run nightly. Tests that should be run when code is pushed etc. It also facilitates publishing these results to a dashboard. It also helps facilitate managing complex software ecosystems that might use code from multiple repositories from multiple institutions and authors. Since we haven't had you write your own software and tests for your own software (yet) there isn't a whole lot to have in your project. You effectively created an empty project in this exercise. Perhaps this is why you are puzzled. In terms of what is being tested. All that was tested was TriBITS itself. TriBITS comes with its own tests to ensure it works correctly. People who might develop TriBITS and make changes to TriBTIS would find these helpful. But you will not be developing TriBITS in this course. Therefore I can understand your confusion. If you examine the TriBITS source tree you will find the tests and associated documentation. The point of running the tests was to illustrate how ctest can be used to automatically run a suite tests for a particular piece of software. Regarding Question 2:Why do "make dashboard"? The "make dashboard" was to illustrate how good tools and a good infrastructure can provide you with information about the state of your software. In typical workflows you would not run make dashboard yourself. But you would have a script running on a computer do it for you. The dashboard is a web portal that you (or someone) else can setup specifically for your project as we have done for this course. Much of what is on the dashboard is links. You can search through a lot of it and see the output from configure, the output from make, and the output from running your individual tests. This is very useful when tests fail. (Like a software exam checklist, with log) |
AuthorShaowu Pan Archives
December 2017
Categories
All
|