Archived

How to create a continuous integration

From Joomla! Documentation

This page has been archived - Please Do Not Edit or Create Pages placed in this namespace. The pages in the Archived namespace exist only as a historical reference, it will not be improved and its content may be incomplete.

You want to know how to develop a continuous integration? This tutorial aims to guide you to achieve a functional result. If you need advice feel free to contact me: Rudy BRUNEAU.

Purpose of this operation

Continuous integration

Formalization by Martin Fowler and Kent Beck, 2000 « Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. »

« Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible. »

Indeed the continuous integration process will help to automate any changes made but also run unit tests. This process must be executed as frequently as possible in order to detect problems to solve them faster.

Unit Tests

The purpose of unit testing is to automate regression testing. When developing software, you can easily make modifications without realizing that they introduce bugs in some cases. This is called regression bugs, in that it introduces new bugs as a result of a functional outcome. Since it is not humanly possible to systematically test all possible use cases, these bugs can be found deployed in production, with all the problems that entails.

Web Tests

The tests are part of the web unit tests, but they do not check the non-regression of the code. They will check any changes directly on the web pages during the execution of continuous integration. Using Selenium IDE (Mozilla Firefox add-on) we can create and launch our web tests.

HOW ?

Before start, read this documentation. Using this material that I could build my continuous integration.Phing docs

<targetname="stopseleniumrc"><gettaskname="selenium-shutdown"src="http://localhost:4444/selenium-server/driver/?cmd=shutDown"dest="result.txt"ignoreerrors="true"/><echotaskname="selenium-shutdown"message="DGF Errors during shutdown are expected"/></target>

Step 5: How to run Web Tests

Web tests will be run using a php file called during Unit Tests.

Step 6: Make a report

The report is a xml file which be created after all tests to show errors, failures, and success. With Cruise Control and PhpUnderControl you will see all details of your continuous integration.