[Libreoffice-qa] Test case naming

2011-11-11 Thread Petr Mladek
Hi,

The list of existing test cases looks the following way in Litmus:

id   # testcase summary  # subgroup
---
1066 # g001 - Installing LibreOffice # General
1061 # g002 - Uninstalling LibreOffice   # General
1053 # g003 - First launch of LibreOffice# General
1063 # g004 - Creating a new document# General
1048 # w002 - Importing MS Word documents# Writer
1052 # w003 - Exporting ODF text document to MS Word formats # Writer 
1049 # w004 - PDF export of text docs# Writer
1054 # w001 - Creating a new text document   # Writer

See also the screenshot at http://download.go-oo.org/qa/test-case-list.png


I see two problems here:

1. The test cases are ordered by the id, so the first writer test case
   is the last in the list.

   I wonder how complicated would be to hack Litmus to sort it by
   the testcase summary.


2. I am not sure what is the meaning of the numbers 001, 002, 003.

   It looks like they define the order in which we should process the
   test cases. If this is true, it does not look ideal:

+ if we do another important test case, we will need to rename
  all less important test cases to keep the right order

+ test cases will be checked by many people; we can't force them
  to do it in an exact order; the result would be that all
  people will test the same test case in parallel

  Hmm, we need to encourage people to do the test cases in
  random order. We still should somehow prioritize the test
  cases.

I suggest to split test cases into several levels by priorities:

P1 - highest: used for very basic tests, e.g. app can be
 installed; it starts; is able to load/save some test
 documents; so it a kind of smoketest

P2 - high: test very common functionality that is used by most
 users. e.g. able to write text, insert picture; draw
 elements; create table; use function in calc; create graph,
 run presentation

P3 - medium: test common functionality that is used by typical
 a bit experienced office user, e.g. create borders around
 tables; do animation between slides; modify text style;
 modify master slide page;

P4 - low: test functionality for hi-tech users, e.g. writing
 macros, using Calc solver, complex operations with data
 bases

I suggest to use the names:

p1g - 
p1w - 
p2g - 
p2w - 

Then we will have all p1 test cases listed before p2 test cases.


What do you think?


Best Regards,
Petr


___
List Name: Libreoffice-qa mailing list
Mail address: Libreoffice-qa@lists.freedesktop.org
Change settings: http://lists.freedesktop.org/mailman/listinfo/libreoffice-qa
Problems? http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://lists.freedesktop.org/archives/libreoffice-qa/


Re: [Libreoffice-qa] Test case naming

2011-11-12 Thread Rimas Kudelis
Hello Petr, and everyone,

2011.11.11 22:14, Petr Mladek rašė:
> The list of existing test cases looks the following way in Litmus:
>
> id   # testcase summary  # subgroup
> ---
> 1066 # g001 - Installing LibreOffice # General
> 1061 # g002 - Uninstalling LibreOffice   # General
> 1053 # g003 - First launch of LibreOffice# General
> 1063 # g004 - Creating a new document# General
> 1048 # w002 - Importing MS Word documents# Writer
> 1052 # w003 - Exporting ODF text document to MS Word formats # Writer 
> 1049 # w004 - PDF export of text docs# Writer
> 1054 # w001 - Creating a new text document   # Writer
>
> See also the screenshot at http://download.go-oo.org/qa/test-case-list.png
>
>
> I see two problems here:
>
> 1. The test cases are ordered by the id, so the first writer test case
>is the last in the list.

No, they are not ordered by id. Actually, I've just digged, and the
order is as specified for subgroups inside a testgroup, and then as
specified for testcases inside each subgroup.

If you look at what you pasted (and at your image) again, you'll notice
that #w001 is the only testcase that wasn't shown in its expected
position, and that is because it wasn't positioned correctly inside the
subgroup. I've just corrected its position and it's now shown where
expected.

>I wonder how complicated would be to hack Litmus to sort it by
>the testcase summary.

This is thus irrelevant, cause there's nothing to modify. :)

> 2. I am not sure what is the meaning of the numbers 001, 002, 003.
>
>It looks like they define the order in which we should process the
>test cases. If this is true, it does not look ideal:
>
>   + if we do another important test case, we will need to rename
>   all less important test cases to keep the right order
>
> + test cases will be checked by many people; we can't force them
>   to do it in an exact order; the result would be that all
>   people will test the same test case in parallel
>
>   Hmm, we need to encourage people to do the test cases in
>   random order. We still should somehow prioritize the test
>   cases.

I personally don't like current naming with ugly prefices at all, but
it's Yifan's call, and I suppose he has a good reason for that naming
scheme. However, I'm afraid we can't randomize testcase order by
default. Currently, this would probably have to be done manually each
time a relevant subgroup is updated. That would be a PITA. On the other
hand, it's not really that bad. You can still run the tests in random
order, but you will always see them in the specified order.

> I suggest to split test cases into several levels by priorities:
>
>   P1 - highest: used for very basic tests, e.g. app can be
>  installed; it starts; is able to load/save some test
>  documents; so it a kind of smoketest
>
> P2 - high: test very common functionality that is used by most
>  users. e.g. able to write text, insert picture; draw
>  elements; create table; use function in calc; create graph,
>  run presentation
>
> P3 - medium: test common functionality that is used by typical
>  a bit experienced office user, e.g. create borders around
>  tables; do animation between slides; modify text style;
>  modify master slide page;
>
> P4 - low: test functionality for hi-tech users, e.g. writing
>  macros, using Calc solver, complex operations with data
>  bases
>
> I suggest to use the names:
>
> p1g - 
> p1w - 
> p2g - 
> p2w - 
>
> Then we will have all p1 test cases listed before p2 test cases.
>
>
> What do you think?

Prioritizing is probably a good idea, but like I said, random order
would require some Litmus modification. While certainly possible (and
probably quite easy), I'm not sure that is what we indeed want.

Rimas

