(Stephen): OK, thank you very much, Joy. And now our last presentation is by John Bickar. "The (Wo)man and the Machine: Automated Testing, User Stories, and Code Refactoring" John is a web developer in Stanford Web Services. He's been at Stanford since 2007, and with SWS since 2011. He is an active participant in the Drupallers community of practice. Now we thought that the story about Nancy being held hostage by the Russian Secret Service was frightening, this is even more frightening. John sported a handlebar mustache for a brief period in college, but because it was immortalized in his passport photo, people had look at it for 10 years. OK, take it away John. (John): Border patrol agents in all sorts of different countries... So how many software developers do we have in the room? It's cool, I'm a software developer too. You're going to notice a theme here. Tony's a little bit kinder than I am. Nobody cares about your code. Like I said, I'm a software developer. I write software that builds websites. I'm not a very good software developer that's not really the point. People use software to get things done. The reason we write software - that's why we do it - so that people can get things done. The people at this University they do great things They win Nobel Prizes. They cure cancer. They find solutions to big challenges When we stop them from doing great things, we've failed at our jobs As an example from everyday life: When I go to my bank 's website and I want to sell, or I go to my broker's website and I want to sell stocks, I'm going there to accomplish a task - I'm going there to sell stocks. If they roll out new features and functionality that breaks my ability to sell stocks, they've failed at their software that they're writing. What's that? Everybody's selling? If I go there and I want to buy, buy, buy, and the new features and functionality that they've rolled out break my ability to buy stocks they've failed at their jobs. Similarly if the new features and functionality that they rolled out don't work for me they've failed. The same thing with building websites. This is what my team does. We're a relatively new team, a relatively young shop web shop at Stanford. In our early days are method of QA and testing (QA is quality assurance) was quite manual, and so we would do manual testing of websites prior to launch. This led to tickets with names like "QA All the Things," and "QA All the Things 2". We had a sophisticated methodology that we used for QA that we referred to internally as "Linky Clicky". This was not sustainable. Enter Behat. Behat is a tool for automated testing for websites that operates under the principle of behavior driven development. What the heck does that mean? It means you write your user stories in plain English and then you build your software to those stories. Essentially you build until the tests pass. (This is the ideal state; we're not quite there yet.) But it also means that you can run these automated tests whenever you push code updates so that you ensure that the new functionality that you rolled out didn't break anything, and that your user stories remain intact. It also means that you know immediately when the tests fail. By extension it increases your confidence in large-scale code refactoring. If you have full test coverage and all your tests pass, your users are happy. We have a pretty large library of test coverage and it's growing everyday. And this is just one suite of tests. This suite of tests is what enabled us to roll out...deploy a critical security update to over 1400 websites within nine hours of it being announced to the world. So needless to say we're sold on Behat. I'm not sure if it was mentioned earlier but the slides are available on the lightning talk so you don't need to worry about these...you don't need worry about copying down these links. There's a link in the session on Behat on the session notes for the Behat session we did earlier on how to install it. And our tests are freely available. I'm going to jump to a live demo, but I just wanted point out that most of these are written for Drupal but they can serve an example for others. So it's live demo time. I'm going to do a Behat test of the IT Unconference website. I'm going to check the homepage for content, check the homepage for some headers and I'm going to check some user profile pages. Live demos are always scary. I'm going to run the homepage content, header content. Those pass. Boom. So I get my three scenarios, two pass, one failed. 14 steps 13 passed, 1 failed. What was the one that failed? So I look here on the listing of the people that are interested in Behat. My test was looking for two or more people and unfortunately only one poor soul is interested in Behat. So I hope next year that this test will pass Thank you, everyone! I hope you enjoyed your Unconference. (Stephen): So let's give one last round of applause for our brave lightning talk presenters.