wiki:BluePrint/Testing

Version 6 (modified by somayjain, 12 years ago) ( diff )

--

BluePrint: Quality Assurance

Introduction

This blueprint outlines the development of the automatic testing framework. This automatic testing framework will provide robust testing of the code-base and ensure proper maintenance of the code.

Whenever some changes are added in the current code, it has to be validated and tested upon with the integration with the other components of the code. So, this framework will provide this support.

With tests running on a scheduler, continuous testing can be done. This is important to Sahana, seeing the rapid movement of the code-base. Currently, Sahana has automatic test framework, whose details can be found here

Stakeholders

  • Developers - With an automatic testing framework setup, it will be relatively easier for the developers to test their changes in the code.
  • People who want to deploy Sahana - They would like to run the tests to ensure that the system is integrated well and ready for deployment.
  • Sahana as a service - Automated testing will provide Quality Assurance to it’s clients.

User Stories

  • Developers will run the test suite on making changes to the code to test if it works with the integration of the system. Developers may also see the test results mailed to the list to see the possible bugs introduced into the system.
  • People who want to deploy will run the test suite to check the functionality of the system.
  • The “bug marshalls” will review the test results mailed periodically by the CI Server and fix the bugs or log them.

Requirements

<Group requirements in subsections, e.g. etc.> <http://en.wikipedia.org/wiki/Requirements_analysis requirements> <Identify different types of requirements:>

Functional

  • Maintain the CI Server to run the tests periodically and send the results.
  • Automatically Create Dummy Data while testing.
  • Extend Role Tests (Currently is limited to the IFRC roles for RMS)
  • Run Selenium and Smoke tests in multiple templates with multiple user accounts. Ideally, these tests can be run against each and every template where the target functionality is available. For templates where the functionality is not available, the test should auto-deactivate.
  • Clearer Error Messages in a way that anyone can reproduce them.
  • The CI Server should catch failures in any template. So, it should run tests across templates and include the template name in the aggregated report.
  • Simplify Selenium Tests and make them easier to read and more robust.
  • Load Tests

Non-functional

http://en.wikipedia.org/wiki/Non-functional_requirements

Interoperability

Standards

System Constraints

Use-Cases

<Describe what the system does for different users> <Include diagrams where useful> Tip: a simple, fast and multi-platform tool to draw UML diagrams is UMLet (Java-based UML drawing tool).

Design

<Where relevant include alternative design options>

Data Model

(e.g. EER or class diagrams)

Workflows

<Diagrams or Pseudocode>

Site Map

<for User Interface solutions>

Wireframes

<for User Interface solutions>

Technologies

Implementation

<Leave open for a list of existing implementation of this solution in Sahana Eden:> <*a brief description of the implementation (date/time, name, design options chosen)> <*a link to the code> <*list of deployments of the implementation> <*links to case studies> <*short analysis of achievements/problems>

References

<Links to external resources>


BluePrint

Attachments (1)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.