Re: [Trac] New plugins: a true Test Case Manager

2010-08-28 Thread Roberto Longobardi

 Hi Olemis,



 Cool ! It's very nice to realize that you're really enthusiastic about
 developing the plugin . Hopefully I will be able to adapt it to my own
 needs sooner or later (I already bought the hammer ;o)

 XD


 However I'd really like to have an RPC interface to perform these
 actions (because in my deployment environment there will be external
 tools e.g. Hudson, ... and a BPMS that will be in «touch» with the
 test case manager). I can dedicate some time to get this done, and
 maintain the RPC handlers. I'd really like to join | contribute to the

project . The major difficulty to do it (from my perspective ;o) is
 that the VCS is SVN (and I cannot interact with SVN repos since long
 time ago :-( ... ) .
 
 If the switch to a DVCS like bzr, hg, git is not an option , as a
 workaround , I'll try to create (somehow) an HgSVN repos and publish
 it as well as a patch queue @ Bitbucket . I'll develop patches and
 send them back to you . Is it ok ?

 I chose SVN just because it is the one used by both sourceforge and
track-hacks...
but I too can't access it from the job, have to do it once back home.
If you manage to do the same, that may be an option. Otherwise, just send
me
the patches and I'll do the merge.
If you give me your account, I may allow you to checkin code into
sourcefprge.


 PS: Could you please register the plugin in PyPI ?


It's already there from the start :-)  Search for TestManager


  The supported statuses are currently:
   - TO_BE_TESTED
   - SUCCESSFUL
   - FAILED
 
 
 Support for custom test results may be an important addition for
 future versions (there are lots of threads about this at TiP ML ;o) .
 An approach to get this done would be to consider test statuses as
 dumb plain text identifiers, and give them some meaning inside Trac
 using workflow actions (in a similar way to tickets actions).

 Yes, I agree with this. It may be the next stuff into the pipeline :-)


  - There are traceability relationships between TCs and
 tickets (more technically speaking, requirements
 tracked by tickets ;o) so that it's possible to let's say
 know what TCs should be run on changing a ticket
 state manually | by workflow or whatever .
 
  The traceability is currently only from a Ticket top the corresponding
 Test
  Case, but not the other way around.
 
 Ok, but ideally it would be nice to have some kind of traceability
 matrices (probably implemented as sparse matrices ;o) and custom
 traceability relations. The traceability model in use (in this

concrete scenario) is based on Requisite Pro traceability matrices,
 but it would be nice to have something like that inside Trac ;o). Of
 course , this could be handled at a higher level of abstraction ;o)
 

 You can open a Ticket and have a traceback to the (e.g. failed) Test Case
 as
  follows:
  Open a Ticket on a Test Case:
  Whether you deploy TracTicketTemplatePlugin or not, you can get the
  following URL, where testCaseNumber is the Test Case complete path,
 planid
  is the Test Plan ID and planName is its name
 
 [...]
 
 Do you use custom ticket fields ?
 


I have an Open a ticket for this test case button on the test case (or
test case in plan).
Clickin on it, I open a new ticket for editing with a summary recalling the
test case title and
a wiki reference link in the ticket description, allowing the user to
navigate back to the
corresponding test case.

See below how to allow for programmatic reference.


  - Tickets , test cases , build jobs and everything participate
 in a workflow , even if there are multiple tools
 involved.
 
  I get the idea, but maybe orchestrating different tools
  in a workflow should
  be the task of a different tool (a process server?).
 
 
 Well as I mentioned before in this particular scenario there are two
 concurrent workflows installed . Trac built-in workflow orchestrates
 *EVERYTHING* related to software dev process and part of QA. Another
 BPEL-WS enabled tool considers Trac (and it's workflow ;o) as a block
 of a wider enterprise process. It encloses other areas (e.g. CRM, HRM,
 ...) and interacts with Trac via RPC .

 Cool.


   - How extensible are TC management components ?
  I haven't currently defined any extension points... do you guys have any
  idea what could be useful here (besides custom test case execution
  verdicts)?
 
 
 I'll take a look and suggest concrete extension points. I just need to
 prepare the DVCS stuff  ;o)

 I already have received some other ideas for extensions, like custom
properties for test plans (platform, ...).


   - Wouldn't it be nice to have workflow actions
  related to TC management ?
 
  Being test cases (and catalogs) actually Wiki pages gives us for free
 the
  versioning and history capabilities.
  I have also added with this release custom security permissions for test
  case and test plan management.
  What else may be in a workflow then, approval processes?  Notifications?
 
 
 E.g. consider the case when you 

Re: [Trac] New plugins: a true Test Case Manager

2010-08-25 Thread Christian Dähn
Hi,

the TestCaseManager seems to really beat any other solutions - it's great!

But I'm looking just one feature - which maybe already exists inside the plugin:
Each test case gets a status (works great) and a comment (didn't found an input 
field -
do I have to open a ticket for comments?) from the tester.

