QA/Jetpack/AddonBuilderTestPlan: Difference between revisions

no edit summary
No edit summary
 
(48 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== Introduction ==
== Introduction ==
'''Add-on builder'''


Add-on Builder is the quick and easy way to develop an extension for Firefox using common web technologies. It is the GUI version of the Jetpack SDK. If you do not have an extensive experience of programming using text editors and revision control systems, use the Add-on builder for the awesome experience of creating add-ons for Firefox. Get started by clicking [https://builder.mozillalabs.com/ here].
The Add-on Builder is the quick and easy way to develop an extension for Firefox using common web technologies. The Builder is essentially a web app that wraps the Add-on SDK for developers who do not possess extensive experience developing add-ons for Firefox or are not familiar with console-based development environments. Get started by clicking [https://builder.mozillalabs.com/ here].


=='''Criteria to ship'''==
== Release Planning and Implementation ==
<br>
Add-on builder can be pushed to production when the tests pass. In these tests, we should basically be able to write the code for the add-on inside the bespin editor and download it to Firefox to check if it works. There will be sample Add-on and library code to test with. You can use this code in order to check whether the libraries and add-ons are generated.


=='''QA Reports'''==
The linked document below is used for planning and development of specs for upcoming releases of the Add-ons Builder. See the features link in QA strategy section for the list of major features that have been implemented to date.
 
[https://docs.google.com/document/edit?id=1q680sqwBaJ-0uz25tbi_osLJfi4UIBnBFtWAUVOHg2E&hl=en# Add-on Builder Product Development Plan]
 
== Criteria to ship ==
 
The Builder can be pushed to production when the manual and automated tests pass based on the following criteria:
* All links on the website are working. There should be no 404 errors.
* The add-ons and libraries are being saved.
* We are able to write the code for an add-on inside the Skywriter editor and download it to Firefox to ensure it works as expected.
A test Add-on and Library will each be created that possess all the possible attributes of a fully featured package. Each item included in the Add-on or Library will be entered into the Builder and tested in a stepwise process that mocks the route a developer would take in creating such a package. See the QA strategy section below for details on how and what to test.
 
== QA Strategy ==


The Add-on builder will be tested on different platforms and environments.
The Add-on builder will be tested on different platforms and environments.
* Platforms
{| class="standard-table" style="width: 100%;"
** Mac
|-
** Windows
| class="header" | Browsers
** Linux
| class="header" | Platforms
|-
| Latest Firefox release
| Mac OS X 10.6 and higher<br>Windows XP, Vista and 7<br>Linux
|}
 
There are two types of testing for Add-on builder.<br>
 
'''=== Manual: ==='''


* Environments
Manual testing includes running Smoke tests, BFTs and FFTs. They should pass in order to release Add-on builder. We will use spot checks for feature testing to ensure that when new features land, they do not regress any functionality in the application and behave as expected.<br>
** Firefox 3.6+
Following is the list of the features that are implemented in the Add-on builder and its test cases.  
** Chrome 4+
* [https://wiki.mozilla.org/QA/Jetpack/AddonBuilderTestPlan/design Features]
<br>
There will be two types of testing for Add-on builder.  
1. Manual
2. Automation


1. Manual:
* [https://wiki.mozilla.org/QA/Jetpack/AddonBuilderTestPlan/Testcases Test cases]
Manual testing includes running Smoke tests, BFTs and FFTs manually. They should pass in order to release Add-on builder. We can use spot checking for feature testing, just to make sure that landing a feature does not break the overall functionality.
 
'''=== Automation ==='''
 
GitHub repository for tests: https://github.com/ayanshah/FlightDeck-selenium/


2. Automation:
Being a web application, Add-on builder is a great candidate for automation tests. Here, we can basically test the flow of creating an add-on through Add-on builder. We can also test the creation of libraries as well.
Being a web application, Add-on builder is a great candidate for automation tests. Here, we can basically test the flow of creating an add-on through Add-on builder. We can also test the creation of libraries as well.
The flow can be -  
The flow can be -  
Line 34: Line 49:
  - Typing in text editor for module
  - Typing in text editor for module
  - (Optional)Save
  - (Optional)Save
  - (Optional)Add attachment(s)
  - (Optional)Add/Remove attachment(s)
  - (Optional)save
  - (Optional)Save
  - (Optional)Add libraries
  - (Optional)Add/Remove libraries
  - Edit add-on
- (Optional)Upload a package.
  - Edit add-on information
  - Save
  - Save
  - Download add-on
  - Download add-on
Line 43: Line 59:


This is a sample example for automation flow. We will have scripts to test different features like badging verification, notification verification etc.
This is a sample example for automation flow. We will have scripts to test different features like badging verification, notification verification etc.
* Tools used for automation
** Selenium Server - Python client


== Add-on builder ==
== Schedule ==


{| class="standard-table" style="width: 100%;"
{| class="standard-table" style="width: 100%;"
|-
|-
| class="header" | Milestone
| class="header" | Milestone
| class="header" | Release Date
| class="header" | Tags
| class="header" | Planned Release Date
| class="header" | QA Sign off
| class="header" | QA Sign off
| class="header" | Status
| class="header" | Browser Status
| class="header" | Platform Status
|-
|-
| [https://wiki.mozilla.org/Labs/Jetpack/SDK/0.8#Timeline SDK 0.8]
| [https://wiki.mozilla.org/AMO/FlightDeck/0.9.2#Timeline 1.0a0.9.2]
| September 22
| Maintenance Release
|  
| April 7
| '''Mac''':result<br> '''Windows''':result<br> '''Linux''':result<br>
| April 7
| '''Firefox''':4.0
| '''Mac''':Pass<br> '''Windows''':Pass<br> '''Linux''':Pass<br>
|-
|-
| [https://wiki.mozilla.org/Labs/Jetpack/SDK/0.7#Timeline SDk 0.7]
| [https://wiki.mozilla.org/AMO/FlightDeck/0.9.3#Timeline 1.0a0.9.3]
| August 26
| Feature Release
| April 28
|  
|  
| '''Mac''':result<br> '''Windows''':result<br> '''Linux''':result<br>
| '''Firefox''':4.0
| '''Mac''':<br> '''Windows''':<br> '''Linux''':<br>
|}
|}
== Testing results ==
* Flightdeck 1.0a7
** [https://wiki.mozilla.org/QA/Jetpack/AddonBuilderTestPlan/1.0a7stage Stage Results]
* Flightdeck 1.0a8
** [https://wiki.mozilla.org/QA/Jetpack/AddonBuilderTestPlan/1.0a8stage Stage Results]
* Flightdeck 1.0a9  Maintenance release
** [https://wiki.mozilla.org/QA/Jetpack/AddonBuilderTestPlan/1.0a9stage_maintenance Stage results]
Confirmed users
9,511

edits