Confirmed users
964
edits
(30 intermediate revisions by 4 users not shown) | |||
Line 41: | Line 41: | ||
** https://docs.google.com/spreadsheet/ccc?key=0ArxosXOjCBacdHNrWFdBQmE3RU0xRFFwMUcxQWdRcXc&hl=en_US | ** https://docs.google.com/spreadsheet/ccc?key=0ArxosXOjCBacdHNrWFdBQmE3RU0xRFFwMUcxQWdRcXc&hl=en_US | ||
* | * Test Cases in Moztrap: | ||
** https:// | ** https://moztrap.allizom.org/manage/cases/?filter-productversion=2 | ||
** and here: https://moztrap.mozilla.org/manage/cases/?filter-suite=82 | |||
=== Weekly Test Schedules === | === Weekly Test Schedules === | ||
Line 53: | Line 54: | ||
=== Weekly Meetings === | === Weekly Meetings === | ||
* BrowserID Team Meeting: Mondays, | * BrowserID Team Meeting: Mondays, 10:30am PST/PDT in Vidyo Rm: Identity | ||
** Wiki: https://wiki.mozilla.org/Identity/WeeklyMeeting | ** Wiki: https://wiki.mozilla.org/Identity/WeeklyMeeting | ||
* BrowserID Bug Triage Meeting: Thursdays, 9:30am PST/PDT in | * BrowserID Bug Triage Meeting: Thursdays, 9:30am PST/PDT in Vidyo Rm: Identity | ||
** https://github.com/mozilla/browserid/issues | ** https://github.com/mozilla/browserid/issues | ||
Line 70: | Line 71: | ||
** benadida = Ben Adida developer | ** benadida = Ben Adida developer | ||
** thunder = Dan Mills PM | ** thunder = Dan Mills PM | ||
** | ** gene = Gene Wood OPs | ||
** jbonacci = James Bonacci QA | ** jbonacci = James Bonacci QA | ||
** jrgm = John Morrison QA | ** jrgm = John Morrison QA | ||
Line 76: | Line 77: | ||
== Bugs and Open Issues == | == Bugs and Open Issues == | ||
* | * Security, OPs, and Apps-related bugs in Bugzilla | ||
** Classification: | ** Classification: Client Software | ||
** Product: | ** Component: Server: Identity | ||
** | ** Product: Mozilla Services | ||
** | * Deployment Requests in Bugzilla | ||
** Classification: Client Software | |||
** Product: Mozilla Services | |||
** Component: Operations: Deployment Requests | |||
* BrowserID RP/Client and Server Bugs/Issues | * BrowserID RP/Client and Server Bugs/Issues | ||
** GitHub server: https://github.com/mozilla/browserid/issues | ** GitHub server: https://github.com/mozilla/browserid/issues | ||
** GitHub RP/client: https://github.com/mozilla/123done/issues | |||
** GitHub RP/client: https://github.com/lloyd/myfavoritebeer.org/issues | ** GitHub RP/client: https://github.com/lloyd/myfavoritebeer.org/issues | ||
Line 101: | Line 106: | ||
== RP/Client and Server Test Environments == | == RP/Client and Server Test Environments == | ||
* Stage Environment | * Stage Environment: | ||
** Server: https://diresworb.org/ | ** Server: https://login.anosrep.org/ (https://anosrep.org, was https://diresworb.org/) | ||
** RP/Client 1: http://beta.myfavoritebeer.org/ | ** RP/Client 1: http://beta.myfavoritebeer.org/ | ||
** RP/Client 2 | ** RP/Client 2: http://beta.123done.org/ | ||
** Primary 1: https://eyedee.me/ | ** Primary 1: https://eyedee.me/ | ||
* Dev Environment | * Dev Environment: | ||
** Server: https://dev.diresworb.org/ | ** Server: https://login.dev.anosrep.org (https://dev.anosrep.org, was https://dev.diresworb.org/) | ||
** RP/Client 1: http://dev.myfavoritebeer.org/ | ** RP/Client 1: http://dev.myfavoritebeer.org/ | ||
** RP/Client 2 | ** RP/Client 2: http://dev.123done.org/ | ||
** Primary 1: https://eyedee.me/ | ** Primary 1: https://eyedee.me/ | ||
* Production Environment | * Production Environment: | ||
** Server: https://browserid.org/ | ** Server: https://login.persona.org (https://persona.org, was https://browserid.org/) | ||
** RP/Client 1: http://www.myfavoritebeer.org/ | ** RP/Client 1: http://www.myfavoritebeer.org/ | ||
** RP/Client 2 | ** RP/Client 2: http://123done.org/ | ||
** Other working RPs/Clients: any Mozilla internal or public site using Persona/BrowserID | |||
** Other working RPs/Clients: any Mozilla internal or public site using | |||
** Primary 1: https://eyedee.me/ | ** Primary 1: https://eyedee.me/ | ||
** Primary 2: https://mockmyid.com/ | ** Primary 2: https://mockmyid.com/ | ||
Line 140: | Line 138: | ||
* webheads: /var/log/browserid | * webheads: /var/log/browserid | ||
** browserid.log | ** browserid.log | ||
** router.log | ** router.log | ||
** verifier.log | ** verifier.log | ||
** verifier-metrics.json | ** verifier-metrics.json | ||
** verifier-compute.log | ** verifier-compute.log | ||
** static.log | |||
** router-metrics.json | |||
Note: router-metrics.json replaces browserid-metrics.json | |||
* secure webheads: /var/log/browserid/ | * secure webheads: /var/log/browserid/ | ||
** dbwriter.log | ** dbwriter.log | ||
* keysigners have /var/log/browserid/ | * keysigners have /var/log/browserid/ | ||
** keysigner.log | ** keysigner.log | ||
** keysigner-compute.log | ** keysigner-compute.log | ||
* dbs: various db logs | * dbs: various db logs | ||
* zeus: various zeus logs | * zeus: various zeus logs | ||
Line 175: | Line 178: | ||
*** node bin/verifier | *** node bin/verifier | ||
*** node bin/router | *** node bin/router | ||
*** node bin/static | |||
*** /usr/bin/node /opt/browserid/lib/verifier/verifier-compute.js | *** /usr/bin/node /opt/browserid/lib/verifier/verifier-compute.js | ||
*** /usr/bin/node /opt/browserid/lib/bcrypt-compute.js | *** /usr/bin/node /opt/browserid/lib/bcrypt-compute.js | ||
** secure webheads: | ** secure webheads: | ||
*** node bin/dbwriter | *** node bin/dbwriter | ||
*** /usr/bin/node /opt/browserid/lib/bcrypt-compute.js | *** /usr/bin/node /opt/browserid/lib/bcrypt-compute.js | ||
** keysigners: | ** keysigners: | ||
*** node bin/keysigner | *** node bin/keysigner | ||
*** /usr/bin/node /opt/browserid/lib/keysigner/keysigner-compute.js | *** /usr/bin/node /opt/browserid/lib/keysigner/keysigner-compute.js | ||
** databases: | ** databases: | ||
*** /bin/sh /usr/bin/mysqld_safe --datadir=/data/mysql --pid-file=/var/run/mysqld/mysqld.pid | *** /bin/sh /usr/bin/mysqld_safe --datadir=/data/mysql --pid-file=/var/run/mysqld/mysqld.pid | ||
*** /usr/sbin/mysqld --basedir=/usr --datadir=/data/mysql --user=mysql --log-error=/data/mysql/db1.iddb.scl2.stage.svc.mozilla.com.err --open-files-limit=8192 --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock --port=3306 | *** /usr/sbin/mysqld --basedir=/usr --datadir=/data/mysql --user=mysql --log-error=/data/mysql/db1.iddb.scl2.stage.svc.mozilla.com.err --open-files-limit=8192 --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock --port=3306 | ||
*** perl /usr/bin/pt-heartbeat --create-table -D browserid -u root --update | *** perl /usr/bin/pt-heartbeat --create-table -D browserid -u root --update | ||
** Note: This assumes access to the main Stage Admin server. If you do not have SSH access, then get QA staff or Dev to verify the processes. | ** Note: This assumes access to the main Stage Admin server. If you do not have SSH access, then get QA staff or Dev to verify the processes. | ||
* Version Checks | * Version Checks | ||
** Production: https:// | ** Production: https://login.persona.org/ver.txt | ||
** Dev: https://dev. | ** Dev: https://login.dev.anosrep.org/ver.txt | ||
** Stage: https:// | ** Stage: https://login.anosrep.org/ver.txt | ||
** Note: Dev should always be running one version newer than Stage. Stage should be running one version newer than Production. | ** Note: Dev should always be running one version newer than Stage. Stage should be running one version newer than Production. | ||
Line 198: | Line 206: | ||
** See Stage Logging section above. | ** See Stage Logging section above. | ||
** Note: This assumes access to the main Stage Admin server. If you do not have SSH access, then get QA staff or Dev to verify that the logs are active. | ** Note: This assumes access to the main Stage Admin server. If you do not have SSH access, then get QA staff or Dev to verify that the logs are active. | ||
=== Local Installs === | === Local Installs === | ||
Line 224: | Line 226: | ||
** https://wiki.mozilla.org/QA/BrowserID/BrowserID_Basic_Install#Running_Unit_Tests | ** https://wiki.mozilla.org/QA/BrowserID/BrowserID_Basic_Install#Running_Unit_Tests | ||
* Instructions are good for any installation... | * Instructions are good for any installation... | ||
=== Automation Testing === | |||
* There are two main ways to run automation testing: | |||
** Directly through the Selenium/Jenkins/Sauce Labs automation environment | |||
** Locally using a stand-alone Selenium server and the built-in automation tests | |||
* Selenium/Jenkins/Sauce Labs automation - see the following links | |||
** https://wiki.mozilla.org/QA/BrowserID/BrowserID_Basic_Install#Running_the_Automation_Tests | |||
** https://wiki.mozilla.org/Identity/QA#BrowserID_Automation | |||
*** Selenium BID dashboard: BrowserID dashboard: http://qa-selenium.mv.mozilla.com:8080/ | |||
*** Browserid-tests repo: https://github.com/mozilla/browserid/tree/dev/automation-tests | |||
*** Dave Hunt's BIDPOM (BrowserID Page-Object Model) repo: https://github.com/davehunt/bidpom | |||
* Automation on the localhost - see the following links: | |||
** https://wiki.mozilla.org/QA/BrowserID/BrowserID_Basic_Install#Running_the_Automation_Tests | |||
=== Sanity/Acceptance/Smoke === | === Sanity/Acceptance/Smoke === | ||
Line 230: | Line 247: | ||
* See the Test Cases (listed in the "Links and Documentation" section above) for more information. | * See the Test Cases (listed in the "Links and Documentation" section above) for more information. | ||
* Server-side (https:// | * Server-side (https://login.anosrep.org/) [https://moztrap.mozilla.org/manage/cases/?filter-productversion=2&filter-suite=82 MozTrap] [https://github.com/mozilla/browserid/blob/dev/automation-tests/persona_server/tests/test_manage_account.py AUTO] | ||
** Sign Up with a new account and one email | ** [https://moztrap.mozilla.org/manage/case/989/ Sign Up with a new account and one email] | ||
** | ** [https://moztrap.mozilla.org/manage/case/990/ Sign In - Sign Out with a current account of one email] | ||
** [https://moztrap.mozilla.org/manage/case/992/ Change the password on a current account with one email] | |||
** [https://moztrap.mozilla.org/manage/case/993/ Delete/Remove a current account with one email] | |||
** Change the password on a current account with one email | |||
** | |||
* Client-side (http://myfavoritebeer.org or http://123done.org using one desktop OS with one browser) | * Client-side (http://myfavoritebeer.org or http://123done.org using one desktop OS with one browser) | ||
Line 251: | Line 265: | ||
** Delete/Remove the account from the server-side | ** Delete/Remove the account from the server-side | ||
* Client-side (http://myfavoritebeer.org or http://123done.org using Android with stock browser) | * Client-side (http://beta.myfavoritebeer.org or http://beta.123done.org using Android with stock browser) | ||
** Sign In using one RP/client to create a new account with one email | ** Sign In using one RP/client to create a new account with one email | ||
*** Verify correct email verification sent to correct account (email provider) | *** Verify correct email verification sent to correct account (email provider) | ||
Line 273: | Line 287: | ||
* Site Access - Stage | * Site Access - Stage | ||
** Verify use of HSTS (for https:// only sites) | ** Verify use of HSTS (for https:// only sites) | ||
** Verify that the Stage server site can be accessed through secured HTTPS: https:// | ** Verify that the Stage server site can be accessed through secured HTTPS: https://login.anosrep.org/ | ||
** Verify that the Stage server site can not be accessed using only HTTP, but instead gets redirected to the HTTPS site: http:// | ** Verify that the Stage server site can not be accessed using only HTTP, but instead gets redirected to the HTTPS site: http://login.anosrep.org/ | ||
** Verify that the Stage RP/client site can be accessed through standard HTTP: http://beta.myfavoritebeer.org/ or http://123done.org | ** Verify that the Stage RP/client site can be accessed through standard HTTP: http://beta.myfavoritebeer.org/ or http://beta.123done.org | ||
** Verify that the Stage RP/client site gets a certificate warning/error or is blocked when accessed through secured HTTPS: https://beta.myfavoritebeer.org/, http://123done.org | ** Verify that the Stage RP/client site gets a certificate warning/error or is blocked when accessed through secured HTTPS: https://beta.myfavoritebeer.org/, http://beta.123done.org | ||
** Verify similar for the following RPs/clients: | ** Verify similar for the following RPs/clients: | ||
*** carrera.databits.net:9999/ | *** carrera.databits.net:9999/ | ||
Line 282: | Line 296: | ||
* Accounts and Email Verification | * Accounts and Email Verification | ||
** Creating an account from the server site using Sign Up | ** Creating an account from the server site using Sign Up | ||
** Creating an account inline (at first use of an RP/client Sign In) | ** Creating an account inline (at first use of an RP/client Sign In) [https://github.com/mozilla/BrowserID-Tests/blob/master/123done/tests/test_new_user.py AUTO] | ||
** Email notifications for new accounts: verification email through email provider with proper email account listed, live verification link, etc. | ** Email notifications for new accounts: verification email through email provider with proper email account listed, live verification link, etc. [https://github.com/mozilla/BrowserID-Tests/blob/master/123done/tests/test_new_user.py AUTO] | ||
*** Test with emails/accounts on various, popular email servers/services | *** Test with emails/accounts on various, popular email servers/services | ||
*** See more details in the next bulleted list | *** See more details in the next bulleted list | ||
Line 291: | Line 305: | ||
* Email Notifications for server or RP/Client | * Email Notifications for server or RP/Client | ||
** On the same OS | ** On the same OS | ||
*** Email notification and verification using one browser | *** Email notification and verification using one browser [https://github.com/mozilla/BrowserID-Tests/blob/master/123done/tests/test_new_user.py AUTO] | ||
*** Email notification on one browser, verification on an another | *** Email notification on one browser, verification on an another | ||
** Across multiple OS | ** Across multiple OS | ||
Line 312: | Line 326: | ||
* Accounts and Emails | * Accounts and Emails | ||
** Adding additional emails to an account | ** Adding additional emails to an account [https://github.com/mozilla/BrowserID-Tests/blob/master/123done/tests/test_add_another_email.py AUTO] | ||
** Attempt to add an email (that may or may not be yours) from another account | ** Attempt to add an email (that may or may not be yours) from another account | ||
** Deleting one or more emails (without actually deleting the account) | ** Deleting one or more emails (without actually deleting the account) | ||
Line 688: | Line 702: | ||
* Server/service scenarios - failover/recover, temp outage, traffic flow, etc. | * Server/service scenarios - failover/recover, temp outage, traffic flow, etc. | ||
** Zeus/load balancer issues | ** Zeus/load balancer issues | ||
** webhead for browserid and | ** webhead for browserid, verifier, router, and static | ||
** swebhead for dbwriter | ** swebhead for dbwriter | ||
** keysigner for keysigner | ** keysigner for keysigner | ||
** mysql/db | ** mysql/db | ||
=== | === Load Testing === | ||
* Load Testing in Stage is handled by | * Load Testing in Stage is handled by QA using BrowserID code provided by Dev. | ||
* QA should monitor all load tests | * QA should monitor all load tests | ||
* QA should also schedule specific load tests to cover various requirements for server-side testing. | * QA should also schedule specific load tests to cover various requirements for server-side testing. | ||
** Work with OPs to queue up specific load tests to check Server stability, various metrics | ** Work with OPs to queue up specific load tests to check Server stability, various metrics | ||
* Monitor load tests with OPs dashboards | * Monitor load tests with OPs dashboards - e.g., http://pencil.scl2.stage.svc.mozilla.com/dash/stage/bid_webhead (requires access to the MPT VPN) | ||
* Analyze text and visual data for functionality and peformance | * Analyze text and visual data for functionality and peformance | ||
* REF: | * REF: | ||
** load_gen: https://github.com/mozilla/browserid/blob/dev/bin/load_gen | ** load_gen: https://github.com/mozilla/browserid/blob/dev/bin/load_gen | ||
<pre> | |||
An example command line to run the load test: | |||
nohup bin/load_gen -s https://verifier.login.anosrep.org -o -m 250000 -u 1/250 | |||
-s -- the URL to the browserid server | |||
-o -- don't request static resources | |||
-m -- maximum active users to simulate (ADU) | |||
-u -- use this range of #@loadtest.domain users (these users already exist in the | |||
stage database. If running your own instance, do `CREATE_TEST_USERS=1000 | |||
BROWSERID_FAKE_VERIFICATION=1 NODE_ENV=test_mysql npm start`). | |||
I typically run the above command piped into this: | |||
| /usr/local/bin/tai64n | /usr/local/bin/tai64nlocal \ | |||
>> /path/to/load_gen.log-`date +%Y%m%d-%H%M` 2>&1 & | |||
which will timestamp the output and save it in a logfile, etc. | |||
</pre> | |||
== QA Sign-Off for Stage == | == QA Sign-Off for Stage == |