The goal for a software test is to get a report, where all tests are listed 
with their
result and the comments of the tester. Based on this the developer / reviewer
creates tickets for failed tests, if needed.

Further, a test plan / report must contain informations about the tested subject
and environment (app version, build date, test date, name of tester, used 
operation
system...) - this is very important to compare test reports by app version and
to trac changes to an app (e.g. to find regressions).

If my request is not too far away from the plugin's concept and goal,
I would post this as a feature request.

Thanks for this great plugin! I'm looking forward to use it for my daily work.
Currently I try to port the plugin to Python 2.4 (our production server is
very old - hope to get a newer one within this year).

ciao,
Chris

-- 
You received this message because you are subscribed to the Google Groups Trac 
Users group.
To post to this group, send email to trac-us...@googlegroups.com.
To unsubscribe from this group, send email to 
trac-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/trac-users?hl=en.



Re: [Trac] New plugins: a true Test Case Manager

2010-08-25 Thread Roberto Longobardi
Hi Christian,
thanks for the kudos :-)

Mmmh, currently there's no way to add comments when changing the status of a
test case, other than opening a ticket for it... but this is undesirable in
case of success, of course.

This is something that may come into the base code, I think.

About your second point, instead, adding sevral environment information to a
test plan, the first thing that comes to my mind is to provide extension
points to the plugin, instead of including all sorts of information with the
base version.
This way, anyone could add the information more pertinent to his/her working
environment and needs.

I'll think about which extension points may be added, and I'm open to
suggestions of course.
Probably, supporting a list of custom properties associated to each record
in the testplans table may be one way...

Also, please, feel free to open enhancements requests, and to provide
patches if you wish to :-)

Thanks, ciao,
Roberto


2010/8/25 Christian Dähn da...@asinteg.de

  Hi,

 the TestCaseManager seems to really beat any other solutions - it's great!

 But I'm looking just one feature - which maybe already exists inside the
 plugin:
 Each test case gets a status (works great) and a comment (didn't found an
 input field -
 do I have to open a ticket for comments?) from the tester.

 The goal for a software test is to get a report, where all tests are listed
 with their
 result and the comments of the tester. Based on this the developer /
 reviewer
 creates tickets for failed tests, if needed.

 Further, a test plan / report must contain informations about the tested
 subject
 and environment (app version, build date, test date, name of tester, used
 operation
 system...) - this is very important to compare test reports by app version
 and
 to trac changes to an app (e.g. to find regressions).

 If my request is not too far away from the plugin's concept and goal,
 I would post this as a feature request.

 Thanks for this great plugin! I'm looking forward to use it for my daily
 work.
 Currently I try to port the plugin to Python 2.4 (our production server is
 very old - hope to get a newer one within this year).

 ciao,
 Chris

  --
 You received this message because you are subscribed to the Google Groups
 Trac Users group.
 To post to this group, send email to trac-us...@googlegroups.com.
 To unsubscribe from this group, send email to
 trac-users+unsubscr...@googlegroups.comtrac-users%2bunsubscr...@googlegroups.com
 .
 For more options, visit this group at
 http://groups.google.com/group/trac-users?hl=en.


-- 
You received this message because you are subscribed to the Google Groups Trac 
Users group.
To post to this group, send email to trac-us...@googlegroups.com.
To unsubscribe from this group, send email to 
trac-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/trac-users?hl=en.



Re: [Trac] New plugins: a true Test Case Manager

2010-08-25 Thread Olemis Lang
On Wed, Aug 18, 2010 at 10:05 AM, Roberto Longobardi secc...@gmail.com wrote:
 Hi Olemis,

:o)

 I have introduced the Test Plans feature in the plugin.

Cool ! It's very nice to realize that you're really enthusiastic about
developing the plugin . Hopefully I will be able to adapt it to my own
needs sooner or later (I already bought the hammer ;o)

 The scenario you describe below would now look like as follows.
 - TCs are *discovered* (generated ?) from
    source code (e.g. ) committed to a repos
    and they are using static code analysis,
    abstract models , XML specs ...
 - Test execution , etc , is performed by an external
    CI tool (currently Hudson + Bitten ...)

 In this scenario , I'd like to be able to

  - Retrieve test results from CI tool using an API
  - Trigger build jobs on changing TC states or when
     aforementioned test campaigns (which will be
     mapped to in Hudson builds) are started ,
     explicitly executed .
  - ... well some other , but have no time to say it all


 You can create test catalogs and cases programmatically by means of the
 following http requests:
[...]
 Create a root test catalog:

[...]
 Create a sub-catalog:

[...]
 Create a Test Case:

[...]
 Create a Test Plan from a specific catalog:
[...]

 Set a Test Case execution verdict, in the context of a Test Plan:

[...]

This is really good news !!!

