This is definitely covers a lot. Let me add a couple of things. We need to test everywhere for i18n. I usually add a crazy tag in some chinese encoding I get from Technorati tags cloud.
Also, as I learned from one of the bugs posted on the JIRA we need to test: * Test tags don't interfere with normal entry publishing - Create a new entry with no tags, save/publish - Edit the same entry and save/publish again. Another important thing is to test the lowercasing: We need to add tags: IBM ibm iBm and they all should be lowercased and turned into a single ibm tag. We need to test for support of the following: C#, C++, O'Reilly, @work, etc. I also split on ','. We also have a JSON servlet: /roller-services/json/tags/ <- All tags at the site level /roller-services/json/tags/[tagPrefix] <- tags at the site level with prefix /roller-services/json/tags/[weblogHandle] <- all tags at the weblogHandle /roller-services/json/tags/[weblogHandle]/[tagPrefix] <- tags with the prefix Finally, we need to test you can't page entries by both categories and tags. I think the ones above plus my comments inline should do it for now. -Elias Dave wrote: > Elias and Rob, > > Here's a first-cut of a test plan for tagging. Elias: can you think of > anything else that should be added and/or expanded and do you have > responses to any of the notes? Rob: is this the right level of detail > for a test plan? > > > ---------------- > * Test adding tags in Weblog Edit page > > - Create new weblog entry Entry1 and add tags foo and bar > - Result: tags foo and bar are stored for entry > - Create new weblog entry Entry2 and add tags foo and bar > - Result: after you type first two letters of tag foo, Roller > should suggest it > - Result: tags foo and bar are stored for entry > - Create new weblog entry Entry3 and add tags foo and baz > > ---------------- > * Test tag query Entries page > > - Enter tag foo in the tags field in the Filter Entries form, click Filter > - Result: you should see only entries tagged goo The result should be "foo" not "goo". > > NOTES: > - there's no way to query by multiple tags? I can fix the filter form to support spaces to query multiple tags. Simple enough. > - if we had more entries tagged we could test paging through filtered > entries Right. We definitely need to test paging. > > ---------------- > * Test Tag Cloud macro > > - Customize your theme and add the #showTagCloud() macro to your Weblog > page > #set($tags = $model.weblog.getPopularTags(-1, 100) > #showTagCloud($tags) > - Result: all tags show up in the cloud > - Result: hover over tags shows correct number of times tag is used > - Result: look at generated HTML and verify CSS styles > (less used tags should have smaller numbers "tags s1" in the style > and more used tags should have higher numbers up to "tags s5") > - Change the getPopularTags() arguments to -1,2 > - Result only 2 tags should be shown in tag cloud > > NOTES: > - the first argument of getPopularTags() is the "since days" argument > and it allows you to restrict the query to include only tags added in > last # of days. Using -1 means "all time." If we had tag data spread > over time then we could test that sinceDays is working > > ---------------- > * Test Entry Tags macro > > - Add the #showEntryTags($entry) to your blog's _day template, inside > the entry loop > - Result: the tags associated with each entry should be displayed > with the entry > - Result: hover over tags should show correct tag usage count > - Result: tags should link to tag-specific views of your blog We need to test for proper escaping of URLs (e.g. C# needs to be escape to /tags/C%23) > > ---------------- > * Test tag based page URLs > > - Use the URL /<your-blog-name>/tags/foo > - Result: page displayed should include only entries tagged foo > > NOTE: how do you do tag intersections? /<your-blog-name>/tags/foo+camp > > ---------------- > * Test tag based feed URLs > > - Use the URL /<your-blog-name>/feed/entries/atom?tags=foo (Atom 1.0 > feed) > - And the URL /<your-blog-name>/feed/entries/rss?tags=foo (RSS 2.0 feed) > - Result: feeds displayed should include only entries tagged foo > - Result: verify that tagged entries have tags specified in > <category> elements > > NOTE: how do you do tag intersections? Use the URL /<your-blog-name>/feed/entries/atom?tags=foo+camp or /<your-blog-name>/feed/entries/atom?tags=foo+C%23 > > ---------------- > * Test removing tags > > - Edit an an entry and remove tag foo > - Result: tag should be remove from entry > - Result: verify that count for foo in tag cloud is adjusted downward > by one > - Result: verify that entry no longer appears on page > /<your-blog-name>/tags/foo > - Result: verify that entry no longer appears in > feed /<your-blog-name>/feed/entries/atom?tags=foo > > > I'd love to see the Sun and IBM QA guys working together here on the > list to put together a shared repo of test plans for Roller. If you > have ideas about how to make that happen, I'd like to hear them. Absolutely, we are getting ready to work on our test plans and I can definitely see us sharing a test folder with this information on SVN. -Elias
