Difference between revisions of "Development"

From YouTestMe Wiki
Jump to navigation Jump to search
Line 54: Line 54:
 
   c:\Zoran\Development\youtestme\www_source\
 
   c:\Zoran\Development\youtestme\www_source\
  
== '''Test Data''' ==
+
=== '''Test Data''' ===
  
 
All test data have to be created in spreadsheets located here:
 
All test data have to be created in spreadsheets located here:
Line 68: Line 68:
 
Note that data created any other way (not through integrated process described below) will be lost every time database is refreshed.
 
Note that data created any other way (not through integrated process described below) will be lost every time database is refreshed.
  
There are great benefits of using standardized test data so please stick to the process. Be proactive and create or amend test data spreadsheets
+
There are great benefits of using standardized test data so please stick to the process. Be proactive and create or amend test data spreadsheets.
 +
 
 +
==== Database ====
 +
 
 +
Each developer should use their own database schema for development. This way conflict are avoided and development is much more efficient.
 +
 +
Do the following:
 +
 
 +
- Create your own scheme and implement data model and data in it by using shell scripts or Oracle database export file created from another scheme.
 +
 
 +
- If you are unfamiliar with database administration please ask somebody to do it for you.
 +
 
 +
For more detailed information make sure you read: [{{SERVER}}/youtestme/youtestmedoc/Development/YouTestMe%20Developer%20Manual.docx YTM Developer Manual]

Revision as of 06:49, 30 December 2014

Development Culture

Company strategy is establishing a highly efficient and productive culture by:

  • Automating all repetitive processes;
  • Establishing and documenting procedures for all common tasks;
  • Considering every task as a project and properly documenting it so anybody can take on that task at any given moment;
  • Adhering to company standards and policies.

Development Methodologies


GDAO – Generated Data Access Objects

http://www.mallocinc.com/

Agile Software Development

http://en.wikipedia.org/wiki/Agile_software_development Agile is just a “common sense” approach to development. This is just a guideline but not the rule. The key point is to be adaptable to current situation and requirements. Twelve principles underlie the Agile Manifesto:

  • Customer satisfaction by rapid delivery of useful software;
  • Welcome changing requirements, even late in development;
  • Working software is delivered frequently (weeks rather than months);
  • Working software is the principal measure of progress;
  • Sustainable development, able to maintain a constant pace;
  • Close, daily co-operation between business people and developers;
  • Face-to-face conversation is the best form of communication (co-location);
  • Projects are built around motivated individuals, who should be trusted;
  • Continuous attention to technical excellence and good design;
  • Simplicity- The art of maximizing the amount of work not done - is essential;
  • Self-organizing teams;
  • Regular adaptation to changing circumstances.

Development Policies

Development Environment

Project Root Directory

Create a “Root Development” directory:

 Example: C:\Zoran\Development
  • You should use your username as part of the root directory name because that computer could be used by several individuals.
  • Review all the code in that directory.

Your directory structure will look something like this (depending on the projects you checked out).

Imageytm1.png


For remote desktop computers which are used by more than one person, create a directory with your name and copy - paste the Development directory to the newly created directory. For example, instead of C:\Development, you should have C:\Zoran\Development. This policy is made so that conflicts are avoided while using SVN, since more than one person is using the virtual machine. Personal computers can be set in any way you like.

Files that start with “z” in “C:\Development” are utility DOS scripts that can help you checkout, update and commit files in multiple SVN Repositories. A list of all affected repositories is contained in the file named “projects.lst”. You should edit this file and keep only a list of repositories that you will be working on.

All “z” files and default “projects.lst” are in the archive zfiles.zip.

 “z” scripts in SVN: c:\Development\res\Scripts\SVN DOS Scripts\
Back End Source Code Location
 c:\Zoran\Development\youtestme\source\
Front End Source Code Location
 c:\Zoran\Development\youtestme\www_source\

Test Data

All test data have to be created in spreadsheets located here:

\youtestme\batch_source\test_data\excel\

Test data is loaded by Java program:

com.youtestme.loaders.excel.testdata.LoadAllTestData

Test data should always be generated through re-runnable programs, scripts, files, spreadsheet. The process should be executable in one step.

Note that data created any other way (not through integrated process described below) will be lost every time database is refreshed.

There are great benefits of using standardized test data so please stick to the process. Be proactive and create or amend test data spreadsheets.

Database

Each developer should use their own database schema for development. This way conflict are avoided and development is much more efficient.

Do the following:

- Create your own scheme and implement data model and data in it by using shell scripts or Oracle database export file created from another scheme.

- If you are unfamiliar with database administration please ask somebody to do it for you.

For more detailed information make sure you read: YTM Developer Manual