Closed miketierney closed 9 years ago
Hi Mike, I'm part of the Browser JS talk review committee. Thanks for your talk proposal! It would be great to know a little more detail about the solutions you'll talk about, and also about how this talk will build on talks from previous CascadiaJS years, for example "Making JavaScript Tests Fast, Easy, and Friendly" from http://2014.cascadiajs.com/. (Also, it looks like there's a small typo in your bio: "helps organize" -> "help organize") Thanks!
Hi @KatieK2, thanks for asking those questions (and spotting my typo; I've fixed that now).
My intent with this talk is to focus on walking through a practical example of using TDD to add to your testing suite from the outset (something Ryan touches on in his talk) by solving real-world problems (making XHR requests, dealing with third party libraries, etc). Too often discussions about getting started with TDD, and testing in general, focus on simple "Hello World" types of tests that don't often translate well to the more complicated scenarios that developers face while attempting to embrace testing.
My plan is to do this by leveraging a common front-end tech stack, building a simple application that has user input, fetching from a server, and uses other libraries to help with some common tasks. The specific tools I would be demonstrating would be Jasmine for the testing framework, Karma as the test runner, Angular as the JS app framework, and gulp as my task runner. I will, of course, mention alternates to each where relevant. My intent with this tool choice is not to start any sort of holy war or to proclaim one library as superior to another, but rather to focus on commonly used tools as a means of discussing the larger topic at hand.
I think this talk does well to build on the previous talks to which you refer by not only continuing the conversation but by also giving a practical example of the sorts of tests that can be used to build an application today.
@miketierney Cool, thanks! I do recommend that you update the main proposal body (the issue) because it's the only thing that - when we're reading and evaluating all 200 talks - everyone is guaranteed to see. ;)
@KatieK2 Thanks for the feedback; I'll get that updated.
Getting down and dirty with TDD
The story you'd like to tell
TDD (or Test Driven Development) is vital to creating stable, maintainable software. While just about anyone you speak with will agree that having tests are important, surprisingly few people are writing tests. Even fewer are using TDD as a process for building software.
This talk will focus on providing the tools necessary to get started writing tests to build high quality software. We'll build a very basic application with TDD, using modern tools and best practices to get you started by walking through a practical example of using TDD to add to your testing suite from the outset (something Ryan Roemer mentions in in his talk last year) by solving real-world problems (making XHR requests, dealing with third party libraries, etc). Too often discussions about getting started with TDD, and testing in general, focus on simple "Hello World" types of tests that don't translate well to the more complicated scenarios that developers face while attempting to embrace testing.
I will do this by leveraging a common front-end tech stack, building a simple application that has user input, fetching from a server, and uses other libraries to help with some common tasks. The specific tools to be used are Jasmine for the testing framework, Karma as the test runner, Angular as the JS app framework, and Gulp as my task runner. I will, of course, cover alternates to each where relevant; my intent with this tool choice is not to start any sort of debate or to proclaim one library as superior to another, but rather to focus on commonly used tools as a means of discussing the larger topic at hand. I think this talk does well to build on previous CascadiaJS talks by not only continuing the conversation around testing but by also giving a practical example of the sorts of tests that can be used to build an application today.
Speaker Bio
A dedicated user experience developer with nearly a decade of experience building complex web applications, I have worked with startups, colleges, and design agencies, always with a focus on creating quality interactive experiences. I am the Directory of UI Engineering at Intridea, a global design and development firm, where I work on creating engaging (and maintainable) user interfaces for a wide variety of clients.
I currently live in Seattle, WA, where I drink far too much coffee, run in the rain, enjoy spending time with my family, and help organize Refresh Seattle.