← Back to team overview

openerp-expert-framework team mailing list archive

Re: why Tiny cannot make an OERPScenario clone, so please just use it!

 

Hello,

I think it's important to note that OERPScenario and Yaml allows to do
exactly the same things:

* both allows to call Python code. In yaml, you can do something like:
  !python
    self.search(cr, uid, ...)
    ...
* both allows to reuse preceeding tests. In OERPScenario you define
reuseable regex, in YAML you define anchor and aliases.

* both allows to write tests in two steps:
  1. a functional describe the test
  2. a developper code/implement the test
-> in yaml it's in one file, in OERPScenario it's in two files, linked
by regexes.

Here are the real difference:

1. OERPScenario is more based on code, whereas yaml is more based on
   data
2. As YAML is purely data, tests can be generated by the module
   recorder, in OERPScenario every test requires development (usualy
   quite simple, 2 lines of code) -> so no need to ask a developer
   to implement at all.
3. OERPScenario has a very clean and beautiful output, YAML has a text
   output, but not beautiful at all
4. OERPScenario is more complex to learn than YAML, which is just
   another way of encoding current .XML files of OpenERP
5. YAML is a uniq system for (demo) data and tests

> Non-devs people will NEVER EVER be able to write tests case in a
> technical way ! this is why someone smart invent the Gherkin syntax...
> With this, business people only care on the Scenario, tech people
> about coding it...

Yes, you can. Selenium does it.

We can also do it through the module recorder in OpenERP. Quite easy:
click on start recording, do all your operations, click on stop
recording and it gives you the yaml file. So, you don't need the tech
people to develop it.

With YAML, you can also do the same than in OERPScenario:

1. A non-dev write the tests case:

-
  Given I have created a partner named "Demour SA" with the following
addresses:
           | Luc  |
           | Marc |
-
    Then I expect the partner credit to be 0
-
    And when I change the partner name to "Demour sa"
-
    Then I expect the partner name to be "Demour sa"

2. The technical implements each test between each lines to finally get
this: http://piratepad.net/mATgKAXiac



I think we can speak hours to argue on both solutions. Both are good and
both have disadvantages and advantages. Here is my conclusions for our
company:

* We promote both
* In v5.0, OERPScenario is the only solution
* In future versions and trunk, YAML only will be used by our developers
  for demo data and tests

I suppose C2C and Rvalyi will use OERPScenario for v5 and trunk and
that's good. -> We will may be find twice as more bugs.





Both solutions may answer different needs:
1. As the editor, we have to take the easiest solution and fastest
   solution to develop tests, integrated in OpenERP
2. As an implementer, you probably need a clean output for your tests so
   that you can show them to your customers.


One thing is sure, let's stop this small fighting "You must use this,
not this one" or "This one is better". Let's just start promoting both.

Let's start another debate :)
  - do we also have to use selenium to test the client interface ?

thanks,


-- 
Fabien Pinckaers
CEO Tiny - OpenERP Editor
Chaussée de Namur 40
B-1367 Grand-Rosière
Belgium
Phone: +32.81.81.37.00
Fax: +32.81.73.35.01
Web: http://openerp.com

Great Achievements Start With Tiny Investments
  -- Marty, 2005



Follow ups

References