___
List Name: Libreoffice-qa mailing list
Mail address: Libreoffice-qa@lists.freedesktop.org
Change settings: http://lists.freedesktop.org/mailman/listinfo/libreoffice-qa
Problems? http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://lists.freedesktop.org/archives/libreoffice-qa/

Re: [Libreoffice-qa] Test case naming

2011-11-13 Thread Yifan Jiang
Hi Rimas, Petr and all,

Thanks for the nice discussions, my ideas as follows :)

On Sat, Nov 12, 2011 at 10:46:48PM +0200, Rimas Kudelis wrote:
> This is thus irrelevant, cause there's nothing to modify. :)
> 
> > 2. I am not sure what is the meaning of the numbers 001, 002, 003.
> >
> >It looks like they define the order in which we should process the
> >test cases. If this is true, it does not look ideal:
> >
> > + if we do another important test case, we will need to rename
> >   all less important test cases to keep the right order
> >
> > + test cases will be checked by many people; we can't force them
> >   to do it in an exact order; the result would be that all
> >   people will test the same test case in parallel
> >
> >   Hmm, we need to encourage people to do the test cases in
> >   random order. We still should somehow prioritize the test
> >   cases.
> 
> I personally don't like current naming with ugly prefices at all, but
> it's Yifan's call, and I suppose he has a good reason for that naming
> scheme. However, I'm afraid we can't randomize testcase order by
> default. Currently, this would probably have to be done manually each
> time a relevant subgroup is updated. That would be a PITA. On the other
> hand, it's not really that bad. You can still run the tests in random
> order, but you will always see them in the specified order.

>From my understanding, I neither mean to encourage users to run cases
in a specific order. The ids were originally being there since I got
involved. I think it still makes sense to kept them there mainly
because of the "syncing" problem of test cases in different languages.

For example:

#EN - w001 xxx

is supposed to have the same content with (but in different version of
language):

#FR - w001 xxx
#DE - w001 xxx
#pt-BR - w001 xxx

These give us reasonable information showing which cases are supposed
to be "synced" to each other (they may not have exact same steps of
testing because of the diversity of language settings, but they should
test the same areas). So for current testing organization, I think
these ids are still playing their role in L10N test
branches. Otherwise, syncing of cases could be painful. Meanwhile in
Function Regression testing branch, by the fact we are now using a
single case to host all language versions of test case, it may not
make sense to keep the id any more.

> > I suggest to split test cases into several levels by priorities:
> >
> > P1 - highest: used for very basic tests, e.g. app can be
> >  installed; it starts; is able to load/save some test
> >  documents; so it a kind of smoketest
> >
> > P2 - high: test very common functionality that is used by most
> >  users. e.g. able to write text, insert picture; draw
> >  elements; create table; use function in calc; create graph,
> >  run presentation
> >
> > P3 - medium: test common functionality that is used by typical
> >  a bit experienced office user, e.g. create borders around
> >  tables; do animation between slides; modify text style;
> >  modify master slide page;
> >
> > P4 - low: test functionality for hi-tech users, e.g. writing
> >  macros, using Calc solver, complex operations with data
> >  bases
> >
> > I suggest to use the names:
> >
> > p1g - 
> > p1w - 
> > p2g - 
> > p2w - 
> >
> > Then we will have all p1 test cases listed before p2 test cases.
> >
> >
> > What do you think?
> 
> Prioritizing is probably a good idea, but like I said, random order
> would require some Litmus modification. While certainly possible (and
> probably quite easy), I'm not sure that is what we indeed want.

Actually it is a great idea to have priority here, at least they are
helpful for us to define subset of test runs. For example, we can
create "smoke test runs" by select P1 only test cases when creating a
test run from a full regression branch containing all cases.

That is to say, even before we sort out how order of the test cases
could be implemented, we can always create specific test runs on
demand via the information of the priority "tags". i.e We can define
"smoke test" runs, "basic test" runs, "full regression test" run by
selecting cases, in which all the test cases are divided physically in
test runs and sorting becomes trivial. But it still makes sense if we
can do some hacking in ordering, which could save much of the test
cases selection effort and makes the system more flexible. :)

At the same time, as stated before, for L10N test case branch, we
probably still want test case id until we have some better solution
for translation syncing problem.

Best wishes,
Yifan
___
List Name: Libreoffice-qa mailing list
Mail address: Libreoffice-qa@lists.freedesktop.org
Ch

Re: [Libreoffice-qa] Test case naming

2011-11-14 Thread Petr Mladek
Rimas Kudelis píše v So 12. 11. 2011 v 22:46 +0200:
> 2011.11.11 22:14, Petr Mladek rašė:
> > The list of existing test cases looks the following way in Litmus:
> >
> > id   # testcase summary  # subgroup
> > ---
> > 1066 # g001 - Installing LibreOffice # General
> > 1061 # g002 - Uninstalling LibreOffice   # General
> > 1053 # g003 - First launch of LibreOffice# General
> > 1063 # g004 - Creating a new document# General
> > 1048 # w002 - Importing MS Word documents# Writer
> > 1052 # w003 - Exporting ODF text document to MS Word formats # Writer 
> > 1049 # w004 - PDF export of text docs# Writer
> > 1054 # w001 - Creating a new text document   # Writer
>
> If you look at what you pasted (and at your image) again, you'll notice
> that #w001 is the only testcase that wasn't shown in its expected
> position, and that is because it wasn't positioned correctly inside the
> subgroup. I've just corrected its position and it's now shown where
> expected.

Interesting. So, the test cases are not sorted alphabetically. Am I
right? How do you define the sorting inside the group? Are you able to
do it from the UI? I do not see this possibility in the "Manage
Testcases" interface :-)

> However, I'm afraid we can't randomize testcase order by
> default. Currently, this would probably have to be done manually each
> time a relevant subgroup is updated. That would be a PITA. On the other
> hand, it's not really that bad. You can still run the tests in random
> order, but you will always see them in the specified order.

