Proposed must-have Features for Nitrate compared with Wiki

He Rui rhe at
Thu Mar 10 10:01:00 UTC 2011

On Wed, 2011-03-09 at 14:43 -0500, James Laska wrote:
> On Wed, 2011-03-09 at 18:06 +0800, He Rui wrote:
> > Greetings,
> > 
> > Now let's continue the discussion[1] about TCMS management. After the
> > feature comparison between wiki and nitrate, the features which are
> > supported in current wiki, but not in nitrate have been identified[2].
> > Among these, I priorized some of them as Must-have features, which were
> > summarized as below[3]:
> > 
> > 1. History rollback -
> > User can view history versions and undo changes.
> Good, I do use this more often than I realize.
> > 2. History comparison -
> > Different versions can compare with each other.
> > 
> > 3. Description part in test case -
> > Currently there's no 'Description' part for test case format on Nitrate,
> > should we add this part or use 'Setup' part instead?
> No, I don't think 'setup' is the right place since we also use 'setup'
> in our wiki test template.  Does nitrate support a summary or any other
> field to describe the intent of the test in human readable terms?

Oh, it has "Notes" area, maybe we can use that.

> > 4. Grouping cases (by media) -
> > Need a way to separate the cases to different groups in one test run.
> > How can we achieve this in Nitrate?
> Probably different test runs of the same plan.  One run would be for the
> DVD ISO, one for the netinst.iso etc...  Perhaps this will need further
> exploration.

Yeah, use different test runs or sorting the cases by order. 

> > 5. Documents in test result page(Run) - 
> > There's only a little space called 'Note' for documentation on Nitrate
> > and it doesn't support syntax. should we ask for more spaces with syntax
> > supported for test runs like test days?
> Can you explain in more detail?  Are you proposing we move the test day
> wiki content into nitrate, so it's a one-stop-shop for test information
> for that event?

I meant in nitrate, there's only a 'Notes' field to support a simple
summary of each test run. For a test day which has many contents[1] such
as "What to test", "Prerequisite for Test Day", "How to test" etc, it is
hard to put all of these into the 'Notes' field. This field doesn't
support TinyMCE or any other syntax editing.   

> > 6. Moving test results -
> > Moving previous results from a test run to another. AFAIK, there's no
> > way to copy some of one test run results to another.
> Good catch.  I think with nitrate, you can selectively include test
> cases when creating a new test run, right?  Meaning, we wouldn't need to
> include *all* tests in the plan when creating a new test run?

Yeah. but then we need to make very sure that certain cases results
won't be changed in new run. The summary of the new run results is also
not intact. Anyway, this is a workaround.  

> This brings up another question ... permissions.  With the wiki, anyone
> has permission to add or remove tests from a test run.  How will that be
> handled in nitrate?

Since it's internally use only, the permissions only have three: 1.
anonymous - read. 2. tester - read and write any case/run/plan. 3. Admin
- manage the tcms system. 
> > 7. Result type -
> > Nitrate doesn't have 'warn' but has 'error' result status. Modify it to
> > 'warn'?
> What is the significance of 'error' in nitrate?  Does that mean there
> was a test case error, not necessarily a software error?

It presents an environment error, the user guide suggesting the use of
result status is: 

Idle - Default value. The Test Case has not been examined.
Passed - Test Case met all the expected results.
Failed - Test Case did not meet all the expected results, or produced an
unhandled exception.
Running - Test Case is in progress.
Paused - This status is used to denote a problem with the test case
itself that prevents the test from being completed.
Blocked - Test Case has a dependency that has failed.
Error - Test environment has problems that prevent Test Case execution. 

But I guess such 'error' status will be seldom used.

> > 8. Multiple contributions for each case -
> > Support multiple test results for one case run.
> Agreed and good catch!  I think it's very important to allow multiple
> testers to provide feedback on a single test given that the environment
> under test (hardware) can vary for tests.

Yeah, so far, nitrate supports the view of editing logs but only display
the result changed at last time.  

> > 9. Authorities for pages -
> > Pages on wiki with different namespaces can have different permissions,
> > so hopefully pages on Nitrate can also have diff permissions.
> I was confused by this a little earlier as well.  I don't understand the
> concept of pages within nitrate.  Is this to replace the use of our wiki
> test plan document and validation pages (e.g.

I meant for example if use certain namespace like 'Test_Results:' or
'Test_Day:', these test runs allow anonymous editing, while test runs
without such names don't. So nitrate should also provide a way to give
different permissions for test runs.   

> > 10. Supporting anonymous user read-write access -
> > Anonymous have read-write access for specified test runs.
> +1
> > 11. Page protection -
> > Protect certain plans/cases
> Oh, I think I understand now.  Is the analogy here that a valid FAS
> login would be required, like we currently have with our wiki test cases
> and test plans?

Yeah, it's similar to No.9, a valid login is required to change certain
test cases/plans. 

> > 12. License the content -
> > License the contents the same with wiki
> Or at least listed in the list of "GOOD" licenses -
> > 13. Upstream project community -
> > Monitoring it and actively discussing topics in nitrate-devel@, as well
> > as file/share bugs/requirements in bugzilla
> +1 
> > 14. Test day page(run) creation - 
> > In Nitrate each test run are built based on its test plan. Therefore,
> > test day plan and its cases are needed before creating a test day run.
> > Should we change our test day process(adding test plan and its cases) or
> > should we change Nitrate to support creating test runs without test
> > plan? 
> Perhaps something we need to experiment/research with a pilot instance? 

Okay, then in a pilot instance, I'll create a test day plan and add
cases to it first.

> > 15. Test cases priority -
> > Nitrate now has P1, P2, P3..., modify them to Alpha, Beta, and Final?
> Alpha/Beta/Final are appropriate for our two test plans; desktop and
> installation.  I don't know if they apply for all test plans folks might
> contribute.  But it seems like an easy future adjustment, so for our
> immediate needs, P3=Alpha, P2=Beta, P1=Final etc...
> In general, for all nitrate metadata fields (priority, status,
> resolution etc...), whomever administers the tool in Fedora should have
> control over re-defining the values to something appropriate for Fedora.
> Perhaps that might be a more generic way to phrase the requirement?

Ah, I see. Agree with it!

> > 16. Each case with different platforms -
> > Better support two platform results(i386 and x86_64) submitting for each
> > case run 
> Sure, a test run can only be for a single architecture, right?  So we'll
> have two test runs for a compose.
>      1. RC1 - Installation (i386)
>      2. RC1 - Installation (x86_64)

Yeah, more runs can achieve this as well as grouping cases etc, but I'm
afraid this way runs of each event will be too many for management. 

> > Welcome to discuss the above features and provide feedback/suggestion.
> > If there's any important feature missed, or this reminds you the
> > advantages of other tcms tools etc, feel free to talk.
> I know you mention anonymous login support above, can you also list FAS
> authentication?  Apologies if I missed it already.

Do you mean integration with FAS? 

> Thank you for continuing to move forward with this initiative.  I'll
> keep thinking of important features and reply here if I have anything
> worth sharing :)
> Thanks,
> James


FAS Name: Rhe 
Timezone: UTC+8
TEL: 86-010-62608141
IRC nick: rhe #fedora-qa #fedora-zh

More information about the test mailing list