QA/Jetpack/AddonBuilderTestPlan/Testcases: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
 
(47 intermediate revisions by the same user not shown)
Line 1: Line 1:
LEGEND:<br>
LEGEND:<br>
<font color="Black">Black</font> = Done<br>
<font color="Black">Black</font> = Done<br>
<font color="Red">Red</font> = Pending<br>
<font color="Red">Red</font> = Waiting for Selenium 2 APIs<br>
<font color="Blue">Blue</font> = Blocker<br>


Following are the test cases for the Add-on builder. <br>
Following are the test cases for the Add-on builder. <br>
*Home Page:
==Home Page==
**Automated:  
*Automated:  
***User should be able to login to add-on builder through the Sign-in button on the home page. The Dashboard should be displayed.(done)  
**User should be able to login to add-on builder through the Sign-in button on the home page.
***User should be redirected to the text editor page when clicked on the create add-on button, after he is authenticated.(done)
**If the user is already logged in, the "My account" link on the top of the page should navigate the user to the dashboard.
***All links on the home page should be clickable and redirected to the proper page.  
**User should be able to go to create add-on/create libraries page(opened in new tab) from the dropdown at the top of the page, after he is authenticated.
***When the user is not logged in,the home page should only show the "Test" and "View Source" buttons(enabled).(done)
**User should be redirected to the add-on editor page when clicked on the create add-on button, after he is authenticated.
***Apart form the above mentioned buttons, "Edit" and "Disable" buttons should be shown on the home page to the user for the add-ons that have been created by them.(user needs to be logged in)(done)  
**User should be redirected to the library text editor page when they click on "Create Library" button.
***User should be redirected to the library text editor page when they click on "Create Library" button (done)
**All links on the home page should be clickable and redirected to the proper page.  
**When the user is not logged in,the home page should only show the "Test" and "View" buttons(enabled).
**For the add-ons created by other users, only "Test" and "View" buttons should be visible to the current user.
**For the libraries created by other users, only "View" button should be visible to the current user.
**"Public" and "Private" button should be shown on the home page to the user for the add-ons/libraries that have been created by them.(user needs to be logged in)
**<b>Clicking on the "Private" button for a personal public add-on should make that addon private and should not be visible on the homepage.</b>


**Manual(in-litmus):  
*Manual(in-litmus):  
***<font color="Red">Latest Jetpack SDK should be downloaded when the user clicks on the "Download Add-ons builder SDK"</font>
**Latest Jetpack SDK should be downloaded when the user clicks on the "Download Add-ons builder SDK"
** Check through the contents of the links on the page.


*Editor Page:
==Add-on Editor Page==
**This page has two phases for Add-ons and Libraries:  
*This page has two phases for Add-ons and Libraries:  
***View  
**View  
***Edit  
**Edit  
**Automated:  
*Automated:  
***When in Edit mode, the add-on editor should have four buttons: "Test", "Download", "Save", "Revision".(done)
**When in Edit mode, the add-on editor should have Seven buttons: "Test", "Download", "Save", "Copy", "Error Console", "Revision", "Properties".
***When in View mode, the add-on editor should have four buttons: "Test", "Download", "Copy", "Revision".(done)
**When in View mode, the add-on editor should have Five buttons: "Test", "Download", "Copy", "Revision", "Properties".
***When in Edit mode, the library editor should have "Save" and "Revision" buttons.(done)
**When in Edit mode, the library editor should have "Save", "Copy", "Revision","Error Console", "Properties" buttons.
***When in View mode, the library editor should have "Copy" and "Revision" buttons.(done)<font color="Red"></font> <br>  
**When in View mode, the library editor should have "Copy", "Revision", "Properties" buttons.<br>  
***Clicking on Copy button should create a fresh new package with the copied contents from the original package.(done)
**Clicking on Copy button should create a fresh new package with the copied contents from the original package.
***The revision should change when the user adds/removes modules (done)The total number of modules added should be displayed in the modules section (done) <br>
**The "Revision" button should display all the revisions that have been recorded for that add-on.
***The "Revision" button should display all the revisions that have been recorded for that add-on.(done)
**The information of the current add-on can be edited by clicking the "Properties" button on the editor. (Note:You should be in the edit mode for this to work.)
***<font color="Red">The information of the current add-on can be edited by clicking on the add-on name. (Note:You should be in the edit mode for this to work.)</font>
**You should *NOT* be able to change the information of the add-on in view source mode.(The Properties button should just display information and no editable fields)
***<font color="Red">You should *NOT* be able to change the information of the add-on in view source mode.</font>
**A new revision should be generated when the user saves after making changes to the existing addon code.
***<font color="Red">A new revision should be generated when the user saves after making changes to the existing addon code.</font>
**The code for the add-on library should be saved when the save button is pressed.<br>
***<font color="Red">The code for the add-on/library should be saved when the save button is pressed.</font><br>  
**<font color="Red">The user should be able to add/remove Lib(modules) and Libraries and the list of modules/libraries should be updated.</font>
***<font color="Red">The user should be able to add modules and <font color="Blue">libraries</font></font>  
**<font color="Red">The revision should change when the user adds/removes libs(modules)/data(attachments) and libraries.</font>
***<font color="Blue">The SDK version to be used for the current add-on can be changed from the libraries section.</font>  
**<font color="Red">The SDK version to be used for the current add-on can be changed from the plugins(libraries) section.</font>
***<font color="Blue">The revision should change when the user adds/removes libraries</font>  
**<font color="Red">When the user hits download without saving the code, the downloaded XPI should still contain the final edits of the user(i.e.it should check for a edit after the last save, and if true, should autosave it in the XPI)</font>
***<font color="Blue">The total number of libraries added should be displayed in the libraries section</font>
**<font color="Red">You should be able to edit the name of the Lib(module) by clicking on the pencil like button besides the name.</font>
**<font color="Red">The revision should also be updated when you edit the name of the lib(module)</font>
**<font color="Red">You should be able to edit the name of the Data(attachments) by clicking on the pencil like button besides the name.</font>
**<font color="Red">The revision should also be updated when you edit the name of the attachment.</font>
**<font color="Red">You should be able to add a file successfully.</font>
**<font color="Red">You should be able to upload an attachment using an external URL.</font>
**<font color="Red">If a library is added to an addon and if it is updated in another tab, you should be able to see a refresh icon on mouse over the library is the addon editor.</font>
**<font color="Red">Check that Edit and save of the version and comment are working in the save button</font>