I agree. We do not need to randomize the test cases in the view. It
might be enough to ask people to run it randomly.


Best Regards,
Petr

___
List Name: Libreoffice-qa mailing list
Mail address: Libreoffice-qa@lists.freedesktop.org
Change settings: http://lists.freedesktop.org/mailman/listinfo/libreoffice-qa
Problems? http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://lists.freedesktop.org/archives/libreoffice-qa/

Re: [Libreoffice-qa] Test case naming

2011-11-14 Thread Petr Mladek
Yifan Jiang píše v Ne 13. 11. 2011 v 18:46 +0800:
> On Sat, Nov 12, 2011 at 10:46:48PM +0200, Rimas Kudelis wrote:
> For example:
> 
> #EN - w001 xxx
> 
> is supposed to have the same content with (but in different version of
> language):
> 
> #FR - w001 xxx
> #DE - w001 xxx
> #pt-BR - w001 xxx
> 
> These give us reasonable information showing which cases are supposed
> to be "synced" to each other (they may not have exact same steps of
> testing because of the diversity of language settings, but they should
> test the same areas). So for current testing organization, I think
> these ids are still playing their role in L10N test
> branches. Otherwise, syncing of cases could be painful.

So, the number 001, 002, 003, 004 is a l10n test case number (something
like bugzilla number). Would be enough to mention it in brackets at the
end of the test case summary? I mean something like:

