Monday, November 09, 2009

2.3 Beta

We have a beta folks!
Grab it from ftp://ftp.mozilla.org/pub/mozilla.org/webtools/testopia/testopia-2.3-BETA-BUGZILLA-3.4.tar.gz

Usual steps apply. Reverse old patch, untar, apply new patch, checksetup. The only thing to note is the new patch is in extensions/testopia now.

As always, this is a beta which means I would not yet recommend it for production installations. But you can try it out on a test install to see how it will work with your data.

As usual, log bugs that you find at http://bugzilla.mozilla.org

For those that don't want to mess with installing it, you can test it out at http://landfill.mozilla.org/testopia

Silly Bugs

So I was really hoping to have a release done by now. Over the weekend I found a major issue with the database upgrade script which took a few hours of tracking down (calls to bz_alter_column on columns that have REFERENCES need to have the REFERENCES hash included). I think I have finally squashed it, but I ran out of time to test it last week. With luck, I will be done testing in the next couple of days.

For those upgrading from a previous version, you will need to pay attention to the new file structure. Especially if you have made any modifications to the code. If so, you will want to merge your changes into the files in the new location in the extensions directory. All files will have moved there except the cgi scripts.

I wanted to have a script that will clean up the old file structure. Depending on how ambitious I feel this week, I may still try to get to it.

UPDATE:

The following files will be moved into the extensions directory:

testopia (dir) -> extensions/testopia/
Bugzilla/Testopia/ (dir) -> extensions/testopia/lib
Bugzilla/WebService/Testopia/ (dir) -> extensions/testopia/lig/WebService
Bugzilla/Config/Testopia.pm -> extensions/testopia/lib/Testopia/Config.pm
skins/standard/testopia.css -> extensions/testopia/css/testopia.css
template/en/default/testopia/ (dir) -> extensions/testopia/template/en/default

The following templates and template hooks have been moved to the
extensions/testopia/template directory:

template/en/default/admin/params/testopia.html.tmpl
template/en/default/hook/admin/products/confirm-delete.html.tmpl
template/en/default/hook/admin/products/confirm-delete.html.tmpl/confirmation/testopia.html.tmpl
template/en/default/hook/bug/create/created.html.tmpl/message/tr.html.tmpl
template/en/default/hook/bug/create/create.html.tmpl/end/tr.html.tmpl
template/en/default/hook/bug/create/create.html.tmpl/form/tr.html.tmpl
template/en/default/hook/bug/edit.html.tmpl/after_custom_fields/tr.html.tmpl
template/en/default/hook/bug/process/results.html.tmpl/links/tr.html.tmpl
template/en/default/hook/global/banner.html.tmpl/version/testopia.html.tmpl
template/en/default/hook/global/code-error.html.tmpl/errors/testopia_errors.html.tmpl
template/en/default/hook/global/common-links.html.tmpl/link-row/testopia.html.tmpl
template/en/default/hook/global/header.html.tmpl/additional_header/testopia_styles.html.tmpl
template/en/default/hook/global/useful-links.html.tmpl/end/tr.html.tmpl
template/en/default/hook/global/user-error.html.tmpl/errors/tr-user-error.html.tmpl
template/en/default/hook/index.html.tmpl/links/tr.html.tmpl
template/en/default/hook/list/list.html.tmpl/links/tr.html.tmpl

Also, because of the more complete reliance on hooks, Testopia 2.3 will not be compatible with Bugzilla 3.2. In other words, we are back to only supporting a single version of Bugzilla at a time. If you want to upgrade Testopia, you will first need to upgrade Bugzilla to 3.4.3.

Wednesday, October 28, 2009

The Grand Testopia User Survey

As I have mentioned once or twice on this blog, I have been steadily working towards finishing a masters degree in Information Technology. Well, the sweat and tears have paid off. Not only has it already improved Testopia immensely (the user documentation was one class project for example) but it has helped me become a better person.

I am finally entering my final course, and of course (pun intended), I need to put together a final capstone project or thesis. I am working on a lengthy white paper about Testopia and how it can be used to improve software both in open source and commercial applications.

To aid me in my research, I have put together a short survey (10 questions since that is the limit for the free surveys an survey monkey), and would like to invite one and all to make their voices heard. The main topic deals with how Testopia is being used around the world and how it can be improved.