**Manual(in-litmus):  
*Manual(in-litmus):  
***<font color="Red">The "Test" button should install the add-on into the browser without a restart. It should change state to "pressed" after the addon is installed</font>
**The user should be able to select the entire text present in the text editor.
***<font color="Red">Clicking on the pressed button again will uninstall the addon and the button will be released.</font>
**The user should be able to perform copy/paste functionality in the text editor.
***<font color="Red">Clicking on the "Download" button should generate an XPI file.</font>
**The "Test" button should install the add-on into the browser without a restart. It should change state to "pressed" after the addon is installed
***<font color="Red">The user should be able to add attachments.</font>
**Clicking on the pressed button again will uninstall the addon and the button will be released.
**Clicking on the "Download" button should generate an XPI file.
**The user should be able to upload attachments ('Data' button on the page).
**The user should be able to add attachments from an URI (2 MB max filesize).
**Adding attachments should update the revision number of the current addon.
**If the user is in the "Edit" mode, the attachments should be editable in the text editor. The editable attachments are .js, .css and .txt)
**If the user is in the "View" mode, the text attachments should *NOT* be editable.


*My account page:
==My account page==
**Automated:  
*Automated:  
***The add-ons on this page should be tagged "initial"(default) for a newly saved packages.(done)
**The add-ons/libraries on this page should be tagged "initial"(default) for newly saved packages.
***It should be tagged "copy" for copied new packages.(done)
**It should be tagged "copy" for copied new packages.
***The page should also show the count of the number of add-ons that you have created.(done)<font color="Red"></font> <br>  
**The page should also show the count of the number of add-ons and libraries  that you have created.<br>  
***When clicking on the "Your Add-ons"/"Your Libraries" link, add-ons/libraries should be shown in a pagination manner if there are more than 10 add-ons for the user.(done)
**When clicking on the "Public Add-ons"/"Public Libraries" link, add-ons/libraries should be shown in a pagination manner if there are more than 10 add-ons for the user.
***In "Your Latest Add-ons" section, each add-on must have "Test", "View Source", "Edit" and "Disable" buttons.(done)
**When clicking on the "Private Add-ons"/"Private Libraries" link, add-ons/libraries should be shown in a pagination manner if there are more than 10 add-ons for the user.
***In "Your Latest Libraries" section, each library should have "View Source", "Edit" and "Disable" buttons.(done)
**On the dashboard, each add-on must have "Test", "Edit", "Delete", "Public" and "Private" buttons.
***This page should show you the total count of the number of add-ons and the number of libraries that you have created.(done)
**On the dashboard, each library must have "Edit", "Delete", "Public" and "Private" buttons.
***<font color="Red">All the links present on this page should be working and should be redirected to their specific location.</font>
**Clicking on Private button disables the add-on/library and sends it to Private add-ons/Private libraries section.
***<font color="Blue">Clicking on the Disable button should give notification and hide the add-on/library. This action can be undone by clicking "undo" in the notification. (This is going to change in future, because right now there is no way to get back an add-on if you want to enable it after the notification is gone)</font>
**You can reactivate the private add-on by clicking the "Public" button from the Private add-ons page.
**You can reactivate the private libraries by clicking the "Public" button from the private libraries page.
**Clicking on the "Private add-ons" link should show you the currently disabled addons.
**Clicking on the "Private libraries" link should show you the currently disabled libraries.
** You should be able to go to editor page when you click edit button.
** Add on should be permanently deleted when you hit the Delete button