p1 - test case summary (w#1,en)
p1 - another test case summary (w#2,en)

and localized

p1 - test case summary (w#1,en)
p1 - popis testu (w#1,cs)
p1 - Testfall Zusammenfassung (w#1,cs)

I know that it is not ideal because it wont be that easy to sort the
test cases by the id and compare the list. On the other hand, syncing
localized test cases will not be easy anyway. I think that the bug
priority is more important sorting criteria

Note that

p1 #EN - w001 test case summary looks confusing to me. There are just
too many identifiers in the prefix. And it does not help with sorting as
well.

>  Meanwhile in Function Regression testing branch, by the fact we are
>  now using a single case to host all language versions of test case, it
>  may not make sense to keep the id any more.

This way, it would look the same for function regression test and
localization regression tests. The localization regression test will
just have some extra identification in the brackets.


> > > I suggest to split test cases into several levels by priorities:

> Actually it is a great idea to have priority here, at least they are
> helpful for us to define subset of test runs. For example, we can
> create "smoke test runs" by select P1 only test cases when creating a
> test run from a full regression branch containing all cases.

Exactly

> That is to say, even before we sort out how order of the test cases
> could be implemented, we can always create specific test runs on
> demand via the information of the priority "tags".

BTW: How do you suggest to create the priority "tag"? Is there any
better solution than to put it into prefix of the test case summary?


Rimas, Ti Fan, thank you both for looking at it.


Best Regards,
Petr

___
List Name: Libreoffice-qa mailing list
Mail address: Libreoffice-qa@lists.freedesktop.org
Change settings: http://lists.freedesktop.org/mailman/listinfo/libreoffice-qa
Problems? http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://lists.freedesktop.org/archives/libreoffice-qa/

Re: [Libreoffice-qa] Test case naming

2011-11-14 Thread Rimas Kudelis
2011.11.14 12:07, Petr Mladek rašė:
> Rimas Kudelis píše v So 12. 11. 2011 v 22:46 +0200:
>> 2011.11.11 22:14, Petr Mladek rašė:
>>> The list of existing test cases looks the following way in Litmus:
>>>
>>> id   # testcase summary  # subgroup
>>> ---
>>> 1066 # g001 - Installing LibreOffice # General
>>> 1061 # g002 - Uninstalling LibreOffice   # General
>>> 1053 # g003 - First launch of LibreOffice# General
>>> 1063 # g004 - Creating a new document# General
>>> 1048 # w002 - Importing MS Word documents# Writer
>>> 1052 # w003 - Exporting ODF text document to MS Word formats # Writer 
>>> 1049 # w004 - PDF export of text docs# Writer
>>> 1054 # w001 - Creating a new text document   # Writer
>> If you look at what you pasted (and at your image) again, you'll notice
>> that #w001 is the only testcase that wasn't shown in its expected
>> position, and that is because it wasn't positioned correctly inside the
>> subgroup. I've just corrected its position and it's now shown where
>> expected.
> Interesting. So, the test cases are not sorted alphabetically. Am I
> right? How do you define the sorting inside the group? Are you able to
> do it from the UI? I do not see this possibility in the "Manage
> Testcases" interface :-)

When you are creating/editing a subgroup and adding testcases to it, you
can sort testcases as you like.
Similarly, when you are creating/editing a testgroup and adding
subgroups to it, you can sort subgroups as you like.

So yes, this is available in the UI.

>> However, I'm afraid we can't randomize testcase order by
>> default. Currently, this would probably have to be done manually each
>> time a relevant subgroup is updated. That would be a PITA. On the other
>> hand, it's not really that bad. You can still run the tests in random
>> order, but you will always see them in the specified order.
> I agree. We do not need to randomize the test cases in the view. It
> might be enough to ask people to run it randomly.

Good. :)

Rimas
___
List Name: Libreoffice-qa mailing list
Mail address: Libreoffice-qa@lists.freedesktop.org
Change settings: http://lists.freedesktop.org/mailman/listinfo/libreoffice-qa
Problems? http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://lists.freedesktop.org/archives/libreoffice-qa/

Re: [Libreoffice-qa] Test case naming

2011-11-14 Thread Rimas Kudelis
On 2011.11.14 12:28, Petr Mladek wrote:
> Yifan Jiang píše v Ne 13. 11. 2011 v 18:46 +0800:
>> For example:
>>
>> #EN - w001 xxx
>>
>> is supposed to have the same content with (but in different version of
>> language):
>>
>> #FR - w001 xxx
>> #DE - w001 xxx
>> #pt-BR - w001 xxx
>>
>> These give us reasonable information showing which cases are supposed
>> to be "synced" to each other (they may not have exact same steps of
>> testing because of the diversity of language settings, but they should
>> test the same areas). So for current testing organization, I think
>> these ids are still playing their role in L10N test
>> branches. Otherwise, syncing of cases could be painful.

Ah, this makes sense.

> So, the number 001, 002, 003, 004 is a l10n test case number (something
> like bugzilla number). Would be enough to mention it in brackets at the
> end of the test case summary? I mean something like:
>
> p1 - test case summary (w#1,en)
> p1 - another test case summary (w#2,en)
>
> and localized
>
> p1 - test case summary (w#1,en)
> p1 - popis testu (w#1,cs)
> p1 - Testfall Zusammenfassung (w#1,cs)
>
> I know that it is not ideal because it wont be that easy to sort the
> test cases by the id and compare the list. On the other hand, syncing
> localized test cases will not be easy anyway. I think that the bug
> priority is more important sorting criteria
>
> Note that
>
> p1 #EN - w001 test case summary looks confusing to me. There are just
> too many identifiers in the prefix. And it does not help with sorting as
> well.

P1 W01EN would be shorter. Still admittedly quite ugly though.

>>  Meanwhile in Function Regression testing branch, by the fact we are
>>  now using a single case to host all language versions of test case, it
>>  may not make sense to keep the id any more.

Note the testcase still has its real id (used in the database). If
needed, it could be made more visible.

> This way, it would look the same for function regression test and
> localization regression tests. The localization regression test will
> just have some extra identification in the brackets.

Like you said, this would make different testcases harder to associate
with each other. OTOH, I guess only the admins often see them all in the
same place.

 I suggest to split test cases into several levels by priorities:
>> Actually it is a great idea to have priority here, at least they are
>> helpful for us to define subset of test runs. For example, we can
>> create "smoke test runs" by select P1 only test cases when creating a
>> test run from a full regression branch containing all cases.
> Exactly
>
>> That is to say, even before we sort out how order of the test cases
>> could be implemented, we can always create specific test runs on
>> demand via the information of the priority "tags".
> BTW: How do you suggest to create the priority "tag"? Is there any
> better solution than to put it into prefix of the test case summary?

Well, as an alternative, branches/groups/subgroups could be reviewed
again. :)

Also, Litmus allows marking certain test runs as recommended and shows
them on top. This means that separate P1 testruns could be created and
promoted on Litmus homepage.

Rimas

___
List Name: Libreoffice-qa mailing list
Mail address: Libreoffice-qa@lists.freedesktop.org
Change settings: http://lists.freedesktop.org/mailman/listinfo/libreoffice-qa
Problems? http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://lists.freedesktop.org/archives/libreoffice-qa/

Re: [Libreoffice-qa] Test case naming

2011-11-14 Thread Yifan Jiang
Hi Petr, Rimas and all,

On Mon, Nov 14, 2011 at 10:25:28PM +0200, Rimas Kudelis wrote:

> >> That is to say, even before we sort out how order of the test cases
> >> could be implemented, we can always create specific test runs on
> >> demand via the information of the priority "tags".
> > BTW: How do you suggest to create the priority "tag"? Is there any
> > better solution than to put it into prefix of the test case summary?
> 
> Well, as an alternative, branches/groups/subgroups could be reviewed
> again. :)

The idea is actually brilliant! I also thought a bit in this way, but didn't
conclude anything cenrtain at the moment. The problems I can think by
leveraging branch/group/subgroup is

1. The test cases priority heavily depend on Litmus tool that it doesn't
carry the information with their summaries. Instead, the 
group/subgroup/branch
where they are in tell us the priority.

2. The maintainence effort and process may be increased a bit, but in a
acceptable amount (at least for me).

The benifits are:

1. Creating test runs can be easier that higher level definition would
allow admins to create a specific priority test run simply by selecting
corresponding subgroup, group or branch of test cases, instead of reviwing
each test case's title.

2. The maintenence of test cases is assumed to be more elegant and
intuitive. For example, we can change a test case's priority by change its
corresponding subgroup, group or branch, instead of changing test case's
title.

The following is something they would look like, assume we don't change a lot
the whole structure of current organization.

Overall satistics:

We now have 3 branches:

master regression branch
- 1 group
- 7 subgroups in each group
master l10n branch
- 4 groups
- 7 subgroups in each group
master feature branch
- we may not consider case priority here?

Case 1. Carry priority information with subgroups name

Prototype:

Branch Master Function Regression Test

Group: Function test

Subgroup p1 writer
Subgroup p2 writer
Subgroup p3 writer
Subgroup p4 writer
Subgroup p1 calc
Subgroup p2 calc
Subgroup p3 calc
...

Case 2. Carry priority information with groups name

Prototype:

Branch Master Function Regression Test

Group: Function test p1
Subgroup writer
Subgroup calc
...
Group: Function test p2
Subgroup writer
Subgroup calc
...
Group: Function test p3
Subgroup writer
Subgroup calc
...

Case 3. Carry priority information with branches

Branch Master Function Regression Test p1
Branch Master Function Regression Test p2
Branch Master Function Regression Test p3
Branch Master Function Regression Test p4
All the structure inside different priority branches are the same.

Branch Master L10n Regression Test p1
Branch Master L10n Regression Test p2
Branch Master L10n Regression Test p3
Branch Master L10n Regression Test p4
All the structure inside different priority branches are the same.

I am slightly inclined to the Case 3, it still keeps most of original things
(groups and subroups), which have already been divided in a clear logic and
not that easy to get familiar with. Also Case 3 is the most easy way if we
want to create different runs in different phase of release.

Intuitively, we can "feel" all the three cases by describe a particular l10n
test case in each:

Case 1 - subgroup.

This is a P1 writer test case in English locale for regression testing

Case 2 - group

This is a P1 English locale writer test case for regression testing

Case 3 - branch

This is a P1 regression test case for writer in an English locale

I feel Case 2 is hard to describe :) Case 1 is okay, but it doesn't really
take advantage against Case 3. 

It would be interesting if you share some your ideas of cons/prons of them. :)

Best wishes,
Yifan
___
List Name: Libreoffice-qa mailing list
Mail address: Libreoffice-qa@lists.freedesktop.org
Change settings: http://lists.freedesktop.org/mailman/listinfo/libreoffice-qa
Problems? http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://lists.freedesktop.org/archives/libreoffice-qa/


Re: [Libreoffice-qa] Test case naming

2011-11-15 Thread Petr Mladek
Hi guys,

first, I am sorry that this mail does react on the last mail from
Rimas. I started to write this replay in the morning. I had to
interrupt it for some reasons. I think that the ideas mentioned below
still make sense. Though, I might change my preference after reading
Rimas's reply.


Yifan Jiang píše v Út 15. 11. 2011 v 13:34 +0800:
> On Mon, Nov 14, 2011 at 10:25:28PM +0200, Rimas Kudelis wrote:
> > Well, as an alternative, branches/groups/subgroups could be reviewed
> > again. :)
> 
> The idea is actually brilliant!

Fully agree!

> The following is something they would look like, assume we don't change a lot
> the whole structure of current organization.
> 
> Case 1. Carry priority information with subgroups name

> Case 2. Carry priority information with groups name

> Case 3. Carry priority information with branches

> I am slightly inclined to the Case 3, it still keeps most of original things
> (groups and subroups), which have already been divided in a clear logic and
> not that easy to get familiar with. Also Case 3 is the most easy way if we
> want to create different runs in different phase of release.

I think that creating test run is only one scenario. I think that we
need to think about all use cases:

A. Maintenance
--

The are few actions:

+ localize test - has two subactions:

+ creating the structure:

If we could copy the whole group,
solution 1 is fastest because there
are less groups and branches. Solution 2
is good because you need not switch between
branches.

If we need to create the whole
structure from scratch, it does not
matter because the total number of
subgroups is always the same


+ checking differences and localizing

If you select another branch in the search dialog,
you need to select group and subgroup again

=> Solution 1 is better than 2
and 2 is better than 3 because
if is easier to switch between
subgroups; it is easier to between
groups than branches


+ adding/updating test cases:

+ IMHO, it is similar to checking and localizing =>
  1 is better than 2 and 2 is better than 3
  because it is easier to switch subgroups than groups
  and switch groups than branches
   

B. Creating Branches for new release


+ 1 or 2 are easier than 3 because they have less branches


C. Creating Test Runs
-

+ I do not know how this works. You say that 3 is the easiest
  way because you just create run from a branch?

+ IMHO, 1 would be nightmare because you would need
  to select to many subgroups manually if you want to test only
  P1 test.


D. Testing
--

This is very important because many people will do this many time!!!

I think that we have 2 actions: 

+ doing the test

People need to find easily what tests are not finished.
You need to enter a test run to see the statistic

=> we should have as few active test runs as possible

if 3 produces more test runs, I am against it

=> 1 or 2 is better

+ analyzing results:

I am not sure how we check the state of testing; the best 
solution
would be to check on page and see how many tests are finished;
how many tests succeded and failed

I guess that the solution 3 is bad from this point of view.


Summary:


3 is bad for testing. 1 is bad for creating test runs. 2 is the best
compromise in most situations.

=> I prefer 2.

Note that 2 has better granularity. We will have many branches in the
long term for released products. Solution 1 produces too many subgroups
in a single group.


=


Hmm, when I think about it. I am somehow afraid that we would have too
many subgroups in the l10n branch. It does not mater how we split it
but it will be hard to maintain.

Do we really expect that many l10n-specific test cases for Draw,
Impress, Base, or Calc? Do we really need the subgroups?

What about the following structure:

+ function tests:

+ P1
+ General
+ Base
+ Calc
+ ...

+ P2

+ General
+ Base
+ ...

+ l10n test:

+ P1
+ en
+ de
+ fr
+ it

+ P2
+ en
+ de
+ fr
 

Re: [Libreoffice-qa] Test case naming

2011-11-15 Thread Petr Mladek
Rimas Kudelis píše v Út 15. 11. 2011 v 13:43 +0200:
> Hi all,
> 
> I took a quick look at how testruns are created and what we can and
> cannot choose when creating a testrun. My suggestion is based on the
> fact that each testrun comprises of
> 
> * all subgroups in
> * one or more testgroups in
> * exactly one branch in
> * exactly one product.
> 
> That is, a testrun cannot span through multiple branches or products,
> nor can you specify which subgroups to add to it. You can only choose
> groups.

This is important information. Thanks for looking at it.

> > Overall satistics:
> >
> > We now have 3 branches:
> >
> > master regression branch
> > - 1 group
> > - 7 subgroups in each group
> > master l10n branch
> > - 4 groups
> > - 7 subgroups in each group
> > master feature branch
> > - we may not consider case priority here?
> 
> Current scheme does not allow creating a catch-all testrun comprising
> all tests for a single product/branch. I don't know whether or not such
> ability is desired, but it looks logical to me.

You are right. 1 run is the best solution. Well, 2 or three test runs
for a release still might be acceptable.

>  Also, maybe I shouldn't look that far into future, but I hope that
>  there will come a day when proper localization of testcases will be
>  possible (that is, instead of creating a clone of testcase X in
>  another language, we would actually be able to translate testcase X
>  into that language). With that in mind, current testgroups (which
>  represent different locales) would become unneeded.

I am not sure if the l10n tests will be pure word-to-word translation.
Some things are done completely different in different languages, for
example the layout of the letter template, right-to-left language
features, decimal number delimiter, dates. I am sure that some
languages would need special tests.


BTW: How is the localization used during test run?

I know that I select locale in the "Run Tests - Your Chosen Test Run"
dialog, see
https://wiki.documentfoundation.org/Litmus/Litmus_User_Guide#Enter_Test_Configuration

If I select "de", will I see only the "de" test cases from the l10n
branch? I am not sure if it is important but it would be nice.


> > Case 1. Carry priority information with subgroups name

> This scheme would make it impossible to create a testrun for e.g. just
> P1 tests. Or just writer tests. I guess this is pretty much the same as
> what we have now, so all criticism from above paragraph applies here too.

Good point. We can't use this.

> > Case 2. Carry priority information with groups name

> This is probably OK if you don't mind having to create three testruns
> for each version

It is not ideal but acceptable.

>  and be unable to create testruns for separate components

IMHO, this is fine.

> . I think you forgot locales here though. I assume that for
> each locale/priority there would be a separate testgroup?

I guess so. Hmm, that would create too many test groups. See my other
mail.


> > Case 3. Carry priority information with branches

> IMO, Case 3 is the worst case, because for each version of LibreOffice,
> you would have to create 4*3=12 testruns – one for each priority/test
> type combination.

I am not sure if it is the worst case because the solution 1 was bad as
well :-) Anyway, I think that 3 is not a way to go.

> My suggestion is to have a single branch, but carry Priority, Locale and
> Component information in the Testgroup, and to represent test type by a
> subgroup. That is, what is now a branch, would become a subgroup, and
> everything else would become a testgroup (see the attached PDF file).

Hmm, I am afraid that we would get too many testgroups. It produces 7
(General, Base, Calc, Draw, Impress, Math, Writer) testgroups for one
language. We have 109 localizations in sources => we could end up with
more than 700 test groups.

> This allows to:
> * create testruns based on priority, locale, component, or any
> combination of these

The question is what test runs we will want to create.

> * create a single catch-all testrun for a single version of LibO

would be nice

> * share the same General Functional Tests subgroup between testgroups
> designated for different locales (that is, you would create this
> subgroup once, and add it to all locale groups)

I am not sure what you mean with this. Could we share subgroups between
test groups in Litmus? Is it clearly visible or is hard to maintain and
see?

BTW: What do you mean with the "Basis Functional Test"? We do not have
this subgroup in the current structure.


> * drop 75% of the testgroups (there would be about 28 of them initially)
> if/when proper testcase localization is implemented, still not rendering
> the remaining testgroups useless.

I am not sure if we really could drop them. Well, the question is if we
need to split between lang-dependent and lang-independent on the t

Re: [Libreoffice-qa] Test case naming

2011-11-15 Thread Rimas Kudelis
Hi Petr,

2011.11.15 17:30, Petr Mladek rašė:
> Rimas Kudelis píše v Út 15. 11. 2011 v 13:43 +0200:
>>  Also, maybe I shouldn't look that far into future, but I hope that
>>  there will come a day when proper localization of testcases will be
>>  possible (that is, instead of creating a clone of testcase X in
>>  another language, we would actually be able to translate testcase X
>>  into that language). With that in mind, current testgroups (which
>>  represent different locales) would become unneeded.
> I am not sure if the l10n tests will be pure word-to-word translation.
> Some things are done completely different in different languages, for
> example the layout of the letter template, right-to-left language
> features, decimal number delimiter, dates. I am sure that some
> languages would need special tests.

I didn't say they have to be translated word-to-word. They should be
*localized*, and I would expect a localized testcase to suggest
localized number and date formats and other stuff.

RTL, on the other hand, might probably need a few additional testcases.
Though not many, I would guess.

> BTW: How is the localization used during test run?

It's not. It's just shown in the test results.

> I know that I select locale in the "Run Tests - Your Chosen Test Run"
> dialog, see
> https://wiki.documentfoundation.org/Litmus/Litmus_User_Guide#Enter_Test_Configuration
>
> If I select "de", will I see only the "de" test cases from the l10n
> branch? I am not sure if it is important but it would be nice.

No, currently you will still see all testcases.

My idea with localizable testcases though is pretty much about this. If
testcase X was localized instead of duplicated, it would only be shown
once, in user's preferred locale (I don't know yet how exactly the user
would "prefer" that locale though and what a user who would want to test
more than one locale would do).

>> My suggestion is to have a single branch, but carry Priority, Locale and
>> Component information in the Testgroup, and to represent test type by a
>> subgroup. That is, what is now a branch, would become a subgroup, and
>> everything else would become a testgroup (see the attached PDF file).
> Hmm, I am afraid that we would get too many testgroups. It produces 7
> (General, Base, Calc, Draw, Impress, Math, Writer) testgroups for one
> language. We have 109 localizations in sources => we could end up with
> more than 700 test groups.

Which I guess is not realistic, at least in the short term.  ;) Right
now we only have four languages into which testcases are translated.
With 50, it's of course a different story, but with 4 to 10... it's
probably still manageable enough.

>> This allows to:
>> * create testruns based on priority, locale, component, or any
>> combination of these
> The question is what test runs we will want to create.
>
>> * create a single catch-all testrun for a single version of LibO
> would be nice
>
>> * share the same General Functional Tests subgroup between testgroups
>> designated for different locales (that is, you would create this
>> subgroup once, and add it to all locale groups)
> I am not sure what you mean with this. Could we share subgroups between
> test groups in Litmus? Is it clearly visible or is hard to maintain and
> see?

Like I mentioned before, when you create/edit a testgroup, you can add
the subgroups you want to it. So subgroups can be shared, yes.

> BTW: What do you mean with the "Basis Functional Test"? We do not have
> this subgroup in the current structure.

Don't we?
https://tcm.documentfoundation.org/manage_testgroups.cgi?testgroup_id=58

>> * drop 75% of the testgroups (there would be about 28 of them initially)
>> if/when proper testcase localization is implemented, still not rendering
>> the remaining testgroups useless.
> I am not sure if we really could drop them. Well, the question is if we
> need to split between lang-dependent and lang-independent on the top
> level.

I don't think there are many lang-dependent testcases. Desired result
may depend on the language, yes, but the testcase itself?

> Heh, it seems that it is quite complex problem. I am going to write
> another mail where I will try to summarize some ideas :-)