Link: http://www.surveymonkey.com/s.aspx?sm=dUVeV_2fiXbuOap9S4_2fYfbRg_3d_3d

Make your opinion count. Tell your friends. *Free warm fuzzies to the first 100 respondents! (Limited time only)

* Warm fuzzies are the good feeling variety and cannot be redeemed for cash or value in any state or country on planet earth. Void where prohibited. Expires 11/30/09 since I gotta turn in my paper by the end of class. Limit to the first 100 respondents because that is the limit for free surveys. Hey, I am cheap, what can I say.

Friday, October 23, 2009

Testopia 2.3 Wrapping Up

Finally, after much anticipation, stress, and pizza, work on Testopia 2.3 is about done. The biggest challenge that remains is to put together upgrade instructions and possibly a script. After some hemming and hawing, I finally decided to take the plunge and move Testopia into the Bugzilla extensions space, making it a bone fide... well, extension.

This means that if you upgrade to 2.3 from a previous version, and you have made modifications to the Testopia code, you will need to merge your changes into the new location within extensions. I promise the rewards will be well worth the work and wait though. For example, Testopia will now support full XML dumps and import of test plans with all their child data. Also, you can export run results in CSV format to import into your favorite spreadsheet application to build fancy reports.

You will also be able to make a true clone of a test plan now as well. In the past, cloning runs would not link to cloned test cases. Well, now you will be able to copy all your cases as well as your runs and have them magically linked to the copies.

Watch for the announcement in the coming days.

Wednesday, September 16, 2009

PDF Print FAIL!

I have been working on an oft requested feature, that of exporting a test plan to a printable format such as PDF. After nearly a week of headache, I give up. It seems that most of the sane sounding Perl PDF packages out there have all died long ago. PDF::FromHTML seemed really promising, but so far it doesn't seem to support modern versions of Adobe and what is worse, throws taint errors when used from the CGI. It also doesn't handle table tags AT ALL! I am not sure how layout is supposed to happen in that case since it also doesn't support CSS.

It appears there are a dozen other modules in the PDF:: space but short of spelling out each dot by hand, it seems that this is a futile effort. I am happy to take suggestions on other modules or packages. If anyone has had success with generating PDF from Perl, and preferably from an HTML template (or directly from Template Toolkit) I would love to hear about it.

In the mean time, I am making progress on rewriting XML export and import. I currently have exporting a plan with all cases and runs and importing a plan with all its cases working. Personally, I don't see a need to import runs and case-run data. But there have been several requests for this functionality. This will be a challenge though getting all the linkages right.

At this point, I am pushing for mid October to release.

Saturday, August 22, 2009

Some good news and some bad news...

So I am finally making real progress on the Bugzilla 3.4 support. At the current rate, I hope to have a final release in the next 4 weeks or so. 3.4 has done a bang up job on getting hooks in most of the places I need them (thanks Max) and now supports extensions in earnest. This adds some complications to the upgrade process. I am in the process of moving all the Testopia files into the extensions directory of Bugzilla. I am not sure there is a sane way to script the upgrade because of this, since anyone with customizations or modifications could potentially be broken. The best thing might be to write up detailed instructions on how to copy and move the files into the extensions area.

For those interested, it appears that the patch for 3.2 applies cleanly to 3.4 and Testopia 2.2 appears to function just fine in that environment. I have not done thorough testing on this so I don't recommend it for production, but if you are itching to use Bugzilla 3.4 with Testopia. Following the instructions for installing with 3.2 should work for the most part.

Now for the bad news.

At the end of May, Novell announced that they were outsourcing almost my entire department. As part of the outsourcing agreement, I was moved to the outsourcing company. I have spent the last couple of months getting acquainted with my new employer and learning what is in store. As part of the transition, many of my current responsibilities will be sent to the support department in India and I will be assigned other roles and projects. I see this as a great opportunity to expand my horizons. As a result of this however, I will not be able to continue making regular contributions to Testopia until, and unless, Novell specifically requests these services from me.

Suffice it to say, the future is hazy at this point. Though I thoroughly enjoy working on this project, I don't have the time or drive to continue doing so outside of my regular work hours except on a very limited basis. As it happens, I inherited this project from Ed after he got hired at a new location that limited his time to devote to the project. Interesting how the wheels of time turn isn't it?

