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

Reply via email to