Good luck with that. :)

Rimas
___
List Name: Libreoffice-qa mailing list
Mail address: Libreoffice-qa@lists.freedesktop.org
Change settings: http://lists.freedesktop.org/mailman/listinfo/libreoffice-qa
Problems? http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://lists.freedesktop.org/archives/libreoffice-qa/

Re: [Libreoffice-qa] Test case naming

2011-11-15 Thread Petr Mladek
Rimas Kudelis píše v Út 15. 11. 2011 v 18:21 +0200:
> 2011.11.15 17:30, Petr Mladek rašė:
> I didn't say they have to be translated word-to-word. They should be
> *localized*, and I would expect a localized testcase to suggest
> localized number and date formats and other stuff.

I see.

Well another question is how it appears in the test run. The language
independent tests are proceed once. The language dependent tests need to
be proceed for every localization.

> RTL, on the other hand, might probably need a few additional testcases.
> Though not many, I would guess.

I agree.

> > BTW: How is the localization used during test run?
> >
> > If I select "de", will I see only the "de" test cases from the l10n
> > branch? I am not sure if it is important but it would be nice.
> 
> No, currently you will still see all testcases.
> 
> My idea with localizable testcases though is pretty much about this. If
> testcase X was localized instead of duplicated, it would only be shown
> once, in user's preferred locale (I don't know yet how exactly the user
> would "prefer" that locale though and what a user who would want to test
> more than one locale would do).

