Selenium IDE Plugin: Remote Storage

Update: August 13th, 2010

Abstract: Remote storage will help Selenium users to use their tests in different places or just share them in testers crew without SVN or another repository usage.

My name: Aleksejs

Contact information: root@smallserver.org, +371 26803626, Riga Technical University, Software Engineering department

Experience: Master’s studies (expected graduation – this summer)

Background/motivation: I am interested in participating in this project because I like to create utilities on Java, I also like using Selenium to create a bunch of small, but annoying test suites and finally I would have an opportunity to help a really big community with something useful.

I have a lot of experience in developing on PHP and 3 years ago switched to Java. During my previous projects I have closely worked with HTTP (developed proxy-server from scratch), IRC (created IRC-services with Nick/Chan/Memo/Oper-servs) and RTMP (created accounting and billing system for video-translations using Red5 as base system) protocols, so I fully understand and imagine the upcoming system design. I also believe that participating in this project is a great opportunity for me to learn something new, because I like to work with Java and computers in general – those are the things I usually do for fun (what a coincidence).

I know a lot of people who use Selenium and have already suggested some ideas which I am able implement. For example:

  • How to execute the same test with some minor differences on two relevant system versions, so it would be convenient and clear?
  • How to visually compare two different stored test versions?
  • Is it really important to be able to store test results? If yes, then how? Store all results, or only parts of them? Or will it be better to be able to store only last test result (successful)?
  • How to compare test results for two different
    1. test systems?
    2. browsers?
    3. test suites?

All these and future requests from potential users and community suggestions will be evaluated and included to roadmap.

Project Summary: Remote storage creation for holding test suites and possibility to share them

Description: It is important to know community opinion, so first of all, different Selenium users will be asked about this feature and their needs (using IRC; selenium-users/developers mailing lists; friends). After opinion and idea gathering stage, all the information will be evaluated and sorted according to its relevance and priority, only then the “real coding” will take place. Most probably project will consist of 2 main goals – remote storage development and user front-end addition development.

Milestones:

Now       -  April 26 -- Getting familiar with different aspects of Selenium, interviewing people to define their needs and ideas about Remote storage
April 26  -    May 24 -- Summarizing gathered information, defining priorities for sub-goals, creating more precise timelines for each sub-goal
May 24    -   June 20 -- Server-side programming (4 weeks).
    First 2 weeks - API and protocol definition
    Second 2 weeks - Server software development
June 21   -   July 12 -- Firefox plugin add-on development (3 weeks).
    First week - Finding and aligning place in current plugin to implement changes
    Last two week – Add-on development, documentation writing
    Each week (for both, server-side and plugin):
    Defining task(s) for upcoming week (what will be done).
    Discussing possible flaws between initial goal and current development status.
    Checking if previous week’s work is compliant with early tasks (fine-tuning).
July 12   -   July 16 -- Submitting partial work to Google's committee for mid-term evaluation
    Main goal elaboration according to current work status
    Releasing partial project for alpha/beta-testing, gathering feedback, fixing issues
July 16   -  August 9 -- Coding and finishing project (4 weeks)
    First week - Continue to develop Firefox plugin
    Second 2 weeks - Finishing and improving anything that is left in project
    Last week - Documentation preparation
August 9  - August 16 --  Last fixes, preparation for submitting to Google
August 16 - August 20 --  Submitting to Google, waiting for results

Testing: Since main part of project will be written on Java, I’ll use JUnit framework for unit testing and I’ll create a client which will emulate Selenium IDE for network-related tests.

No comments yet.

TOP