Changes between Version 7 and Version 8 of BluePrint/Testing/TestSuite


Ignore:
Timestamp:
04/22/13 15:07:37 (9 years ago)
Author:
somayjain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • BluePrint/Testing/TestSuite

    v7 v8  
    3434=== Functional ===
    3535
     36==== CI Server ====
    3637*    Maintain the CI Server to run the tests periodically and send an aggregated report for all the templates via email.
    3738
     39*    Adapt tests to meet needs of evolving CI Server(SysAdmin/ContinuousIntegration). The tests should successfully run on the CI Server both locally and remotely.
     40
     41==== Selenium Tests ====
    3842*    Run Selenium Tests in multiple templates with multiple user accounts.
    3943
    40 *    Create an abstraction for the Selenium Tests so that they are easier to read, write tests and tests are more robust.
     44*    Create an abstraction for the Selenium Tests so that they are easier to read, write tests and the tests are more robust.
    4145
     46==== Role Tests ====
    4247*    Extend Role Tests to run on different templates(Currently is limited to the IFRC roles for RMS)
    4348
     49==== Smoke Tests ====
    4450*    Run Smoke tests in multiple templates.
    4551
     52==== Load Tests ====
    4653*    Load Tests : Will measure performance of Eden given the load under both normal and anticipated peak conditions.
    4754
     55==== General to all tests ====
    4856*    Clearer Error Messages in a way that anyone can reproduce them.
    49 
    50 *    Adapt tests to meet needs of evolving CI Server(SysAdmin/ContinuousIntegration). The tests should successfully run on the CI Server both locally and remotely. As mentioned before, it should then send the results via email.
    5157
    5258
     
    5763The tests should operate between multiple templates.
    5864
    59 === Standards ===
    60 
    61 === System Constraints ===
    62 
    6365== Design ==
    6466
    6567=== Workflows ===
    6668
     69==== CI Server ====
    6770
    68 * Given that Sahana is a web-based tool, Selenium tests should be made robust, easy to use. The main idea is to have a set of functions(create, search, report, edit) which will take the tablename, labels of the field and the record data as input. The Testsuite should automatically check the type of field(option, autocomplete, text, date, datetime, etc) being used in the current template and fill the form accordingly. With this, we can create a code-template which just needs to be copied, pasted and fed in the record when creating a new Selenium test. This will ensure that writing Selenium tests are as easy as giving a test case.
     71* The CI Server should fetch the latest code from github an
     72
     73* The CI Server should run all the test across templates on a daily basis both locally and remotely. For each test, it should include the template it is run on, test name and location. In case of failure of the test, it should include the traceback and the record details it was intended to work on also. It should send an aggregate report and a template specefic report for the bug marshalls and developers to investigate.
     74
     75==== Selenium Tests ====
     76
     77* Given that Sahana is a web-based tool, Selenium tests should be made robust, easy to use. The main idea is to '''have a set of functions(create, search, report, edit) which will take the tablename, labels of the field and the record data as input'''.
     78
     79* The Test suite should automatically check the type of field(option, autocomplete, text, date, datetime, etc) being used in the current template and fill the form accordingly. With this, we can create a code-template which just needs to be copied, pasted and fed in the record when creating a new Selenium test. This will ensure that writing Selenium tests are as easy as giving a test case.
    6980
    7081* So, the workflow of the developer will include running the unit tests to see if the new changes break anything and providing a Selenium test for the newly written module, which will be run in Continuous Integration.
     82
     83==== Role tests ====
    7184
    7285* The role tests currently run only on the IFRC template. The test suite should automatically generate data for multiple templates so that the role tests can be run on them as well.
     
    7689* The load tests will test the amount of load Eden can take under normal and peak conditions. So, the load tests should be divided into phases, with each phase incrementally increasing the number of users and requests. Features of Tsung can be used to do this effectively.
    7790
    78 * The CI Server should run all the test across templates on a daily basis both locally and remotely. For each test, it should include the template it is run on, test name and location. In case of failure of the test, it should include the traceback and the record details it was intended to work on also. It should send an aggregate report and a template specefic report for the bug marshalls and developers to investigate.
     91
    7992
    8093