Yes, it sounds great.

> >> My suggestion is to have a single branch, but carry Priority, Locale and
> >> Component information in the Testgroup, and to represent test type by a
> >> subgroup. That is, what is now a branch, would become a subgroup, and
> >> everything else would become a testgroup (see the attached PDF file).
> > Hmm, I am afraid that we would get too many testgroups. It produces 7
> > (General, Base, Calc, Draw, Impress, Math, Writer) testgroups for one
> > language. We have 109 localizations in sources => we could end up with
> > more than 700 test groups.
> 
> Which I guess is not realistic, at least in the short term.  ;) Right
> now we only have four languages into which testcases are translated.
> With 50, it's of course a different story, but with 4 to 10... it's
> probably still manageable enough.

I hope that 10+ is quite realistic. If people provide translation. They
might want to do also testing. I think that we have more than 10 active
l10n teams. Maybe, they just do not know how to work with Litmus.

> >> * share the same General Functional Tests subgroup between testgroups
> >> designated for different locales (that is, you would create this
> >> subgroup once, and add it to all locale groups)
> > I am not sure what you mean with this. Could we share subgroups between
> > test groups in Litmus? Is it clearly visible or is hard to maintain and
> > see?
> 
> Like I mentioned before, when you create/edit a testgroup, you can add
> the subgroups you want to it. So subgroups can be shared, yes.

