User:Rachel99/proposal1

Browser Test Automation for VisualEditor
Name: Rachel Thomas

Email: rachelthomas_99@yahoo.com

IRC handle: rachel99

Location: Boston, MA (UTC -4:00 )

Background
As the major issues in VisualEditor have been fixed, the VisualEditor has recently been deployed to 14 non-English Wikipedias so that users can become familiar with the editor. It was already been deployed to the English Wiki in December 2012. VisualEditor will eventually become the default editor for Wikipedia, and thus it is important that its current features are tested thoroughly. These tests can then be run as regression tests to make sure nothing breaks as more new features are deployed to VisualEditor in future phases. As the editor is finally stable enough to have automated tests written and run against it, now is a good time to set up test cases that confirm VisualEditor is working the way it should.

VisualEditor is a great target for tests because it matches the desired criteria exactly:  http://www.mediawiki.org/wiki/QA/Browser_testing#Rationale. VE should work in many browsers, is javascript-heavy; requires navigation to test properly; is likely to have regression issues, and is a critically important project.

Goals
To construct a battery of web automation tests for the thorough testing of VisualEditor. These would be Accepted Test Driven Development tests written in Cucumber and falling under the same framework as the currently running web automation tests. The Cucumber tests would be coded using Ruby Page Object Design, and then run under Jenkins.

Implementation

 * 1) Set up backlog of VE tests to write

Feature: VisualEditor Scenario:Edit user page Given I am on my user page on enwiki When I click the VisualEditor link Then I can edit using VE etc. etc. etc.

Test Vector skin to make sure VisualEditor works with it Test Monobook skin to make sure VisualEditor works with it

Consider open bugs https://bugzilla.wikimedia.org/buglist.cgi?list_id=179710&product=VisualEditor&query_format=advanced&resolution=---&resolution=LATER&resolution=DUPLICATE&order=bug_id%20DESC&query_based_on=

Past Open Source Experience
I have been volunteering at Wikipedia for the past 3 months in the Browser web automation area to gain more experience in QA automation, as well as to engage in working on Open Source. I have always been a supporter of free and open software, so I am really excited to be working with the Wikimedia Foundation. I have really enjoyed my time volunteering here. I have been mentored by Chris Mcmahon and Zeljko Fillipin as I have gone through the process of learning the environment at Mediawiki and then learning Cucumber and Ruby to write and code the test cases. I have done the test case for the SpecialNewsFeed feature and search feature in Cucumber, and have also coded the corresponding search.feature script in Ruby.

I have also learned how to use git and gerrit in order to contribute tests for Search that we are running right now.

Browser automation skills and experience are not specific to any given test target, so my contributions need not be limited to VisualEditor or Search or any other particular target, but VisualEditor is just a particularly good match for browser tests, and those tests do not exist right now. As VisualEditor testing is now becoming a higher priority, it seems like a good time for me to start writing tests for it.

About Me
I have a B.S in Mathematics combined with Computer Science from SUNY Albany and have over 20 years experience working in IT at various positions including Linux System Administration, Release Engineer, QA tester and Technical Support Engineer. I have always been interested in Quality Assurance, particularly in QA automation. I really enjoy coding and have done coding in Shell scripting, Perl, and Java throughout my career. I hope to pursue a career in QA automation in the future.