TDD with specific Languages

nutmegactΛογισμικό & κατασκευή λογ/κού

10 Νοε 2012 (πριν από 4 χρόνια και 1 μήνα)

161 εμφανίσεις


FINAL PROJECT : TDD


TDD with specific LANGUAGES

Eiffel, JAVA, C#, PHP


TDD with specific TECHINQUES

Web Services

DataBases

Enterprise Java Beans

Mocking

2


JAVA


NetBeans 5.5


C#

Visual Studio 2008


EIFFEL

EiffelStudio 6.1


PHP

SPECIFIC LANGUAGES

3


Develop an example

First a small one, later a medium one.

If it’s posible, a big one will be implemented.


Unit Test

Little tests for all the classes & methods


Try to develop in the opposite way

Focus on TDD, I’m going to write tests

and then generate code from them.

PHASES (For each language)

4


LITTLE EXAMPLE

Only a few classes. Easy application.

It will help me to understand language knowledge



MEDIUM EXAMPLE

Not to much classes, but enough to

integrate more than one goal in the same application



BIG EXAMPLE

DataBase access and mocking.

DIFERENT EXAMPLES

5


Mocking

Simulated object that mimic the real

object’s behaviour



Different languages


For JAVA : JMock, EasyMock


For C# : NMockLib, Rhino Mocks


For PHP : SimpleTest


MOCKING

6


First Steps


First of all, write a test. After that:

Write code that pass that test.


Refactoring

Clean code that works.


Repeat

As more test you write,

more closer you will be of the goal.

TEST DRIVEN DEVELOPMENT

7


TDD Stuff

Articles, examples and information about

TDD & Java/PHP/Eiffel read



JAVA


Language Learnt


JUnit Working


Little TDD mini
-
applications done




EIFFEL


Language almost learnt



WORK DONE

8


C#, Eiffel, PHP

Make more examples to understand the language.

Over all, PHP (Never studied before)



Database Access

How to handle a database in all languages



Mocking

Never done before



WORK TO DO

9

I have several difficulties to

understant de main goal of my work.


It’s hard for me to think about

suitable examples.


I only have a superficial idea about how TDD works,

and basic notions of a few languages


Not enough to know how can I make my job.

I don’t know how to ‘start’.

PROBLEMS