Heh, it is interesting feature. I need to think if we could somehow use
it.

I am slightly afraid to use it because you will see the same text in
different context. You will not know how your changes affect other
locations.

It is hard to visualize. Heh, I just might be too tired today ;-)

> > BTW: What do you mean with the "Basis Functional Test"? We do not have
> > this subgroup in the current structure.
> 
> Don't we?
> https://tcm.documentfoundation.org/manage_testgroups.cgi?testgroup_id=58

I guess that it comes from the older structure and is used only in the
obsolete branches.

In each case, it does not fit the current approach. "Basic tests" is
something that should go the "P1" or "P2" group of the functional or
l10n tests.


> >> * drop 75% of the testgroups (there would be about 28 of them initially)
> >> if/when proper testcase localization is implemented, still not rendering
> >> the remaining testgroups useless.
> > I am not sure if we really could drop them. Well, the question is if we
> > need to split between lang-dependent and lang-independent on the top
> > level.
> 
> I don't think there are many lang-dependent testcases. Desired result
> may depend on the language, yes, but the testcase itself?

I see the point. The logic should be the same for all languages.

The Right-to-Left stuff will be tested only in some locales but it still
can be described in all languages.

Well, we still do not have this support, so we need to split the
languages in the group names.


Best Regards,
Petr

___
List Name: Libreoffice-qa mailing list
Mail address: Libreoffice-qa@lists.freedesktop.org
Change settings: http://lists.freedesktop.org/mailman/listinfo/libreoffice-qa
Problems? http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://lists.freedesktop.org/archives/libreoffice-qa/

Re: [Libreoffice-qa] Test case naming

2011-11-15 Thread Yifan Jiang
Hi Rimas and Petr,

Thanks for the great discussion :) I appreciate Rimas' new scheme with some
questions remaining. Let me take the opportunity to give a mid term summary
and share my thoughts based on the new scheme.

1. Firstly through the complicated mail thread, I feel it is necessary to
clarify the definition of test types helping us to have a common sense:

- Function Regression test (Language Neutral Tests)

It is language neutral and we only need to run it once in any of the
languages. The localization for this kind of tests could be
word-by-word.

- L10N Regression test (Language Dependent Tests)

It is language dependent and we need to run them in all
language. The localization for this kind of tests could be
slightly different language versions based on the libreoffice
features. 

- Feature test

It contains new features testing for each release of
libreoffice. Test cases are added on demand in each new
release, and the test cases are not reusable in the next release.

2. In the new scheme pdf, it looks feature tests are not included while a
legacy Basic Function Test is there. Just to make things more clear, I am
udpating Rimas' chart a bit:

 Basic Function Test -> Feature Tests
 General Function Test -> Function Regression Tests