What does this mean for Testopia? Well, I remain committed to getting the 3.4 release completed. I will continue to offer support in the mailing lists and in the chat room as I have time and will continue to work on bug fixes and review submissions. However, I don't see much time for new enhancements and major changes going forward unless this comes from the community. I would like to continue my role in the project until someone expresses interest in coming up to speed with the code and taking on the responsibility.

I sincerely hope that the project will continue to grow. I have faith that there will be enough community involvement to maintain it for the future. I will do what I can to ensure that it does. In the meantime, watch for the next release in the coming weeks.

Wednesday, July 22, 2009

Live from OSCON 09

Wow, so I say I am back and then don't post for over a month. I can't believe how the time flies.

So, I am at OSCON this week. You can follow my meanderings on twitter: http://twitter.com/ghendricks that is if you do that sort of thing. I didn't until this week really, but I am really starting to see what makes twitter so great.

Today we had a couple of great inspiring talks that, well... inspired me.
Michel Lopp's keynote for example talked about how every project is the result of decisions. Big decisions yes, made by other people, but moreso small day to day decisions made by the developer that ends up steering the course. It made me realize that Testopia is the way it is today largely because of stupid little decisions that had to be made, and had to be made immediately, without any real vetting or discussion. So the reason why the tags are the way they are for example, is just that. In retrospect, I see that some of those decisions were mistakes, but now are so entrenched that they are hard and painful to pull out. Others turned out to be great successes in my opinion.

Another talkby Ben Collins-Sussman and Fitz has helped me see that I really need to be less worried about making mistakes and more into learning from them.

So with that, where are we? Well, Bugzilla 3.4RC1 is out already. Testopia does not yet support 3.4 but I have begun work on the port. Extjs also released version 3.0 of their toolkit and I am resisting the urge to include it in Testopia. Need to focus on one area at a time I think.

Wednesday, May 20, 2009

I'm Baaaaack

OK, so for the benefit if the three of you Testopia users that are left, I thought I would let you know I am wrapping up the project at work that has eaten all my waking hours in the coming weeks, and the focus is going to shift back towards Bugzilla/Testopia for a while. That means I have a lot of catching up to do. Especially given the announcement of Bugzilla 3.4 RC 1 right around the corner.

Also, it seems that Ext 3.0 is out. Just in time to fix a new batch of browser bugs (I hope). It appears that this version is going to have a lot of spiffy new features. Of course, I am not sure how to reconcile the continuing license issuse. No word on whether the existing FLOSS exception will carry over.

I have a slew of new ideas on top of the existing enhancements already logged. There is going to be a lot of work in the coming weeks.

Oh, and for those that use MediaWiki, you might want to check this out.

Stay tuned...

Tuesday, April 14, 2009

Hiatus

I have recently been assigned to a new project at work. This has limited the amount of time I am able to spend on Testopia and Bugzilla work while on the job. As I am also working on a masters degree part time, this limits my involvement outside of work. I have been keeping up with help requests and the like but have to take a hiatus on new development and bug fixes (unless those bugs impact our own installation) for a while. I continue to keep tabs on the incoming bugs and hope to have time soon to prioritize them. I also don't want to get too far behind the Bugzilla 3.4 branch so as to have the next version of Testopia ready in time for that release. In the meantime, I do have time to do reviews on patches and I welcome any and all who wish to tackle outstanding bugs or enhancements.

So in case you were wondering... I'm not dead yet.
I think I'll go for a walk.

Monday, February 02, 2009

Testopia 2.2 is Here... Really... sort of...

Testopia 2.2 is out.

However, there still seem to be some lingering issues with upgrading from earlier versions. Specifically when it attempts to add foreign keys, you may get an error that looks something like this:

