- From: r.britten at auckland.ac.nz (Randall Britten)
- Subject: [cellml-dev] Documentation and Litmus tests
- Date: Mon, 12 Nov 2007 10:35:45 +1300
Hi all
I think Andrew has made a very good point regarding why black-box Litmus
tests are preferable. It is different from the way I usually thought about
this, but I like it, and accept that we should use it.
Regarding documentation, it seems to me that we still need a way of ensuring
we don't forget to document new or changed features. I don't have any
particular preference for how we do this, but I do think we need to have
some part of our process that ensures this.
Regards,
Randall
P.S., I would just like to clarify that I am no fan of bureaucracy and
burdensome processes, let's keep them as light as possible.
>
-----Original Message-----
>
From: cellml-tools-developers-bounces at cellml.org [mailto:cellml-tools-
>
developers-bounces at cellml.org] On Behalf Of Andrew Miller
>
Sent: Friday, 9 November 2007 6:00 p.m.
>
To: A list for the developers of CellML tools
>
Subject: Re: [cellml-dev] Documentation and Litmus tests
>
>
Randall Britten wrote:
>
> My original question leaves open the option of batching docs and
>
litmus
>
> tests.
>
>
>
> So, we still need to formalise how we ensure that required updates to
>
docs
>
> and Litmus tests are not forgotten.
>
>
I don't think there is a 1-1 mapping between documentation and tracker
>
items, or tracker items and Litmus tests. By batching the tests, we are
>
re-auditing the list of tests / the available documentation every time
>
to ensure that they correspond to the current features visible to the
>
end-user. The way we currently use to do this is by enumerating through
>
every possible distinct UI option that the user has - for example, the
>
user has an option of which top-level menu to choose. We then
>
recursively repeat this process on each sub-menu option, and likewise
>
for every other control available in PCEnv. The person updating the
>
functional tests is expected to know how to test that a control has
>
worked appropriately, but there is usually only one main path to test
>
that.
>
>
In general, functional tests should be as 'black-box' as possible, and
>
therefore driven from the functional end as I described and not the
>
code
>
end. Many tracker items are likely to come from the functional tests
>
(or
>
something already covered by them).
>
>
In some cases there can be more complex issues that involve special
>
combinations of performing unusual combinations of actions on different
>
controls. I am not aware of any tracker items which occur in this
>
category, and if there are any, they would certainly be too rare to
>
justify taking some action for every tracker item - instead, perhaps
>
such tracker items could have a keyword set on them. Unless you are
>
aware of a significant number of tracker items needing this, however, I
>
think we should strive to avoid introducing too much bureaucracy into
>
the process - the time costs of following each process adds up quite
>
quickly, and if a certain process has only hypothetical benefits, we
>
are
>
likely to be better off without it.
>
>
Best regards,
>
Andrew
>
>
>
>
> Regards,
>
> Randall
>
>
>
>> -----Original Message-----
>
>> From: cellml-tools-developers-bounces at cellml.org [mailto:cellml-
>
tools-
>
>> developers-bounces at cellml.org] On Behalf Of Andrew Miller
>
>> Sent: Friday, 9 November 2007 2:44 p.m.
>
>> To: A list for the developers of CellML tools
>
>> Subject: Re: [cellml-dev] Documentation and Litmus tests
>
>>
>
>> Randall Britten wrote:
>
>>> Hi all
>
>>>
>
>>>
>
>>>
>
>>> Any preferences as to how we can update our development process so
>
>>> that any time we add a new feature, we have a process for ensuring
>
>>> that the documentation and Litmus tests for these get added?
>
>>>
>
>>>
>
>>>
>
>>> Some possible options: using flags on the tracker items; or not
>
>>> resolving them when the code is done, but rather assigning them to
>
>> the
>
>>> person responsible for writing the documentation?
>
>>>
>
>> Hi,
>
>>
>
>> I personally think we should be able to mark bugs which are fixed as
>
>> being fixed even if we don't yet have tests, otherwise it is a bit
>
>> misleading (and also, it makes it harder to use QA states like
>
VERIFIED
>
>> should we want to do that).
>
>>
>
>> I think the first question we should ask is if we want to do batched
>
or
>
>> continuous updates to functional tests and documentation. The
>
batched
>
>> mode we are currently using does seem to work well as far as I'm
>
aware:
>
>> a) Documentation-wise, the documentation should provide both a
>
>> reference and a guide through the program. Guide-type documentation
>
>> really does need to be batched, because it is highly dependent on
>
how
>
>> features interact, and we don't want to keep re-writing large chunks
>
of
>
>> it continuously. Reference type documentation may be easier to write
>
>> continuously so the developer has fresh memory of all the details,
>
>> although there is a risk of focusing too much on the technical
>
>> specifics
>
>> and not enough on how it would actually be used.
>
>>
>
>> b) Functional tests are often like a more comprehensive guide
>
through
>
>> the program - it is sometimes easier to check that we have all
>
>> functional tests by enumerating the paths through the UI that you
>
get
>
>> at
>
>> them, and this is really what functional tests are supposed to be.
>
>> Regressions would normally trigger a failure of a functional test
>
>> created this way if the full functional tests are comprehensive.
>
>>
>
>> Of course, automated unit / regression tests are a different story
>
>> entirely - because they are run so much more often, and test lower-
>
>> level
>
>> rather than functional elements, they should be updated for bugs (we
>
>> really need to get a framework for this set up in PCEnv). In this
>
case,
>
>> keywords or perhaps flags may be appropriate. We could use flags in
>
the
>
>> sense that:
>
>> 1) Someone sees something that they think should have the test-
>
case,
>
>> so they request the flag.
>
>> 2) The flag sites there waiting for either a test to be written
>
and
>
>> the flag +'d, or for consensus that a test wouldn't be appropriate
>
to
>
>> be
>
>> reached and the flag minused.
>
>>
>
>> Keywords would be another option if we want tracker items to require
>
a
>
>> test by default - then we could search for those that are resolved
>
>> without the keyword - we would probably need another keyword to say
>
>> that
>
>> it wouldn't make sense to write a test for a given tracker item to
>
make
>
>> this usable.
>
>>
>
>> Best regards,
>
>> Andrew
>
>>
>
>>>
>
>>> Regards,
>
>>>
>
>>> Randall
>
>>>
>
>>> -------------------------------------------------------------------
>
--
>
>> ---
>
>>> _______________________________________________
>
>>> cellml-tools-developers mailing list
>
>>> cellml-tools-developers at cellml.org
>
>>> http://www.cellml.org/mailman/listinfo/cellml-tools-developers
>
>>>
>
>> _______________________________________________
>
>> cellml-tools-developers mailing list
>
>> cellml-tools-developers at cellml.org
>
>> http://www.cellml.org/mailman/listinfo/cellml-tools-developers
>
>
>
> _______________________________________________
>
> cellml-tools-developers mailing list
>
> cellml-tools-developers at cellml.org
>
> http://www.cellml.org/mailman/listinfo/cellml-tools-developers
>
>
_______________________________________________
>
cellml-tools-developers mailing list
>
cellml-tools-developers at cellml.org
>
http://www.cellml.org/mailman/listinfo/cellml-tools-developers
Archive powered by MHonArc 2.6.18.