However I'd really like to have an RPC interface to perform these
actions (because in my deployment environment there will be external
tools e.g. Hudson, ... and a BPMS that will be in «touch» with the
test case manager). I can dedicate some time to get this done, and
maintain the RPC handlers. I'd really like to join | contribute to the
project . The major difficulty to do it (from my perspective ;o) is
that the VCS is SVN (and I cannot interact with SVN repos since long
time ago :-( ... ) .

If the switch to a DVCS like bzr, hg, git is not an option , as a
workaround , I'll try to create (somehow) an HgSVN repos and publish
it as well as a patch queue @ Bitbucket . I'll develop patches and
send them back to you . Is it ok ?

PS: Could you please register the plugin in PyPI ?

 The supported statuses are currently:
  - TO_BE_TESTED
  - SUCCESSFUL
  - FAILED


Support for custom test results may be an important addition for
future versions (there are lots of threads about this at TiP ML ;o) .
An approach to get this done would be to consider test statuses as
dumb plain text identifiers, and give them some meaning inside Trac
using workflow actions (in a similar way to tickets actions).

 - There are traceability relationships between TCs and
    tickets (more technically speaking, requirements
    tracked by tickets ;o) so that it's possible to let's say
    know what TCs should be run on changing a ticket
    state manually | by workflow or whatever .

 The traceability is currently only from a Ticket top the corresponding Test
 Case, but not the other way around.

Ok, but ideally it would be nice to have some kind of traceability
matrices (probably implemented as sparse matrices ;o) and custom
traceability relations. The traceability model in use (in this
concrete scenario) is based on Requisite Pro traceability matrices,
but it would be nice to have something like that inside Trac ;o). Of
course , this could be handled at a higher level of abstraction ;o)

 You can open a Ticket and have a traceback to the (e.g. failed) Test Case as
 follows:
 Open a Ticket on a Test Case:
 Whether you deploy TracTicketTemplatePlugin or not, you can get the
 following URL, where testCaseNumber is the Test Case complete path, planid
 is the Test Plan ID and planName is its name

[...]

Do you use custom ticket fields ?

 - Tickets , test cases , build jobs and everything participate
    in a workflow , even if there are multiple tools
    involved.

 I get the idea, but maybe orchestrating different tools
 in a workflow should
 be the task of a different tool (a process server?).


Well as I mentioned before in this particular scenario there are two
concurrent workflows installed . Trac built-in workflow orchestrates
*EVERYTHING* related to software dev process and part of QA. Another
BPEL-WS enabled tool considers Trac (and it's workflow ;o) as a block
of a wider enterprise process. It encloses other areas (e.g. CRM, HRM,
...) and interacts with Trac via RPC .

  - How extensible are TC management components ?
 I haven't currently defined any extension points... do you guys have any
 idea what could be useful here (besides custom test case execution
 verdicts)?


I'll take a look and suggest concrete extension points. I just need to
prepare the DVCS stuff  ;o)

  - Wouldn't it be nice to have workflow actions
     related to TC management ?

 Being test cases (and catalogs) actually Wiki pages gives us for free the
 versioning and history capabilities.
 I have also added with this release custom security permissions for test
 case and test plan management.
 What else may 

Re: [Trac] New plugins: a true Test Case Manager

2010-08-19 Thread Roberto Longobardi
Hi Stephen,
the problem you're seeing is caused by the upgrade db code trying to create
the wiki page /TC programmatically, by inserting directly into the wiki
table. I now changed this code to use the Wiki class instead of writing into
the table, but haven't released this code yet.
BTW, this wiki page is used as the root of all test catalogs.

The error is complaining about you having already a wiki page with that
name... this is surprising, unless you had already installed the plugin
(maybe a lower version) some time before. Uninstalling the plugin does not
remove this page, so upon uninstall you should delete the TC wiki page
manually, if you plan to reinstall the plugin eventually.

In a fresh environment this should never happen, so you can try and deploy
the plugin into a new environment if you can.

Please, let me know if this does not fix the problem and I'll try to provide
you with a script that drops the new tables so to be able to rerun the
update db once again.

Ciao,
Roberto


