Calendar:QA TestDay:2007-07-10

From MozillaWiki
Jump to: navigation, search

<< Back to Calendar QA TestDays


When is the test day?

  • The test day will run from 12:00 UTC on {{{startmonth}}} 10th 2007 to 01:00 UTC on {{{endmonth}}} 11th 2007. The test day will start exactly when the nightly builds are available and will end 8 hours later. We realize that this may not be optimal for all our testers, so if there is great demand, we will extend the ending time.
  • Find the starting time in your timezone
  • Find the ending time in your timezone

Where do I start?

OK, I am in the channel, now what?

Let the moderators know if you have any questions or encounter any problems. If you are not familiar with our bugzilla bug tracking system, feel free to report your problems to a moderator and they can log any bugs for you.

Who will be moderating the #calendar-qa channel on the Test Days?

The moderator's nicks for this test day will be:

  • ctalbert
  • ssitter
  • Fallen
  • mschroeder
  • Andreas
  • Sebo

What build should I test?

We will be testing the latest nightly builds of Sunbird and Lightning:

Sunbird:

http://ftp.mozilla.org/pub/mozilla.org/calendar/sunbird/nightly/latest-mozilla1.8/

Lightning (for Thunderbird 1.5.0.x and 2.0):

http://ftp.mozilla.org/pub/mozilla.org/calendar/lightning/nightly/latest-mozilla1.8/

Note: To use the Sun Java System Calendar and the prototype event dialogs (free/busy support etc), use the lightning-wcap.xpi instead of the lightning.xpi from the link above.

What specifically will we be testing?

Remote Calendars. We want to test ICS, WebDAV, CalDAV, Google, and WCAP calendars. We want to test them on the same box, on shared drives, on servers, encrypted and unencrypted, shared and unshared, with one user and with many. We want to know why so many events disappeared when people upgraded from 0.3.1 to 0.5. We want to know why WebDAV stopped updating after that same upgrade.

We want you to get creative with your tests and help us figure this out.

Add your tests below, because the most creative and effective test will win the prize on this test day.

Test Servers Please feel free to use these test servers for WebDAV and CalDAV calendars: Calendar:QA_Test_Servers

Add Your Tests Here

Sample Test 1

  • Step 1
  • Step 2
  • Expected: What you thought should happen
  • Actual: What actually happened and why that is bad.

Alan Schwartz ICS calendar Test from bug 386197

At home (I don't have this problem at work, oddly, with the same Lightning
setup), start Thunderbird, enter my master password, there's my calendar
(remote ICS served by GCALdaemon) in Lightning, good. Can see events, etc. On
the back end, GCALdaemon's logs show a successful GET of the calendar from
google.

Next, delete an event. The calendar vanishes! GCALdaemon log says:
2007-07-09 20:26:58 | DEBUG | HTTPListener   | Processing PUT method...
2007-07-09 20:26:58 | DEBUG | HTTPListener   | Password required!
2007-07-09 20:26:58 | DEBUG | HTTPListener   | Response processed with status
code 401.

So an attempt to PUT the changed calendar to google failed, and now Lightning
won't show me anything.

Attempt to close Thunderbird and restart, calendar's not back. Close
thunderbird again.

Run Taskmgr - Thunderbird is still a running process. Kill it. Start
thunderbird again. Calendar is back as at the beginning of this cycle.

Delete the calendar and resubscribe to it. Delete an event. Same thing.

Delete the calendar and *also* delete the stored password for the calendar's
url under the master password. Resubscribe to the calendar. Delete an event.
*Now* it works, and GCALdaemon logs:

2007-07-09 20:31:15 | DEBUG | HTTPListener   | Processing PUT method...
2007-07-09 20:31:15 | DEBUG | HTTPListener   | Calendar changed at
/calendar/ica
l/alansz%40gmail.com/private-c9aeb894dd74942911f86c7c30348712/basic.ics.
2007-07-09 20:31:16 | DEBUG | HTTPListener   | Response processed with status
co
de 201.

At this point, things seem ok.

Summary/interpretation: The bug is actually in the stored passwords for remote
calendars. Although they appear correct after the 0.3.1 to 0.5 upgrade, they
are not transmitted correctly until the stored password entry - not just the
remote calendar subscription - is actually removed and recreated. When they are
not transmitted correctly, Lightning behaves strangely, showing a blank
calendar without providing a diagnostic message to indicate the problem.

That's the best I've done so far. Somebody post this to the test wiki for me
tomorrow if I forget. :)

Alan Schwartz tcpdump

Observed: Using tcpdump, I find that the ics server is sending back a proper-looking WWW-Authenticate: header in its HTTP/1.1 401 response to the initial attempt to delete/edit an event. Lightning, however, does not appear to then properly follow up with a new request including an Authorization: header.

Speculative: My guess is that it crashes or locks up somewhere right about there (handling the 401) and never manages to make the proper request. This may also contribute to the Windows process not exiting on close

bug 387559: Creating event on webdav server using https url fails

  • Actual Results:
    • No event is created. Console shows error. After switching view all no events are displayed anymore. Sunbird process hangs during shutdown and must be killed.

Backing up Your Profile

It is always a good idea to back up your profile before starting these tests. But, it is entirely possible that it is that wild extension you've got in your profile that is causing the bug, so we leave this decision up to you. You could back up the profile, use it for testing, and restore it after the test day is over.

Backing up a profile is easy:
1. Find your profile directory:

OS Thunderbird Profile Sunbird Profile
Windows  %AppData%\Thunderbird  %AppData%\Mozilla\Sunbird
Linux ~/.thunderbird ~/.mozilla/sunbird
MacOSX ~/Library/Thunderbird ~/Library/Application Support/Sunbird

2. Copy the root of it somewhere else, for example copy the Thunderbird or Sunbird directory and everything below it.

Creating a testing profile is also easy:

  1. Launch your application with a -P option
  2. Create a New Profile by clicking the Create a New Profile button
  3. Click Next, Give it a name like "Testing Profile", click Finish
  4. Select the testing profile and click the "Start Calendar" (Or Start Mail in Thunderbird) button.

Remember that you will have to start the application with the -P option during testing so you can pick your Testing profile

Once you've finished testing, you can delete the extra profiles and you'll be back to normal.

If something goes terribly wrong (although we don't expect it to), close the application and just replace the profile with the backed up copy. That will reset the application to the way it was before you started testing.

Testing Aides

These are things that will help you to test remote calendars

  • If you have access to the remote servers, enable logging, particularly HTTP logging for CalDav and WebDav based servers
  • You can use a tool like LiveHTTPheaders or Ethereal (aka Wireshark) on Sunbird or Thunderbird to view the network traffic that is being sent out.
  • Learn about how DAV works and write tests that might exploit problem/complex areas that might explain the event disappearance

Rewards

There will be a reward for this test day. It will go to the most creative and effective test that is proposed and run. In the case that we have a tie between "creative and effective", then we will consider the number of tests that each test author wrote and ran on the test day, and the test author that did the most will win. The judge of "creative and effective" will be the WebDav/CalDav calendar developers and ctalbert.

As usual, the judges are not allowed to win the prize.