Adding foreign key: test_case_activity.case_id -> test_cases.case_id...
DBD::mysql::db do failed: Can't create table './bugs_bugzilla/#sql-965_5bde2.frm' (errno: 150)
[for Statement "ALTER TABLE test_case_activity ADD

CONSTRAINT fk_test_case_activity_case_id_test_cases_case_id FOREIGN KEY (case_id)
REFERENCES test_cases(case_id)
ON UPDATE CASCADE ON DELETE CASCADE"] at Bugzilla/DB.pm line 502

If you see this, it means (due to my earlier stupidity), that you will need to alter the columns referenced to remove the UNSIGNED attribute. This is most easily done using a nice GUI tool such as Mysql Query Browser where you can simply right click on a table, choose edit, and uncheck the box labeled UNSIGNED then click apply and then execute. However, you can also do it from the regular command line client with a command like:

ALTER TABLE `>table<`
MODIFY COLUMN `>column<` [INTEGER|SMALLINT|TINYINT] NOT NULL [AUTO_INCREMENT];

Care should be taken to ensure that the column in question really is an INTEGER type (it may be SMALLINT for example) and if it is already an auto_increment column, you will need to add AUTO_INCREMENT at the end. It is best to do a describe table on both tables before hand to ensure the column types and which are key fields. Oh, and you did back up your database first right?

You may have to repeat this process on a handful of columns. I am working on a script that will (hopefully) clean all these up, but in the mean time, this is how to work these out manually if you are so inclined.

This is on Mysql. I am not sure how do it in Postgres or if this is even an issue there.

Friday, December 19, 2008

A Tentative Step Forward

OK, so there is now an official BETA of Testopia 2.2 available, and for the fist time, I am trying to support multiple branches of development. 2.2 will support both Bugzilla 3.2 and 3.0.x.

Be sure to download the correct package for your installation!

You can get it from the project home page at http://www.mozilla.org/projects/testopia/ or from FTP
For the most part, upgrading should be the same as usual: unpatch, untar, re-patch, checksetup.
If you are upgrading Bugzilla at the same time, be sure to reverse the patch first.
So far this seems to work for Mysql with Firefox on Linux without mod_perl (my standard development system). I would love it if anyone wants to help test on other environments as I have limited time for testing these days.

I should stress that you should backup your database before attempting the upgrade. It has not been tested on a production system yet.

As usual Comments and questions should be posted to support-webtools@lists.mozilla.org

Happy Holidays

Wednesday, December 03, 2008

Danger Will Robinson!!!

Bugzilla 3.2 is finally here. Hooray! :)

I reiterate again now that Bugzilla 3.2 is finally released that Testopia is not yet compatible with the new version. In fact...

UPGRADING BUGZILLA WITH TESTOPIA WILL CAUSE IRREPARABLE DAMAGE TO YOUR DATA!!!

Work is progressing on the upgrades and I will post further information as it comes available. Anyone wishing to help out in this regard is welcome to check out the tip from CVS, although it is not currently production ready.

Monday, October 27, 2008

Vacation over, Back To Work.

Sorry for the long silence. I just got back from a much needed 2 weeks vacation in southern California. The kids had a blast at Disneyland and my wife got to pet penguins (a life long dream of hers) at Sea World.

Aside from having to reacclimatize to the 50 degree temperature difference, and digging myself out of two weeks worth of email, I am raring to go.

I am working out some issues with the Bugzilla devs dealing with database upgrades and foreign keys in Bugzilla 3.2 as well as ensuring that we have the necessary hooks set up. Otherwise the move to 3.2 is going very smoothly. Watch for the announcements for Bugzilla 3.2 and with luck, Testopia will be ready by then.

Friday, September 12, 2008

Branching

Yesterday I branched for the Bugzilla 3.2 development. Moving forward, the tip will slowly be converting to the Bugzilla 3.2 codebase while the branch will stick to 3.0.x code.

This is an experiment for me to see if I, in all my ADHD glory, can manage to keep two active branches of development going simultaneously. For those of you interested, the TESTOPIA_2-1_BRANCH is the branch name in CVS.

Right now my thinking is that this will be kept up to date for Bugzilla 3.0.x primarily for bug fixes while new development and new features will stay on the tip. I guess it will depend on how much has to change between Bugzilla 3.0 and 3.2 in the areas where Testopia hooks or patches in. Where a clean patch can be applied, it won't hurt to have new features on both.

Friday, September 05, 2008

Testopia 2.1 Released

Testopia 2.1 is out.

ChangeLog at https://wiki.mozilla.org/Testopia:ChangeLog_2.1

http://www.mozilla.org/projects/testopia/

Get it while it's hot! ;-)