2010/8/19 Stephen Bash b...@genarts.com

 Roberto-

 Everything compiled fine.  We ran into an issue during the database
 upgrade.  I've included the trac log output below.  Now trac-admin reports
 the database is up to date, so I can't reproduce the issue anymore.

 Thanks,
 Stephen

 Trac DEBUG log:
 2010-08-18 15:29:58,752 Trac[env] INFO:
 testmanager.model.TestManagerModelProvider upgrading...
 2010-08-18 15:29:58,752 Trac[model] DEBUG: CREATE TABLE testconfig (
propname text PRIMARY KEY,
value text
 );
 2010-08-18 15:29:59,476 Trac[model] DEBUG: CREATE  INDEX
 testconfig_propname_idx ON testconfig (propname);
 2010-08-18 15:29:59,484 Trac[model] DEBUG: CREATE TABLE testcases (
id text,
planid text,
status text,
UNIQUE (id,planid)
 );
 2010-08-18 15:29:59,496 Trac[model] DEBUG: CREATE  INDEX testcases_id_idx
 ON testcases (id);
 2010-08-18 15:29:59,506 Trac[model] DEBUG: CREATE  INDEX
 testcases_planid_idx ON testcases (planid);
 2010-08-18 15:29:59,519 Trac[model] DEBUG: CREATE TABLE testcasehistory (
id text,
planid text,
time integer,
author text,
status text,
UNIQUE (id,planid,time)
 );
 2010-08-18 15:29:59,530 Trac[model] DEBUG: CREATE  INDEX
 testcasehistory_id_planid_time_idx ON testcasehistory (id,planid,time);
 2010-08-18 15:29:59,543 Trac[model] DEBUG: CREATE TABLE testplans (
planid text PRIMARY KEY,
catid text,
catpath text,
name text,
author text,
time integer
 );
 2010-08-18 15:29:59,556 Trac[model] DEBUG: CREATE  INDEX
 testplans_planid_idx ON testplans (planid);
 2010-08-18 15:29:59,574 Trac[model] DEBUG: CREATE  INDEX
 testplans_catid_idx ON testplans (catid);
 2010-08-18 15:29:59,610 Trac[console] ERROR: Exception in trac-admin
 command:
 Traceback (most recent call last):
  File build/bdist.linux-i686/egg/trac/admin/console.py, line 107, in
 onecmd
rv = cmd.Cmd.onecmd(self, line) or 0
  File /usr/lib/python2.5/cmd.py, line 218, in onecmd
return self.default(line)
  File build/bdist.linux-i686/egg/trac/admin/console.py, line 257, in
 default
return cmd_mgr.execute_command(*args)
  File build/bdist.linux-i686/egg/trac/admin/api.py, line 123, in
 execute_command
return f(*fargs)
  File build/bdist.linux-i686/egg/trac/env.py, line 780, in _do_upgrade
self.env.upgrade(backup=no_backup is None)
  File build/bdist.linux-i686/egg/trac/env.py, line 523, in upgrade
with_transaction(self)(participant.upgrade_environment)
  File build/bdist.linux-i686/egg/trac/db/api.py, line 77, in
 transaction_wrapper
fn(ldb)
  File build/bdist.linux-i686/egg/testmanager/model.py, line 60, in
 upgrade_environment
self._upgrade_db(db)
  File build/bdist.linux-i686/egg/testmanager/model.py, line 110, in
 _upgrade_db
' ', '', 0))
  File build/bdist.linux-i686/egg/trac/db/util.py, line 65, in execute
return self.cursor.execute(sql_escape_percent(sql), args)
  File build/bdist.linux-i686/egg/trac/db/sqlite_backend.py, line 78, in
 execute
result = PyFormatCursor.execute(self, *args)
  File build/bdist.linux-i686/egg/trac/db/sqlite_backend.py, line 56, in
 execute
args or [])
  File build/bdist.linux-i686/egg/trac/db/sqlite_backend.py, line 48, in
 _rollback_on_error
return function(self, *args, **kwargs)
 IntegrityError: columns name, version are not unique


 - Original Message -
  From: Roberto Longobardi secc...@gmail.com
  To: Gary Oberbrunner ga...@genarts.com
  Cc: trac-users@googlegroups.com, Stephen Bash b...@genarts.com
  Sent: Thursday, August 19, 2010 12:32:48 AM
  Subject: Re: [Trac] New plugins: a true Test Case Manager
  Hi Gary,
  I would like to make it compatible with 0.12, but didn't have a chance
  to work on it yet.
 
 
  I'll take a look today at what's wrong and see if it's something
  quick.
 
 
  Ciao,
  Roberto
 
 
 
  2010/8/18 Gary Oberbrunner  ga...@genarts.com 
 
 
 
  On 8/18/2010 10:05 AM, Roberto Longobardi wrote:
   Hi Olemis,
   I have introduced the Test Plans

Re: [Trac] New plugins: a true Test Case Manager

2010-08-19 Thread Roberto Longobardi
...@gmail.com
  To: Gary Oberbrunner ga...@genarts.com
  Cc: trac-users@googlegroups.com, Stephen Bash b...@genarts.com
  Sent: Thursday, August 19, 2010 12:32:48 AM
  Subject: Re: [Trac] New plugins: a true Test Case Manager
  Hi Gary,
  I would like to make it compatible with 0.12, but didn't have a chance
  to work on it yet.
 
 
  I'll take a look today at what's wrong and see if it's something
  quick.
 
 
  Ciao,
  Roberto
 
 
 
  2010/8/18 Gary Oberbrunner  ga...@genarts.com 
 
 
 
  On 8/18/2010 10:05 AM, Roberto Longobardi wrote:
   Hi Olemis,
   I have introduced the Test Plans feature in the plugin
