Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Building Quality Magento Projects with Confidence

Building Quality Magento Projects with Confidence

In this technical session, we will look at how to you can create a project environment with tools and process to deliver Magento projects of the highest possible quality. We will explore the use of tools from other programming languages and some standard PHP tools customized for use with Magento. Based on recent experience we will identify the roles within a team that can help the team succeed in even the most high pressured and complex parts of a project. Using examples from large successful Magento projects we will look at some of the processes that can help a team deliver complex Magento projects of the highest standards.

Alistair Stead

April 25, 2012

More Decks by Alistair Stead

Other Decks in Technology


  1. Insert photo of speaker here 891 pixels h x 688

    pixels w Building Quality with Confidence and Magento Alistair Stead Technical Assurance Manager sessiondigital.com @alistairstead
  2. Session Digital is a UK based Gold Solutions partner focusing

    on large scale deployment and integration of Magento Enterprise solutions. Session have delivered technically complex solutions for many high profile brands in the UK and Europe: Dreams Kookai UK & France 3663 Warner Music International Smythson of Bond Street ACNE Studios Kurt Geiger Interflora
  3. Magento LOC Directories: 2851 Files: 7984 Lines of Code :

    1287442 Interfaces: 184 Classes: 7011 Methods: 41192 Anonymous Functions: 4 Functions: 31
  4. Repeatable State! Repeatable State Repeatable State Repeatable State Repeatable State

    Repeatable State Repeatable State Repeatable State Repeatable State Repeatable State Repeatable State Repeatable State
  5. I will describe a unit of work complete when: It

    meets the ..... requirement. It has ..... tests.
  6. /** * submittingForgotPasswordWithValidEmailReturnsSuccess * @author Alistair Stead * @group password

    * @test * */ public function submittingForgotPasswordWithValidEmailReturnsSuccess() { $this->request->setMethod('POST') ->setPost(array('email' => $this->email)); $this->dispatch('admin/index/forgotpassword/'); $this->assertQueryCount('li.success-msg', 1); $this->assertQueryContentContains('li.success-msg', 'A new password was sent to your email address. Please check your email and click Back to Login.'); // Test that the email contains the correct data $emailContent = $this->getResponseEmail() ->getBodyHtml() ->getContent(); // Overriding the response body to be able to use the standard content assertions $this->response->setBody($emailContent); // The email content addresses the fixture user $this->assertQueryContentContains('body', "Dear $this->firstName $this->lastName"); // The fixture users password has been changed $this->assertNotQueryContentContains('body', $this->password); } // submittingForgotPasswordWithValidEmailReturnsSuccess Static </code> Analysis
  7. Feature: Homepage In order to maximise site performance As a

    website user I need the homepage to be cached in the gateway cache Scenario: Visit the homepage Given I am on "/" And I reload the page Then the response status code should be 200 Then the response is a cache hit