Big guns
for the small guys
Drupalcamp London 2015
28th February 2015
Who am I?
Engineer
Drupaleer
class DrupalCore{
public function __construct() {
$this->god = new God();
}
public function hack() {
$this->god->kill_kitten();
}
}
class God {
public function kill_kitten() {
$shelter = new Shelter();
$lightninh = new Lightning();
$shelter->get_kitten->apply($lightning);
}
}
Geek father
http://media.boingboing.net/wp-content/uploads/2014/11/darth-vader-face.jpeg
http://media.boingboing.net/wp-content/uploads/2014/11/darth-vader-face.jpeg
Daft Vader
http://bronyman1995.deviantart.com/art/Darth-Vader-and-Rainbow-Dash-337777085
Rainbow dash!
Somethings I have done
Premises
1. Small team
2. Slow hardware
3. No cloud/IT
4. No $$$
Advice
1. Wear sunscreen
Disclaimer
Mostly back end...
The size of the gun is relative
We are not a panzer division
We are paratroopers
So let's choose the gun with the best value!
Myths
1. Bigger = faster
2. Bigger = better
3. You need CI
4. You need virtualization
5. Waiting for the perfect test is OK
(my) Truths
1. Small = lean
2. Small = weak
3. The smaller the client the peskier
4. Quality is about perception
5. You need tests
6. Humans make stuff as badly as possible,
but not worse
Processes
1. Do not multitask
2. Manage expectations
3. Lie to your PM/Client
4. Draw
5. Checklists
6. Workflows
7. Prepare
8. Do not allow others to dictate your professional dedication
9. Do not develop: assemble instead
10. Pay others to do what you do not master
11. Plan your work
What to test?
(Front end)
Back end
Unit tests
Code complexity
Functional testing
Do not let the front end ruin your functional testing
Smoke tests
Regression tests
Performance tests
When to test?
During development
On integration
Each release
And my config?
Choose carefully
Very carefully
What is config?
Features + Strongarm
Profile + code
Profile + forms
Deployment module
(update hooks)
Spreadsheet
Patterns
Selenium scripts
It must be run by your deployment script...
Drupal tools
Just one rule:
chose tools you will use
OMG!
New!
(x) Tools
Just one rule:
chose tools you will use


Links
http://www.ansible.com/home
http://robo.li/
https://getcomposer.org/
http://git-scm.com/
https://github.com/
http://phpqatools.org/
https://www.phptesting.org/
http://sismo.sensiolabs.org/
http://phpbrew.github.io/phpbrew/
http://aws.amazon.com/
https://www.loggly.com
https://www.drupal.org/project/logs_http
http://httpd.apache.org/docs/2.2/mod/mod_vhost_alias.html
http://www.thekelleys.org.uk/dnsmasq/doc.html
https://www.drupal.org/project/drush_recipes
https://www.drupal.org/project/drush_cleanup
http://www.drush.org/en/master/make/
https://www.drupal.org/project/feather
https://www.drupal.org/project/drush_hosts
https://www.drupal.org/project/drush_cache_bins
https://www.drupal.org/project/makefile_extra
https://www.drupal.org/project/fetcher
https://www.drupal.org/project/drulenium
https://www.drupal.org/project/patchfile
https://www.drupal.org/project/drush_drake
https://github.com/reload/drake_ci
https://www.drupal.org/project/rebuild
https://www.drupal.org/project/drush_remake
https://www.drupal.org/project/profiler_builder
https://www.drupal.org/project/environments
https://www.drupal.org/project/githook
http://www.seleniumhq.org/
https://saucelabs.com/
http://browsershots.org/
http://slimerjs.org/
http://phantomjs.org/
http://bbc-news.github.io/wraith/index.html
Thanks!
Jorge Lopez-Lago
Kurkuma
Big guns for the small guys
By kurkuma
Big guns for the small guys
- 114