http://trac-hacks.org/wiki/TestManagerForTracPlugin .
 
  We tried to install this here but it appears to be incompatible with
  Trac 0.12. Are you planning to update it to 0.12?
 
  -- Gary




-- 
You received this message because you are subscribed to the Google Groups Trac 
Users group.
To post to this group, send email to trac-us...@googlegroups.com.
To unsubscribe from this group, send email to 
trac-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/trac-users?hl=en.



Re: [Trac] New plugins: a true Test Case Manager

2010-08-18 Thread Roberto Longobardi
Hi Olemis,
I have introduced the Test Plans feature in the
pluginhttp://trac-hacks.org/wiki/TestManagerForTracPlugin
.

The scenario you describe below would now look like as follows.

 - TCs are *discovered* (generated ?) from
source code (e.g. ) committed to a repos
and they are using static code analysis,
abstract models , XML specs ...
 - Test execution , etc , is performed by an external
CI tool (currently Hudson + Bitten ...)

 In this scenario , I'd like to be able to

  - Retrieve test results from CI tool using an API
  - Trigger build jobs on changing TC states or when
 aforementioned test campaigns (which will be
 mapped to in Hudson builds) are started ,
 explicitly executed .
  - ... well some other , but have no time to say it all

 Q:
 - Considering scenarios like that one , is it possible
 to use interfaces so as , let's say , retrieve, synch
TC history from other sources e.g. Hudson build history


You can create test catalogs and cases programmatically by means of the
following http requests:

*Create a root test catalog:*

Get the following URL:
http://yourserver/yourproject/testcreate?type=catalogpath=TCtitle=My%20new%20catalog

this will assign a unique ID (the number 0 in the URL below) to the new
catalog and redirect to a Wiki edit page:
http://yourserver/yourproject/wiki/TC_TT0?action=edittext=%3D%3D+My+new+catalog+%3D%3D

that you can simply post the form to submit the page and thus create the
catalog.


*Create a sub-catalog:*
Get the wollowing URL, where path is the name of the parent catalog.
http://yourserver/yourproject/testcreate?type=catalogpath=TC_TT0title=My%20sub%20catalog

this will assign a unique ID (the number 1 in the URL below) to the new
catalog and redirect to a Wiki edit page:
http://yourserver/yourproject/wiki/TC_TT0_TT1?action=edittext=%3D%3D+My+sub+catalog+%3D%3D

that you can simply post the form to submit the page and thus create the
sub-catalog.


*Create a Test Case:*
Get the wollowing URL, where path is the name of the parent (sub-)catalog.
http://yourserver/yourproject/testcreate?type=testcasepath=TC_TT0_TT1title=My%20new%20Test%20Case

this will assign a unique ID (the number 0 in the URL below) to the new test
case and redirect to a Wiki edit page:
http://yourserver/yourproject/wiki/TC_TT0_TT1_TC0?action=edittext=%3D%3D+My+new+Test+Case+%3D%3D

that you can simply post the form to submit the page and thus create the
test case.


You can create a new Test Plan (e.g. for each nightly build)
programmatically as follows.

*Create a Test Plan from a specific catalog:*
Get the wollowing URL, where path is the name of the (sub-)catalog to
create the test plan against.
http://yourserver/yourproject/testcreate?type=testplanpath=TC_TT0title=Test%20Plan%20for%2020100818

this will assign a unique ID (the number 1 in the URL below) to the new test
plan and redirect to displaying the Test Plan:
http://yourserver/yourproject/wiki/TC_TT0?planid=1

The Test Plan will contain all of the test cases in the specified catalog,
with a verdict of Untested.


*Set a Test Case execution verdict, in the context of a Test Plan:*

Then, you can set the verdict for any test case in the plan, by means of the
following.

Get the following URL, where id is the Test Case ID and planid is the Test
Plan ID:
http://yourserver/yourproject/teststatusupdate?id=5planid=1status=SUCCESSFUL

The supported statuses are currently:
 - TO_BE_TESTED
 - SUCCESSFUL
 - FAILED


 - There are traceability relationships between TCs and
tickets (more technically speaking, requirements
tracked by tickets ;o) so that it's possible to let's say
know what TCs should be run on changing a ticket
state manually | by workflow or whatever .


The traceability is currently only from a Ticket top the corresponding Test
Case, but not the other way around.

You can open a Ticket and have a traceback to the (e.g. failed) Test Case as
follows:

*Open a Ticket on a Test Case:*
Whether you deploy TracTicketTemplatePlugin or not, you can get the
following URL, where testCaseNumber is the Test Case complete path, planid
is the Test Plan ID and planName is its name:

