Working methods

Login

Username:
Email:
Password:
Enter this line (Case sensitive):
to show that you are human:

Contact ZieglerSoft

Name:
Email:
Enter this line (Case sensitive):
to show that you are human:
Depending on the wishes of the client, and the nature of the job ahead, we are going to to use one or more method in programming the solution.

On this page, we are going to make a short description of some of these methods.
One of the most common methods, even though a lot exsist now, is circular design, which is shown in this diagram.



This method starts up with an analyze of the needs (This might be a really big part of the project).
The next part in the cycle is the design itself, thats matches the needs, found when analyzing.

The design goes through a testhe client, and changes are made.
Now we get to the programming itself, that are going to be followed by another test of the (nearly) done project.

Finally the product goes into production.

FRom here, it will be possible to restart the cycle with a new analyze (e.g. to make a second version of the product).

Unit Testing

Unit testing can be a part of TDD (Test Driven Development), but can also be used by itself, or as a part of the development.

UNIT TESTING is a type of software testing where individual units or components of a software are tested. The purpose is to validate that each unit of the software code performs as expected.

A unit may be an individual function, method, procedure, module, or object.

Unit tests help to fix bugs early in the development cycle and save costs.

It helps the developers to understand the code base and enables them to make changes quickly.

Good unit tests serve as project documentation.

Integration Testing

Integration testing is defined as a type of testing where software modules are integrated logically and tested as a group. A typical software project consists of multiple software modules, coded by different programmers.

The purpose of this level of testing is to expose defects in the interaction between these software modules when they are integrated.

A Module, in general, is designed by an individual software developer whose understanding and programming logic may differ from other programmers. Integration Testing becomes necessary to verify the software modules work in unity.

System Testing

System Testing is a level of testing that validates the complete and fully integrated software product.

The purpose of a system test is to evaluate the end-to-end system specifications.

Usually, the software is only one element of a larger computer-based system.

Ultimately, the software is interfaced with other software/hardware systems. System Testing is actually a series of different tests whose sole purpose is to exercise the full computer-based system.

TDD - Test Driven Development

A simple but highly effective way of programming. It consists of 3 steps:
  • Write a minimal test, which fails
  • Write the minimal code to fulfill the test
  • Refactor

Every time you have done a full circle, you start over again.

Logical errors in the code is easely found, and is easy to fix. A large package of good test, gives good ways of discovering, if a change makes errors in another module. A large package of tests gives better knowledge of the product, and therefore happier, and less stressed programmers.

Tests is a great way of documenting the code, because it gives advice on the use itself. It gives a great vue over the status of the code too.

BDD - Behavior Driven Development

An extension of TDD - Test Driven Development, is BDD - Behavior Driven Development.

In both TDD and BDD approaches, tests are written upfront before the actual code is written. Writing tests first helps predict the course of the development, which will ultimately prevent any cases being missed from the code or functionality.

In TDD, I don’t care much about the output. The only thing needed is to carry out the test in a particular way.

In BDD, I don’t mind how you come up with the output, only that the output has to be correct under the GIVEN condition.

BDD has the edge over TDD in this area. Since behavior in BDD is written in simple, descriptive English, the user of the software will be able to understand the tests and more quickly send their feedback.

Although we say BDD is a better approach, we must not forget that BDD has actually evolved from TDD, as a way to eliminate the shortfalls of TDD. So there is absolutely no harm in implementing both approaches – one to support the quality of the code the developer writes, and the other to support the behavior of the system defined by the product owner.
f    in    +45 9811 3772    DK  
Contact ZieglerSoft