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


Ignore:
Timestamp:
04/22/13 15:59:27 (11 years ago)
Author:
somayjain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • BluePrint/Testing/TestSuite

    v8 v9  
    2727* People who want to deploy will run the test suite to check the functionality of the system.
    2828
    29 === Use Case Diagram ===
     29==== Use Case Diagram ====
    3030[[Image(Use case testing.png)]]
    3131
     
    5353*    Load Tests : Will measure performance of Eden given the load under both normal and anticipated peak conditions.
    5454
    55 ==== General to all tests ====
     55==== General To All Tests ====
    5656*    Clearer Error Messages in a way that anyone can reproduce them.
    5757
    58 
    59 === Non-functional ===
    60 
    61 === Interoperability ===
    62 
    63 The tests should operate between multiple templates.
    6458
    6559== Design ==
     
    6963==== CI Server ====
    7064
    71 * The CI Server should fetch the latest code from github an
     65* The CI Server should fetch the latest code from [https://github.com/flavour/eden/ Github Repository] and run the tests on the latest code fetched.
    7266
    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.
     67* The CI Server should run all the tests across templates on a daily basis both locally and remotely. It should save the aggregate report of the tests on the server and as well as mail it to the concerned people. People may also subscribe to receive the test results via email.
     68
     69* For each test, the report should include '''the template it is run on, test name and location of the test script in eden'''. In case of failure of the test, '''it should include the traceback and the record details it was intended to work on'''. In case the test passes, it should include the test name and the pass status of the test.
    7470
    7571==== Selenium Tests ====
     
    7773* 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'''.
    7874
    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.
     75* 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.
    8076
    8177* 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.
    8278
    83 ==== Role tests ====
     79* Command line arguments need to be passed to specify which browser the tests should run (Firefox and Chrome are already implemented)
    8480
    85 * 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.
     81==== Role Tests ====
     82
     83* The role tests are 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.
     84
     85==== Load Tests ====
     86* 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.
     87
     88==== Module Enabled or Disabled ====
    8689
    8790* To ensure that tests(role, selenium, smoke) work across templates and do not show false negatives when run on a different template, a check has to be made if the module it is to work on is enabled/disabled. If the module is disabled, then the test should automatically deactivate and an appropriate message should be included in the test report.
    88 
    89 * 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.
    90 
    91 
    9291
    9392