http://yourserver/yourproject/newticket?testCaseNumber=TC_TT0_TC0planId=1planName=Test%20Plan%20for%2020100818description=Test%20Case:%20[wiki:TC_TT0_TC0],%20Test%20Plan:%20Test%20Plan%20for%2020100818%20(1)

this will open a Ticket edit page, with the Test Case-in-Test Plan hyperlink
already added to the ticket description (as Wiki page reference).
You can simply post the form to create the Ticket.

Probably you can directly POST a pre-built form to do everything with a
single call, but I didn't test this...


 - Tickets , test cases , build jobs and everything participate
in a workflow , even if there are multiple tools
involved.


I get the idea, but maybe orchestrating different tools in a workflow should
be the task of a different tool (a process server?).


  - How extensible are TC management 

Re: [Trac] New plugins: a true Test Case Manager

2010-08-18 Thread Gary Oberbrunner
On 8/18/2010 10:05 AM, Roberto Longobardi wrote:
 Hi Olemis,
 I have introduced the Test Plans feature in the plugin
 http://trac-hacks.org/wiki/TestManagerForTracPlugin. 

We tried to install this here but it appears to be incompatible with
Trac 0.12.  Are you planning to update it to 0.12?

-- Gary

-- 
You received this message because you are subscribed to the Google Groups Trac 
Users group.
To post to this group, send email to trac-us...@googlegroups.com.
To unsubscribe from this group, send email to 
trac-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/trac-users?hl=en.



Re: [Trac] New plugins: a true Test Case Manager

2010-08-18 Thread Roberto Longobardi
Hi Gary,
I would like to make it compatible with 0.12, but didn't have a chance to
work on it yet.

I'll take a look today at what's wrong and see if it's something quick.

Ciao,
Roberto


2010/8/18 Gary Oberbrunner ga...@genarts.com

 On 8/18/2010 10:05 AM, Roberto Longobardi wrote:
  Hi Olemis,
  I have introduced the Test Plans feature in the plugin
  http://trac-hacks.org/wiki/TestManagerForTracPlugin.

 We tried to install this here but it appears to be incompatible with
 Trac 0.12.  Are you planning to update it to 0.12?

 -- Gary


-- 
You received this message because you are subscribed to the Google Groups Trac 
Users group.
To post to this group, send email to trac-us...@googlegroups.com.
To unsubscribe from this group, send email to 
trac-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/trac-users?hl=en.



Re: [Trac] New plugins: a true Test Case Manager

2010-08-12 Thread W. Martin Borgert

Quoting Roberto Longobardi secc...@gmail.com:

The first is a true test case manager plugin, since I couldn't find
anything suitable before, and my users wanted to have test case
management and bug tracking integrated in the same place:
http://trac-hacks.org/wiki/TestManagerForTracPlugin


OK, here my first observations after a short test:

 - This testing framework is much more to my personal needs
   than other, similar plugins I tried in the past. Good!

 - It would be nice, if a test case result is not immediately
   recorded on mouse click, but if there were a save result
   button. It is too easy to click accidently on the coloured
   bullet.

 - Maybe the Status change history should be reversed,
   showing the latest (= most important) result first.

 - This is only a matter of taste, but I'm used to a
   different terminology: A test catalog for one project
   would be a test suite (TS), a sub catalog (or sub sub
   catalog) would be a test group (TG), and a single test
   would be a test case (TC).

 - When one creates a ticket from a (failed) test, it would
   be nice, if the new ticket already defaults to a useful
   subject (Failed test: Basic Sleep - Sleeping Monster).
   This can be easily achieved by using the link:
   .../newticket?summary=Failed%20test:%20Basic%20Sleep...

 - It would be cool, if one could define a set of possible
   verdicts. You have Successful, Untested, and Failed,
   which is OK for many purposes. But if you do tests
   according to one of the many standards, you might have
   different needs. E.g. ISO-9646 has five verdicts:

   None = no result yet, untested
   Pass = good, successful
   Inconc = inconclusive, unclear
   Fail = bad, failed
   Error = there was an error in performing the test

   If you test according to POSIX 1003.3 you have the verdicts:

   PASS = good, successful
   FAIL = bad, failed
   UNRESOLVED = inconclusive, unclear
   UNTESTED = no result yet, untested

   Some testing frameworks add XFAIL (= expected fail), UPASS
   (= unexpected pass) and UNSUPPORTED (= the implementation
   under test doesn't support a feature) to the POSIX verdicts.

 - In the long run, it would be useful (but not trivial to
   implement) to differentiate between the definition of the
   tests and running a test campaign. An example: I have a
   software product, a plugin for Trac. Before doing a release
   1.0 I have to perform some interactive tests. Therefore
   I start a new test campaign with svn revision 1234, where
   all test verdicts Untested. Let's say, one or two tests
   failed. I conclude the test campaign unsuccessful. Now I
   have to fix the bugs and have to start a new test campaign,
   again with all test verdicts set to Untested.

Keep on the good work, thanks!

--
You received this message because you are subscribed to the Google Groups Trac 
Users group.
To post to this group, send email to trac-us...@googlegroups.com.
To unsubscribe from this group, send email to 
trac-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/trac-users?hl=en.



Re: [Trac] New plugins: a true Test Case Manager

2010-08-12 Thread Roberto Longobardi
Hi Martin,
thanks for your review and for the kudos.

I have opened some enhancement requests on trac-hacks to keep track of your
comments.

Just one thing about openening a ticket on the current test case. I had
tried your way in the first place, but since we also deploy the
TracTicketTemplatePluginhttp://trac-hacks.org/wiki/TracTicketTemplatePlugin,
it didn't work (this plugin replaces the whole ticket body with the template
upon page load).
So what I did is to patch the abov plugin to accept parameters on the URL
and substitute them in the template. You may have noticed that a couple of
such are passed to the newticket page. This way I actually end up with a
ticket that has a hyperlink (wiki) reference to the test case.

