blob: 3599d0844e5bb60e994df6000a6a8fe65f80cb09 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<org.eclipse.epf.uma:ContentDescription xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.6/uma.ecore" xmlns:epf="http://www.eclipse.org/epf" epf:version="1.5.1" xmlns:rmc="http://www.ibm.com/rmc" rmc:version="7.5.1" xmi:id="-XV4rH8guz_Py0zgFgqXCsw" name="testing_a_method_asset,_ytd9kKDhEd-nMJcdx60YsA" guid="-XV4rH8guz_Py0zgFgqXCsw" changeDate="2010-11-23T15:42:11.325-0800" version="7.5.0">
<mainDescription>&lt;h3>&#xD;
1.0 Introduction&#xD;
&lt;/h3>&#xD;
&lt;p>&#xD;
Testing&amp;nbsp;method assets is important because errors tend to build up over time.&amp;nbsp; Some reasons for errors are:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
&lt;li>&#xD;
parallel work on method assets that have dependencies&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
forgetting to make updates to all dependent plug-ins&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
inexperienced method authors&#xD;
&lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p>&#xD;
Before releasing a method asset, there are a number of types of tests that should be executed.&amp;nbsp; These are&#xD;
described in the following sections.&#xD;
&lt;/p>&#xD;
&lt;h3>&#xD;
2.0 Tools&#xD;
&lt;/h3>&#xD;
&lt;p>&#xD;
The following tools can be helpful for testing.&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
&lt;li>&#xD;
IBM(R) Rational(R) Method Composer - adds features useful for testing that aren't available in EPF Composer, such&#xD;
as BIRT reporting and spell checking.&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
Funduc Search and replace - excellent tool for global search and replace&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
Parasoft(R) WebKing(R) - checks for accessibility, spelling&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
Adobe(R) Dreamweaver(R) - fully-featured HTML editor&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
Scooter Software Beyond Compare - tool for comparing files and directories&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
IBM Automated Content Testing - scripts that check for a variety of issues and inconsistencies.&amp;nbsp; This is part&#xD;
of the Rational Method Authoring Quality Assessor packaged service asset.&lt;br />&#xD;
&lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;h3>&#xD;
3.0 Orphans/Invalid Files/Dependencies&#xD;
&lt;/h3>&#xD;
&lt;h4>&#xD;
Invalid files&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
Search and delete files left by&amp;nbsp;Windows or&amp;nbsp;the version control system.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
*.keep - IBM(R) Rational(R) ClearCase(R)&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
thumbs - Microsoft(R) Windows(R)&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
Also, many file types are difficult to translate, and so we try to standardize on jpg for graphics and keep all text in&#xD;
xmi or xml formats.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
IBM Automated Content Testing provides a script &quot;Test for File Types&quot; which lists non-standard file types.&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
All elements are categorized&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
Browse the &quot;all practices&quot; configuration for disciplines and domains&amp;nbsp;and confirm that the &quot;uncategorized&quot; category&#xD;
is empty.&lt;br />&#xD;
Work product slots are an exception.&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
Orphan files&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
Make a copy of the library and delete all packages, custom categories, processes. Do not delete the plug-ins, as that&#xD;
will delete all files including orphans.&amp;nbsp; Any remaining xmi files must be orphans, and should be removed from&#xD;
ClearCase. Caution – get the team to confirm before doing the delete – the problem may be that the file should be added&#xD;
back in rather than be removed.&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
Orphan resource files&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
Try RMC's &quot;Edit&amp;gt;Clean Resources&quot; in a copy of the library, then use beyond compare to determine what changes were&#xD;
made.&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
All tasks and work products have a responsible role&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
Browse the published web site looking at each role and work product.&amp;nbsp; Can create BIRT reports to detect this.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
IBM Automated Content Testing includes a report &quot;Check for Primary Performer&quot; that reports on tasks that have no&#xD;
primary role and work products that have no responsible role.&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
All tasks have an input and output work product&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
Strictly speaking, a task might not have any input work products, but generally if a task is missing inputs and/or&#xD;
outputs, it is usually an oversight.&amp;nbsp; Browse the published web site looking at each task.&amp;nbsp; Can create BIRT&#xD;
reports to detect this.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
IBM Automated Content Testing includes a report &quot;Check for Input and Output Artifact&quot; that reports on tasks that are&#xD;
missing inputs and outputs.&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
Unreferenced core elements&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
Every element in &quot;core&quot; should be referenced by at least once practice in the library.&lt;br />&#xD;
A BIRT report can be used for this.&amp;nbsp; Unused elements should be moved out of the release.&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
External broken links&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
Choose the publishing option to check external hyperlinks.&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
Dependency Testing&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
Publish each practice on its own (can use the RMC Process Builder).&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
Confirm that there are no broken link errors (there may be errors if, for example, there is a link to a guideline, but&#xD;
that guideline is not explicitly attached to any elements in the plug-in).&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
Create a configuration that has no practices, just Core.&amp;nbsp; Confirm that there are no errors (that no core plug-ins&#xD;
depend on practice plug-ins).&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
Confirm that there are no unnecessary dependencies.&amp;nbsp; Publish a configuration with all practices, but no assign&#xD;
plug-ins or definition plug-ins for those assignments.&#xD;
&lt;/p>&#xD;
&lt;h3>&#xD;
4.0 Method composer error reports and logs&#xD;
&lt;/h3>&#xD;
&lt;h4>&#xD;
Publication errors&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
Fix or explain every error in the publication log for each of the available configurations.&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
Configuration errors&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
Fix or explain every error and warning in the error log tab for each of the available configurations.&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
Library problem view&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
Fix or explain every error in the library problem view.&lt;br />&#xD;
- open every configuration to make sure errors are loaded&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
Library validation&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
Enable Preferences/Method/Authoring/Debug/Enable method library validation.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
Run &quot;Validate Method Library&quot;.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
View the logs and correct any errors.&#xD;
&lt;/p>&#xD;
&lt;h3>&#xD;
5.0 Regression testing&#xD;
&lt;/h3>&#xD;
&lt;p>&#xD;
When upgrading to a new version of Method Composer, check that contributes, extends, replace work as expected.&amp;nbsp;&#xD;
Find an example in the library, confirm it works as expected.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
Use Beyond Compare to list the differences in the published sites. Confirm that the changes were expected.&#xD;
&lt;/p>&#xD;
&lt;h3>&#xD;
6.0 Standards&#xD;
&lt;/h3>&#xD;
&lt;p>&#xD;
The tests below describe how to test and correct the most common violations of authoring standards.&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
File naming conventions&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
Use windows search and scan for mixed-case file names, spaces in filenames, or long filenames.&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
Bad HTML&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
Microsoft fonts: Search for MsoNormal, Font-family, and Microsoft to detect Microsoft word originated HTML. Use word&#xD;
cleanup macro in Method Composer, Dreamweaver and manual means to clean it up.&lt;br />&#xD;
&lt;br />&#xD;
Extra fonts on links (inserted by old version of Method Composer)&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
Search for font color=&quot;#0000ff and check if is part of a link. If lots, use search/replace script to do a global&#xD;
replace.&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
Bad character testing&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
Certain non-ASCII characters cause problems with some browsers and translation tools.&amp;nbsp; The most common problem&#xD;
characters are curly quotes and bullets inserted when pasting from Microsoft(R) Word(R).&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
Use search and replace – search for [~-ΓΏ]. For any unexpected characters, replace with correct characters.&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
&lt;li>&#xD;
curly single and double quotes - replace with straight quotes typed from the keyboard (&quot; and ')&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
bullets and dash/emdash&amp;nbsp;- replace with hyphen&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
guillemets - replace with double angle brackets &amp;lt;&amp;lt; &amp;gt;&amp;gt;&amp;gt;&#xD;
&lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p>&#xD;
Remember that the XMI files contain escaped HTML, so be careful with characters that are defined with an ampersand,&#xD;
such as trademarks&amp;nbsp;- in XMI you may need an additional ampersand.&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
Brief descriptions&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
Run a BIRT report to extract brief descriptions.&amp;nbsp; Everything except checklists should have brief descriptions.&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
Project and directory names&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
When using workspaces, it is easy for plug-in name, plug-in folder name, and plug-in project names to become&#xD;
inconsistent.&amp;nbsp; Use search-replace to find all plug-in names and project names.&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
&lt;li>&#xD;
search for methodplugin*name in all plugin.xmi files&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
search for &amp;lt;NAME&amp;gt; tags&amp;nbsp;in all .project files&#xD;
&lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p>&#xD;
Copy results into a text file (including filenames), remove non-name text, sort in Excel, and look for differences&#xD;
between directories, project names, and plug-in names.&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
Version and copyright information&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
Every practice and the library as a whole should have a &quot;release info&quot; page that describes the latest release.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
Confirm that these pages are included in the published configurations' views&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
&lt;li>&#xD;
In EPF Composer&amp;nbsp;- you need to check the views by hand&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
In Rational Method Composer&amp;nbsp;&amp;nbsp;- you need to check that every &quot;release_info&quot; page is tagged&#xD;
&lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p>&#xD;
Confirm that every plug-in has the appropriate copyright (open source has EPF copyright, company owned content has&#xD;
company copyright), and confirm it publishes correctly.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
Confirm that licensing/legal information is attached and publishes.&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
Accessibility&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
Use Parasoft WebKing to check compliance with accessibility standards.&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
Spelling/Grammar/Readiness for translation&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
Spell check is provided by Rational Method Composer on a per element and per plug-in basis.&amp;nbsp; You can also check an&#xD;
entire library using WebKing.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
IBM Automated Content Testing also has a script &quot;Style Search&quot; that checks for common style problems, such as words&#xD;
that are difficult to translate.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
Content that is intended to be translated has to go through additional checks in order to ensure that it will work with&#xD;
translation memory tools.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
For example, IBM uses IBM internal tools - SEGCHK to check for grammar errors, and CHKPII for bad characters, prior to&#xD;
translation.&amp;nbsp;Commercial translation tools will have their own validation tools.&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
Browser Compatibility&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
Open up a published configuration in the supported browsers and compare each kind of page. A work product, a guideline,&#xD;
a checklist, a task and an activity with an activity diagram and work breakdown structure. Confirm that they look&#xD;
reasonably similar - that no odd fonts are appearing, that text is readable, links are working, and so on.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
Then expand your screen to as large as possible (to allow maximum viewing of each page) and use the keypad to open each&#xD;
page in the treebrowser and confirm that nothing strange appears (missing graphics, corrupted HTML, and so on).&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
Publication options&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
Review the publication options, and confirm that they are correct.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
Make sure the feedback for each configuration is directed to the right location, and works after publishing.&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
Synchronization&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
Confirm that processes that require synchronization have been synchronized after any and all method content was&#xD;
finalized.&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
Index, glossary, search&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
Confirm that the index, glossary, and search all work.&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
Supporting plug-ins&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
Confirm that the &quot;is_supporting&quot; flag has been used correctly on core plug-ins.&amp;nbsp;Publish a configuration that only&#xD;
has a few practices, and look for additional elements that don't belong, such as&amp;nbsp;unused roles, unused tasks, and&#xD;
unused work products.&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
Locking&#xD;
&lt;/h4>Confirm that the released library has all plug-ins locked so that users that extend the library do no inadvertently&#xD;
modify them.&lt;br />&#xD;
&lt;br />&#xD;
&lt;h3>&#xD;
7.0 Rational Method Composer-only Tests&#xD;
&lt;/h3>&#xD;
&lt;p>&#xD;
The following tests do not apply to EPF Composer.&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
Process Builders&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
Confirm that process builders work correctly.&lt;br />&#xD;
- all practices are presented in the builders&lt;br />&#xD;
- every practice has a brief description that is readable in the builder, and matches the brief description for the&#xD;
practice.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
Confirm that the &quot;all practices&quot; configuration matches what is displayed by the IBM practices builder.&amp;nbsp; (The&#xD;
builder may do further decomposition to identify alternative practices).&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
Orphaned tags&#xD;
&lt;/h4>Unused tags should be found and removed.</mainDescription>
</org.eclipse.epf.uma:ContentDescription>