I believe we didn't really have misunderstanding on this but the legacy
problem, right?

3. Do we want components split in L10n test? I don't have a definite answer
for this yet but prone to keep the components. 

On one hand, at least for impress and calc, we have some specific areas to
cover as tempalte, slide show in multiple language, calc cell format etc. On
the other hand, the consistent structure may make people's learning curve more
mild.

4. The amount of how many localization is another concern. In the new scheme,
for each priority we will have "7 components * 4 locale * 4 priority" (112)
groups. If I understand it right, when there are 10 locales, the number will
be 2800 ?!

Image we have 112 test groups in the first section when running test:

http://wiki.documentfoundation.org/images/7/77/Litmus_submit-de.png

While another choice to be considered could be switching the position
of test types and components, something like:

   / p1-en-Feature Tests  - 7 components (en)
   / p1-xx-Feature Tests  - 7 components (xx)
   / p1-en-L10n Regresstion Tests - 7 components (en)
   / p1-xx-L10n Regresstion Tests - 7 components (xx)
master - p1-en-Function Regresstion Tests - 7 components (ATM: multi-language 
case)
   \ p1-xx-Function Regresstion Tests /

Besides it will reduce the groups size to "3*locale*priority", by the fact we
can't select subgroups when creating test run (I didn't notice it before,
thanks Rimas), we can create a test run for particular test types, which might
be more likely to happen than creating test runs for particular components.

It would be more clear of the strategy by comments Rimas' origin plan:

>* create testruns based on priority, locale, component, or any
>combination of these

-> create testruns based on priority, locale, test type, or any
combination of these

>* create a single catch-all testrun for a single version of LibO
>* share the same General Functional Tests subgroup between testgroups
>designated for different locales (that is, you would create this
>subgroup once, and add it to all locale groups)

-> share the same components subgroup in Function Regression Tests testgroups.

>* drop 75% of the testgroups (there would be about 28 of them initially)
>if/when proper testcase localization is implemented, still not rendering
>the remaining testgroups useless.

-> This is the thing I am not pretty sure. Will this switch cause
unhandlable problems for our potential translation system ?

5. Another critical question raised about different testing execution times of
Function and L10N regression.

>> 2011.11.15 17:30, Petr Mladek rašė:
>> I didn't say they have to be translated word-to-word. They should be
>> *localized*, and I would expect a localized testcase to suggest
>> localized number and date formats and other stuff.
>
> I see.
>
> Well another question is how it appears in the test run. The language
> independent tests are proceed once. The language dependent tests need to
> be proceed for every localization.

The test case transaltion can be considered into 2 layers in current test
strategy:

- For Function Regression Tests (Language Neutral Tests)

Review the definition on the top of the mail, the translation version case
id is supposed to be the same with its English version. So all of the
people run the same test cases but read them in different language.

- For L10n Regression Tests (Language Dependent Tests)

Review the definition on the top of the mail, the translation version case
id is not the same one as its English version. So all of th

Re: [Libreoffice-qa] Test case naming

2011-11-15 Thread Yifan Jiang
Hi,

> 4. The amount of how many localization is another concern. In the new scheme,
> for each priority we will have "7 components * 4 locale * 4 priority" (112)
> groups. If I understand it right, when there are 10 locales, the number will
> be 2800 ?!

Sorry for bring shocking, s/2800/280 :)

Best wishes,
Yifan
___
List Name: Libreoffice-qa mailing list
Mail address: Libreoffice-qa@lists.freedesktop.org
Change settings: http://lists.freedesktop.org/mailman/listinfo/libreoffice-qa
Problems? http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://lists.freedesktop.org/archives/libreoffice-qa/


Re: [Libreoffice-qa] Test case naming

2011-11-16 Thread Petr Mladek
Yifan Jiang píše v St 16. 11. 2011 v 14:48 +0800:
> 4. The amount of how many localization is another concern. In the new scheme,
> for each priority we will have "7 components * 4 locale * 4 priority" (112)
> groups. If I understand it right, when there are 10 locales, the number will
> be 280 ?!

IMHO, anything more than 30 testgroups is not usable. It will be hard to
analyze results. It will be hard to create test run for P1 tests...

=> I think that we can't have language name in the 
split test groups by languages. We have 4 languages now. IMHO, it is
realistic to have 20 languages in not that far future.

=> we can have language in the subgroup names only.

> While another choice to be considered could be switching the position
> of test types and components, something like:
> 
>/ p1-en-Feature Tests  - 7 components (en)
>/ p1-xx-Feature Tests  - 7 components (xx)
>/ p1-en-L10n Regresstion Tests - 7 components (en)
>/ p1-xx-L10n Regresstion Tests - 7 components (xx)
> master - p1-en-Function Regresstion Tests - 7 components (ATM: multi-language 
> case)
>\ p1-xx-Function Regresstion Tests /
> 
> Besides it will reduce the groups size to "3*locale*priority", by the fact we
> can't select subgroups when creating test run (I didn't notice it before,
> thanks Rimas), we can create a test run for particular test types, which might
> be more likely to happen than creating test runs for particular components.
> 
> It would be more clear of the strategy by comments Rimas' origin plan:
> 
> >* create testruns based on priority, locale, component, or any
> >combination of these
> 
> -> create testruns based on priority, locale, test type, or any
> combination of these

I am afraid that it is not the effort. We need a compromise. We need to
estimate what test runs will make sense. I am afraid that priority is
the most important criteria. Anything else would crate too many test
groups and is not worth the effort. Please, see the mail "Test Structure
in Litmus" for more details.


Best Regards,
Petr

___
List Name: Libreoffice-qa mailing list
Mail address: Libreoffice-qa@lists.freedesktop.org
Change settings: http://lists.freedesktop.org/mailman/listinfo/libreoffice-qa
Problems? http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://lists.freedesktop.org/archives/libreoffice-qa/