I'll try to make this patch go into the plugin main stream, and try to
support the environment where such plugin isn't found.

About your last point, sure it is something I was thinking about, but as you
say not easy to implement...
Anyway, since the data model for the test results is completely separated
from the one for the test cases themselves (i.e. the wiki table), it may not
be SO hard to do.

Help in this direction is welcome of course :-)

Thanks, ciao
Roberto


2010/8/12 W. Martin Borgert deba...@debian.org

 Quoting Roberto Longobardi secc...@gmail.com:

 The first is a true test case manager plugin, since I couldn't find
 anything suitable before, and my users wanted to have test case
 management and bug tracking integrated in the same place:
 http://trac-hacks.org/wiki/TestManagerForTracPlugin


 OK, here my first observations after a short test:

  - This testing framework is much more to my personal needs
   than other, similar plugins I tried in the past. Good!

  - It would be nice, if a test case result is not immediately
   recorded on mouse click, but if there were a save result
   button. It is too easy to click accidently on the coloured
   bullet.

  - Maybe the Status change history should be reversed,
   showing the latest (= most important) result first.

  - This is only a matter of taste, but I'm used to a
   different terminology: A test catalog for one project
   would be a test suite (TS), a sub catalog (or sub sub
   catalog) would be a test group (TG), and a single test
   would be a test case (TC).

  - When one creates a ticket from a (failed) test, it would
   be nice, if the new ticket already defaults to a useful
   subject (Failed test: Basic Sleep - Sleeping Monster).
   This can be easily achieved by using the link:
   .../newticket?summary=Failed%20test:%20Basic%20Sleep...

  - It would be cool, if one could define a set of possible
   verdicts. You have Successful, Untested, and Failed,
   which is OK for many purposes. But if you do tests
   according to one of the many standards, you might have
   different needs. E.g. ISO-9646 has five verdicts:

   None = no result yet, untested
   Pass = good, successful
   Inconc = inconclusive, unclear
   Fail = bad, failed
   Error = there was an error in performing the test

   If you test according to POSIX 1003.3 you have the verdicts:

   PASS = good, successful
   FAIL = bad, failed
   UNRESOLVED = inconclusive, unclear
   UNTESTED = no result yet, untested

   Some testing frameworks add XFAIL (= expected fail), UPASS
   (= unexpected pass) and UNSUPPORTED (= the implementation
   under test doesn't support a feature) to the POSIX verdicts.

  - In the long run, it would be useful (but not trivial to
   implement) to differentiate between the definition of the
   tests and running a test campaign. An example: I have a
   software product, a plugin for Trac. Before doing a release
   1.0 I have to perform some interactive tests. Therefore
   I start a new test campaign with svn revision 1234, where
   all test verdicts Untested. Let's say, one or two tests
   failed. I conclude the test campaign unsuccessful. Now I
   have to fix the bugs and have to start a new test campaign,
   again with all test verdicts set to Untested.

 Keep on the good work, thanks!



-- 
You received this message because you are subscribed to the Google Groups Trac 
Users group.
To post to this group, send email to trac-us...@googlegroups.com.
To unsubscribe from this group, send email to 
trac-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/trac-users?hl=en.



Re: [Trac] New plugins: a true Test Case Manager

2010-08-12 Thread Olemis Lang
On Thu, Aug 12, 2010 at 9:05 AM, Roberto Longobardi secc...@gmail.com wrote:
 2010/8/12 W. Martin Borgert deba...@debian.org
 Quoting Roberto Longobardi secc...@gmail.com:

[...]

BTW, what's wrong  with the TC - ticket mapping ? I've seen similar
mappings in other products ...

  - In the long run, it would be useful (but not trivial to
   implement) to differentiate between the definition of the
   tests and running a test campaign. An example: I have a
   software product, a plugin for Trac. Before doing a release
   1.0 I have to perform some interactive tests. Therefore
   I start a new test campaign with svn revision 1234, where
   all test verdicts Untested. Let's say, one or two tests
   failed. I conclude the test campaign unsuccessful. Now I
   have to fix the bugs and have to start a new test campaign,
   again with all test verdicts set to Untested.
[...]

 About your last point, sure it is something I was thinking about, but as you
 say not easy to implement...
 Anyway, since the data model for the test results is completely separated
 from the one for the test cases themselves (i.e. the wiki table), it may not
 be SO hard to do.
 Help in this direction is welcome of course :-)