**Manual (in-litmus)  
*Manual (in-litmus)  
***<font color="Red">The saved and enabled (default) Addons and libraries should be shown on this page.</font>
**All the saved and public (default) Addons and libraries should be shown on this page.
**It should be tagged "uploaded" for packages that have been uploaded.
**You can upload an xpi file from your computer by clicking the "upload package" link on this page.
** Add on should be installed when you hit the Test button.


*Library editor page:
==Library editor page==
**Automated:  
*Automated:  
***<font color="Red"></font>The library should be saved through the "Save" button. (done in home page) <br>  
**The library editor should have "Save", Copy", Revision" and "Properties" button when in "Edit" mode.
***<font color="Red">Modules and libraries should be allowed to be added to the current library.</font>
**The library editor should have "Copy", Revision" and "Properties" button when in "View" mode.
***<font color="Red">Library information should be editable when clicked on the library name on that page(Note: This can be done only when the user is in edit mode)</font><br>  
**The code for the library should be edited and should be saved when the save button is pressed.<br>
***<font color="Red">The revision should be generated through the revision button.</font>
**Lib(Modules) and plugins(libraries) should be allowed to be added to the current library.
***<font color="Blue">The libraries created by the user should be reflected in the libraries section when the user is writing the code for an add-on.</font>
**Library information should be editable when the "Properties" button is clicked.(Note: This can be done only when the user is in edit mode)<br>  
**The revision can be checked through the revision button. (done,combined with above test case)
**The libraries created by the user should be reflected in the libraries section when the user is writing the code for an add-on.
**<b>The user should be able to edit the name of the lib(module) by clicking the pencil like edit button besides the name.</b>
**<b>The user should be able to delete lib(modules) and plugins(libraries).</b>


**Manual:  
 
***<font color="Blue">Attachments should be allowed to be added to the current library.</font>
*Manual:  
**Attachments should be allowed to be added to the current library.
**<b>The test cases for attachments are the same as in the add-on editor page(above).</b>

Latest revision as of 20:38, 28 April 2011

LEGEND:
Black = Done
Red = Waiting for Selenium 2 APIs

Following are the test cases for the Add-on builder.

Home Page

  • Automated:
    • User should be able to login to add-on builder through the Sign-in button on the home page.
    • If the user is already logged in, the "My account" link on the top of the page should navigate the user to the dashboard.
    • User should be able to go to create add-on/create libraries page(opened in new tab) from the dropdown at the top of the page, after he is authenticated.
    • User should be redirected to the add-on editor page when clicked on the create add-on button, after he is authenticated.
    • User should be redirected to the library text editor page when they click on "Create Library" button.
    • All links on the home page should be clickable and redirected to the proper page.
    • When the user is not logged in,the home page should only show the "Test" and "View" buttons(enabled).
    • For the add-ons created by other users, only "Test" and "View" buttons should be visible to the current user.
    • For the libraries created by other users, only "View" button should be visible to the current user.
    • "Public" and "Private" button should be shown on the home page to the user for the add-ons/libraries that have been created by them.(user needs to be logged in)
    • Clicking on the "Private" button for a personal public add-on should make that addon private and should not be visible on the homepage.
  • Manual(in-litmus):
    • Latest Jetpack SDK should be downloaded when the user clicks on the "Download Add-ons builder SDK"
    • Check through the contents of the links on the page.