EDIT:
There were a few installation issues with original tarball, also a couple nasty JavaScript issues that I missed that were messing up IE. An updated tarball is now up. Treat it as an upgrade (unpatch and repatch)

Wednesday, September 03, 2008

UTOSC 2008

The Second Anuual Utah Open Source Conference was held last week. This year I presented a basic overview of Ext JS. You can see the details as well as the slides at http://2008.utosc.com/presentation/68/. The session was well attended considering it was the last time slot on the last day. The examples mentioned were just those available with the Extjs 2.2 distribution.

This year's theme was HOWTO and a lot of really great presenters that live just down the street (or the hall in some cases) gave several excellent introductions to topics that interest me. Included was Matt Asay's discussion of the problem of the open commons and open source. At issue of course, is the human tendency of taking for granted things that are open and free to all (i.e. public parks) and are therefore not very well maintained.

Open source is similar. It takes enough people willing to give back in order to maintain a resource. The vast majority of open source projects out there are small, one man (or less likely, woman) operations.

This got me thinking. In all honesty, I can't say that I would be as devoted to Testopia were it not my full time job. I am extremely grateful to the handful of contributors that have stepped up and given back. Perhaps it is as Max points out, that it takes a certain critical mass before regular contributors step forward. If Bugzilla is any gague, then I am guessing Testopia has a few more years before that happens.

In the meantime, work progresses on 2.1 and I will likely release by the end of the week, provided I can get enough testing done by then to satisfy my conscience.

Thursday, August 14, 2008

Bugzilla 3.2 Support

So, as many of you know, Bugzilla 3.2 RC1 was released this week. Already the questions are beginning to trickle in as to when will Testopia support 3.2. The answer is... soon.

How soon is soon? Well, I will direct you to earlier posts on this blog as well as the project site that mention the amount of work involved in first upgrading our installation of Bugzilla and then making Testopia stable with that and then porting it to a vanilla installation. Coupled with the other duties I have to perform, past upgrades have taken a month or more and I don't expect this one to be much different. Once this happens it takes a few weeks work to get Testopia ported and tested. The problem is that during the merging of the code, I pretty much have to freeze Testopia development until the base is stable. So, I am focusing my attention on getting as many features and bug fixes as I can out of the way before that happens.

I am pushing to have Testopia 2.1 ready for the end of the month.

I realize many of you are itching to upgrade your Bugzilla installations, but for now, Testopia will only work with 3.0 and that will probably be the case for the next couple of months. Hopefully in time for the final release of Bugzilla 3.2.

Friday, July 18, 2008

Off to OSCON

I'll be attending OSCON in Portland again this year. Hope to see some folks around the Mozilla booth where I will be hanging out. Come check it out if you are in that neck of the woods. I'll be standing around shamelessly promoting Bugzilla, Mozilla, and of course Testopia. ;-)


My goal this year? Get my copy of the Camel autographed by Larry and the gang. Oh, and add to my already burgeoning collection of T-Shirts.

Thursday, July 03, 2008

Testopia 2.0 Final

Finally...

2.0 Final is here. A few minor bugs and a major enhancement in the form of a CSV importer made it into this release.

You know the drill... :)

Wednesday, June 25, 2008

Testopia 2.0 RC2

There were a few hangups with the latest RC.

First, I wanted to get the test suite finished. My goal was to have a fully automated set of tests that could be run against a sample database to demonstrate all the features of Testopia. I have had the help of a couple of students from Neumont University that have done a great job getting this started. The tests are in the testopia/t folder. What is there is a good start, but I plan to refactor it multiple times in the near future to get it up to snuff.

Second was to get the XMLRPC API fully developed. As of today it is functioning very well. This version introduces batch mode processing as well as a host of improvements. There are a number of changes that are incompatible with the old version unfortunately. The differences can all be viewed in the CHANGELOG and the updated docs can be found at http://landfill.bugzilla.org/testopia2/docs/html/api/index.html

Finally, I really needed to squash that JSON version incompatibility bug. I think it is finally working with the new version of JSON. The latest, 2.10, is required. This means you will need to update JSON before updating Testopia. You might also want to install JSON::XS which will speed JSON up considerably.

If I don't see any serious bug reports in the next week or so, this will likely be the final release candidate.

Enjoy! :D