Here I go . I'm looking for some kind of tool like this one but
allowing to integrate TC management with CI tools . My environment
will look like this (i.e. part of this is done but the whole will work
in a near future, this is kind of what I want to get ;o).

  - TCs are *discovered* (generated ?) from
 source code (e.g. ) committed to a repos
 and they are using static code analysis,
 abstract models , XML specs ...
  - Test execution , etc , is performed by an external
 CI tool (currently Hudson + Bitten ...)
  - There are traceability relationships between TCs and
 tickets (more technically speaking, requirements
 tracked by tickets ;o) so that it's possible to let's say
 know what TCs should be run on changing a ticket
 state manually | by workflow or whatever .
  - Tickets , test cases , build jobs and everything participate
 in a workflow , even if there are multiple tools
 involved.

In this scenario , I'd like to be able to

  - Retrieve test results from CI tool using an API
  - Trigger build jobs on changing TC states or when
 aforementioned test campaigns (which will be
 mapped to in Hudson builds) are started ,
 explicitly executed .
  - ... well some other , but have no time to say it all

Q:
  - Considering scenarios like that one , is it possible
 to use interfaces so as , let's say , retrieve, synch
 TC history from other sources e.g. Hudson build history
  - How extensible are TC management components ?
  - Wouldn't it be nice to have workflow actions
 related to TC management ?
  - Wouldn't it be nice to provide RPC handlers to
 perform remote actions on TC specs (e.g. from
 inside VCS hooks ;o)

 Keep on the good work, thanks!

Did I already say this ? ;o)

-- 
Regards,

Olemis.

Blog ES: http://simelo-es.blogspot.com/
Blog EN: http://simelo-en.blogspot.com/

Featured article:

-- 
You received this message because you are subscribed to the Google Groups Trac 
Users group.
To post to this group, send email to trac-us...@googlegroups.com.
To unsubscribe from this group, send email to 
trac-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/trac-users?hl=en.



[Trac] New plugins: a true Test Case Manager and a Resource planning and reservation

2010-08-11 Thread Roberto Longobardi
Hi,
just to let you know I have uploaded a couple of new plugins on the
trac-hacks site that I developed for my trac users.

The first is a true test case manager plugin, since I couldn't find
anything suitable before, and my users wanted to have test case
management and bug tracking integrated in the same place:
http://trac-hacks.org/wiki/TestManagerForTracPlugin

The second one is a simple plugin to allow for planning and reserving
the future use of resources on a time schedule. We are using it to
reserve consumable test data (employees in our test database that once
tested cannot be used anymore since the test changes their data),
but it could be used as well to plan and coordinate the use of test
machines, for example.
Here is the page on trac-hacks:
http://trac-hacks.org/wiki/ResourceReservationPlugin

Both are currently only tested on Trac 0.11 and python 2.5.

Feedback and bugs/requests for features are both really appreciated,
thanks!
Roberto

-- 
You received this message because you are subscribed to the Google Groups Trac 
Users group.
To post to this group, send email to trac-us...@googlegroups.com.
To unsubscribe from this group, send email to 
trac-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/trac-users?hl=en.



Re: [Trac] New plugins: a true Test Case Manager

2010-08-11 Thread W. Martin Borgert

Hi Roberto,

Quoting Roberto Longobardi secc...@gmail.com:

The first is a true test case manager plugin, since I couldn't find
anything suitable before, and my users wanted to have test case
management and bug tracking integrated in the same place:
http://trac-hacks.org/wiki/TestManagerForTracPlugin


The screenshots look very promising. I found the existing plugins
for test management not really up to my needs, so your approach
is very welcome.

Just two hints for the page
http://trac-hacks.org/wiki/TestManagerForTracPlugin:

 1. For some reason I cannot download the .ppt attachments.
I get an error message:
The requested URL /attachment/wiki/TestManagerForTracPlugin/Test
Manager plugin for Trac - User Guide part 1.ppt was not found on
this server.
I will download the files from sourceforge for now.
But wouldn't it be better to have the complete description
directly in the wiki page? This way people could improve it
and you would have version control.

 2. To directly display the screenshots, you may use a macro:
[[Image(screen2.JPG)]]

Cheers

--
You received this message because you are subscribed to the Google Groups Trac 
Users group.
To post to this group, send email to trac-us...@googlegroups.com.
To unsubscribe from this group, send email to 
trac-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/trac-users?hl=en.