Difference between revisions of "CI/HANtune Development Procedures"
(→Tooling) |
(→HANtune Release Strategy) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 10: | Line 10: | ||
== HANtune Release Strategy == | == HANtune Release Strategy == | ||
− | + | The HANtune releases can be subdivided into the public releases and the internal releases. The public releases of HANtune are indicated with a two digit number, seperated by a dot. (e.g. "HANtune 2.1). The internal releases are only to be distributed to users who have been contacted personally, are willing to work with a potentially unstable version of HANtune and are willing to provide feedback in case of any bugs, enhancements or feature requests. These internal releases are indicated by Alpha, Beta, and potentially Gamma. | |
+ | |||
+ | |||
+ | '''Alpha Stage:''' | ||
+ | |||
+ | In this stage all the new features which are planned for the public release have been added to HANtune and have been tested by the developers. It is now sent to the users who are willing to cooperate with the development of HANtune by providing early feedback. After the Alpha stage no new featers are going to be added and code-changes are to be kept to a minimum. Only bug fixes are allowed at this stage. | ||
+ | Do not forget to create a tag in the repository when releasing an Alpha version. | ||
+ | |||
+ | |||
+ | '''Beta Stage:''' | ||
+ | |||
+ | In the Beta Stage all the know bugs should have been fixed, so this is actually the "Final Rehersal" before for the public release. To keep risks to a minimum all the bugs found in Beta stage are not going to be fixed but will clearly be documented in the "ChangelogKnownIssues.txt" file, which is provided with each HANtune release. | ||
+ | If severe bugs did get discovered, a Gamma release is scheduled, allowing to fix these bugs and verify the fix during the Gamma stage. | ||
+ | Do not forget to create a tag in the repository when releasing an Alpha version. | ||
+ | |||
+ | '''Gamma Stage:''' | ||
+ | |||
+ | It shouldn't have come this far, but clearly it has. Known bugs are reported in the "ChangelogKnownIssues.txt" file. After all the feedback has been collected and processed, the public release can be released. | ||
+ | Do not forget to create a tag in the repository when releasing an Alpha version. | ||
+ | |||
+ | |||
+ | Alpha, Beta and Gamma versions are only published in a disclosed group via a private mailing list. The public release is published on www.openmbd.com under the section "Download". The new public release will replace the old public release. | ||
+ | |||
+ | |||
+ | '''Testing''' | ||
+ | |||
+ | HANtune is subject to automated testing and manual testing. After each commit Jenkins is automatically being triggered by Trac to fetch the latest source in order to build, test and archive it. | ||
+ | |||
+ | With regards to manual testing, each release, albeit public or internal, is to be tested according to the same protocol. The test protocol can be found in the hantune_hancoder_testing repo, here: [https://hanautomotive.repositoryhosting.com/svn/hanautomotive_hantune_hancoder_testing https://hanautomotive.repositoryhosting.com/svn/hanautomotive_hantune_hancoder_testing] | ||
+ | |||
+ | In the repository the test document consists of an Excel sheet, to be found on the following path: <repo>\HANtune_testmodels\00_Test Reports\HANtune_Test_Release.xlsx | ||
+ | As new features are continually being added to HANtune, the test protocol should be kept up to date as well. Currently it only covers a basic set of tests to ensure a minimum amount of stable functionality. It is highly desired to review and enhance this document. | ||
== SCRUM Methodology == | == SCRUM Methodology == | ||
Line 27: | Line 58: | ||
− | The current configuration in text | + | The current configuration in text is shown below: |
leave = new,assigned,accepted,reopened,closed,needs work,implementing,automating tests,testing -> * | leave = new,assigned,accepted,reopened,closed,needs work,implementing,automating tests,testing -> * |
Latest revision as of 13:31, 31 May 2018
This page contains information about the development procedures which are used by the developers of HANtune.
Contents
Project Management
During the development of HANtune also our development procedures have evolved. However the usage of Trac has been adopted from a very early stage. Trac is an online environment which provides an online Wiki, ticketing system, code repositories and more. It hosts all the basic needs for a software development team. We are using repositoryhosting.com to host the repositories of HANtune, HANcoder and various other projects.
HANtune Release Strategy
The HANtune releases can be subdivided into the public releases and the internal releases. The public releases of HANtune are indicated with a two digit number, seperated by a dot. (e.g. "HANtune 2.1). The internal releases are only to be distributed to users who have been contacted personally, are willing to work with a potentially unstable version of HANtune and are willing to provide feedback in case of any bugs, enhancements or feature requests. These internal releases are indicated by Alpha, Beta, and potentially Gamma.
Alpha Stage:
In this stage all the new features which are planned for the public release have been added to HANtune and have been tested by the developers. It is now sent to the users who are willing to cooperate with the development of HANtune by providing early feedback. After the Alpha stage no new featers are going to be added and code-changes are to be kept to a minimum. Only bug fixes are allowed at this stage. Do not forget to create a tag in the repository when releasing an Alpha version.
Beta Stage:
In the Beta Stage all the know bugs should have been fixed, so this is actually the "Final Rehersal" before for the public release. To keep risks to a minimum all the bugs found in Beta stage are not going to be fixed but will clearly be documented in the "ChangelogKnownIssues.txt" file, which is provided with each HANtune release. If severe bugs did get discovered, a Gamma release is scheduled, allowing to fix these bugs and verify the fix during the Gamma stage. Do not forget to create a tag in the repository when releasing an Alpha version.
Gamma Stage:
It shouldn't have come this far, but clearly it has. Known bugs are reported in the "ChangelogKnownIssues.txt" file. After all the feedback has been collected and processed, the public release can be released. Do not forget to create a tag in the repository when releasing an Alpha version.
Alpha, Beta and Gamma versions are only published in a disclosed group via a private mailing list. The public release is published on www.openmbd.com under the section "Download". The new public release will replace the old public release.
Testing
HANtune is subject to automated testing and manual testing. After each commit Jenkins is automatically being triggered by Trac to fetch the latest source in order to build, test and archive it.
With regards to manual testing, each release, albeit public or internal, is to be tested according to the same protocol. The test protocol can be found in the hantune_hancoder_testing repo, here: https://hanautomotive.repositoryhosting.com/svn/hanautomotive_hantune_hancoder_testing
In the repository the test document consists of an Excel sheet, to be found on the following path: <repo>\HANtune_testmodels\00_Test Reports\HANtune_Test_Release.xlsx
As new features are continually being added to HANtune, the test protocol should be kept up to date as well. Currently it only covers a basic set of tests to ensure a minimum amount of stable functionality. It is highly desired to review and enhance this document.
SCRUM Methodology
More info will follow shortly...
Ticket Flow
The HANtune ticketflow is dedicated to the environment in which HANtune is being developed. It can be modified in the HANtune project which can be found in Trac. Open the HANtune project, klick on "Admin" and click on "Ticket flow".
Below a visual representation can be found for the HANtune ticketflow. For exact details, please refer to the textual version under the following picture.
The current configuration in text is shown below:
leave = new,assigned,accepted,reopened,closed,needs work,implementing,automating tests,testing -> * leave.name = Leave (does not change ticket resolution) leave.default = 11 leave.operations = leave_status leave.permissions = TICKET_MODIFY accept = new,assigned,reopened -> accepted accept.name = Accept and take ownership of this ticket accept.default = 10 accept.operations = set_owner_to_self accept.permissions = TICKET_MODIFY implement = accepted,needs work -> implementing implement.name = Ready to start implementing implement.default = 9 implement.permissions = TICKET_MODIFY test = implementing -> testing test.name = Implemented, ready for testing test.default = 8 test.permissions = TICKET_MODIFY pass = testing -> automating tests pass.name = Passed Testing, start automation of test pass.default = 7 pass.permissions = TICKET_MODIFY fail = testing -> needs work fail.name = Failed Testing, return to developer fail.default = 6 fail.permissions = TICKET_MODIFY reassign = new,assigned,accepted,reopened,closed,needs work,implementing,automating tests,testing -> * reassign.name = Assign reassign.default = 5 reassign.operations = set_owner reassign.permissions = TICKET_MODIFY reopen = closed -> reopened reopen.name = Reopen this ticket reopen.default = 4 reopen.operations = del_resolution reopen.permissions = TICKET_CREATE close = automating tests -> closed close.name = Automated tests work and are verified, close ticket close.default = 3 close.permissions = TICKET_MODIFY discard = new,assigned,accepted,reopened,closed,needs work,implementing,automating tests,testing -> closed discard.name = Discard ticket (mention reason in comments!!) discard.default = 2 discard.permissions = TICKET_CREATE reject = accepted -> new reject.name = Reject (Reject ownership) reject.default = 1 reject.permissions = TICKET_MODIFY
Tooling
During the development of HANtune several tools are used.
Netbeans
Netbeans is an Integrated Development Environment (IDE) which is used to write the source code of HANtune. Please download the latest version here: netbeans.org/
TortoiseSVN
To be able to use an SVN repository an SVN Client is needed. TortoiseSVN is an SVN client which can be used to commit and update your changes to and from the code repository. For more info on where to download and how to work with TortoiseSVN, please go to their website.