Add-on Editor Page

  • This page has two phases for Add-ons and Libraries:
    • View
    • Edit
  • Automated:
    • When in Edit mode, the add-on editor should have Seven buttons: "Test", "Download", "Save", "Copy", "Error Console", "Revision", "Properties".
    • When in View mode, the add-on editor should have Five buttons: "Test", "Download", "Copy", "Revision", "Properties".
    • When in Edit mode, the library editor should have "Save", "Copy", "Revision","Error Console", "Properties" buttons.
    • When in View mode, the library editor should have "Copy", "Revision", "Properties" buttons.
    • Clicking on Copy button should create a fresh new package with the copied contents from the original package.
    • The "Revision" button should display all the revisions that have been recorded for that add-on.
    • The information of the current add-on can be edited by clicking the "Properties" button on the editor. (Note:You should be in the edit mode for this to work.)
    • You should *NOT* be able to change the information of the add-on in view source mode.(The Properties button should just display information and no editable fields)
    • A new revision should be generated when the user saves after making changes to the existing addon code.
    • The code for the add-on library should be saved when the save button is pressed.
    • The user should be able to add/remove Lib(modules) and Libraries and the list of modules/libraries should be updated.
    • The revision should change when the user adds/removes libs(modules)/data(attachments) and libraries.
    • The SDK version to be used for the current add-on can be changed from the plugins(libraries) section.
    • When the user hits download without saving the code, the downloaded XPI should still contain the final edits of the user(i.e.it should check for a edit after the last save, and if true, should autosave it in the XPI)
    • You should be able to edit the name of the Lib(module) by clicking on the pencil like button besides the name.
    • The revision should also be updated when you edit the name of the lib(module)
    • You should be able to edit the name of the Data(attachments) by clicking on the pencil like button besides the name.
    • The revision should also be updated when you edit the name of the attachment.
    • You should be able to add a file successfully.
    • You should be able to upload an attachment using an external URL.
    • If a library is added to an addon and if it is updated in another tab, you should be able to see a refresh icon on mouse over the library is the addon editor.
    • Check that Edit and save of the version and comment are working in the save button
  • Manual(in-litmus):
    • The user should be able to select the entire text present in the text editor.
    • The user should be able to perform copy/paste functionality in the text editor.
    • The "Test" button should install the add-on into the browser without a restart. It should change state to "pressed" after the addon is installed
    • Clicking on the pressed button again will uninstall the addon and the button will be released.
    • Clicking on the "Download" button should generate an XPI file.
    • The user should be able to upload attachments ('Data' button on the page).
    • The user should be able to add attachments from an URI (2 MB max filesize).
    • Adding attachments should update the revision number of the current addon.
    • If the user is in the "Edit" mode, the attachments should be editable in the text editor. The editable attachments are .js, .css and .txt)
    • If the user is in the "View" mode, the text attachments should *NOT* be editable.

My account page

  • Automated:
    • The add-ons/libraries on this page should be tagged "initial"(default) for newly saved packages.
    • It should be tagged "copy" for copied new packages.
    • The page should also show the count of the number of add-ons and libraries that you have created.
    • When clicking on the "Public Add-ons"/"Public Libraries" link, add-ons/libraries should be shown in a pagination manner if there are more than 10 add-ons for the user.
    • When clicking on the "Private Add-ons"/"Private Libraries" link, add-ons/libraries should be shown in a pagination manner if there are more than 10 add-ons for the user.
    • On the dashboard, each add-on must have "Test", "Edit", "Delete", "Public" and "Private" buttons.
    • On the dashboard, each library must have "Edit", "Delete", "Public" and "Private" buttons.
    • Clicking on Private button disables the add-on/library and sends it to Private add-ons/Private libraries section.
    • You can reactivate the private add-on by clicking the "Public" button from the Private add-ons page.
    • You can reactivate the private libraries by clicking the "Public" button from the private libraries page.
    • Clicking on the "Private add-ons" link should show you the currently disabled addons.
    • Clicking on the "Private libraries" link should show you the currently disabled libraries.
    • You should be able to go to editor page when you click edit button.
    • Add on should be permanently deleted when you hit the Delete button
  • Manual (in-litmus)
    • All the saved and public (default) Addons and libraries should be shown on this page.
    • It should be tagged "uploaded" for packages that have been uploaded.
    • You can upload an xpi file from your computer by clicking the "upload package" link on this page.
    • Add on should be installed when you hit the Test button.

Library editor page

  • Automated:
    • The library editor should have "Save", Copy", Revision" and "Properties" button when in "Edit" mode.
    • The library editor should have "Copy", Revision" and "Properties" button when in "View" mode.
    • The code for the library should be edited and should be saved when the save button is pressed.
    • Lib(Modules) and plugins(libraries) should be allowed to be added to the current library.
    • Library information should be editable when the "Properties" button is clicked.(Note: This can be done only when the user is in edit mode)
    • The revision can be checked through the revision button. (done,combined with above test case)
    • The libraries created by the user should be reflected in the libraries section when the user is writing the code for an add-on.
    • The user should be able to edit the name of the lib(module) by clicking the pencil like edit button besides the name.
    • The user should be able to delete lib(modules) and plugins(libraries).


  • Manual:
    • Attachments should be allowed to be added to the current library.
    • The test cases for attachments are the same as in the add-on editor page(above).